测试信息
测试商户信息
- 1.商户号:104001001
- 2.商户密钥: _bndqOD^
信用卡
信用卡支付
签名规则
为了确保数据在传输过程中不被篡改,系统要求您对支付参数数据进行签名,并将数据签名随同支付请求一起上送
MD5签名
- 系统所有接口签名方式都为MD5,具体的签名字段可参考每个接口的签名(sign)参数备注
- 验证签名,您可对字符串123456进行MD5签名,签名结果得到字符串E10ADC3949BA59ABBE56E057F20F883E,即可认为签名正确
- 签名规则:把所需要参与签名的字段按照给定的顺序进行拼接,然后进行MD5签名,把签名之后的字符串全部转换为大写
- 商户密钥在商户注册成功并审核通过之后再商户后台可获取到
业务流程
信用卡支付 2D支付流程
1、商户使用本接口文档提供的接口参数发起支付请求到Gold Pomelo系统
2、Gold Pomelo系统收到商户发起的支付请求后,进行一系列配置校验和风险控制校验之后上送到通道方完成授权处理
3、Gold Pomelo收到通道方返回支付结果后再同步返回到商户系统
4、商户系统根据收到的支付结果处理相关业务
信用卡支付 3D支付流程
1、商户使用本接口文档提供的接口参数发起支付请求到系统
2、系统收到商户发起的支付请求后,进行一系列配置校验和风险控制校验之后上送到通道方完成授权处理
3、收到通道方返回的支付链接地址后同步返回到商户系统
4、商户系统需重定向到该支付链接地址让用户进行3DS授权认证
5、用户3DS认证通过之后系统会收到通道方的支付结果通知,同时页面会跳转到商户发起支付请求中的returnUrl地址页面
6、收到支付结果通知之后会同步通道到商户系统
7、商户系统根据收到的支付结果处理相关业务
8、如果用户在30分钟内都没有进行3DS授权认证,则订单支付超时不能再进行3DS授权认证
请求参数
- 接口地址:
- 沙盒:https://sandbox.zephyrpay.co/payment
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求头参数:
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
referer |
否 |
String |
Referer |
256 |
当没有填写referer,网址默认从returnUrl里面获取并进行校验,如果填写了referer会优先判断referer,当referer校验失败时,不会再去校验returnUrl |
body参数
{
"tradeMerNo": 123455,
"merOrderNo": "1641972507000",
"currencyCode": "CNY",
"sourceAmount": "100.05",
"returnUrl": "http://baidu.com",
"sign": "9D6FDF4880B00B002B1F2AB61AE9A721",
"cardNo": "6011200081728932",
"cardExpireMonth": "06",
"cardExpireYear": "2020",
"cardSecurityCode": "361",
"billingFirstName": "三",
"billingLastName": "张",
"billingAddress1": "东方明珠",
"billingCity": "上海",
"billingState": "上海",
"billingCountry": "CN",
"billingZipCode": "200000",
"billingPhone": "13688888888",
"shippingFirstName": "三",
"shippingLastName": "张",
"shippingAddress1": "东方明珠",
"shippingCity": "上海",
"shippingState": "上海",
"shippingCountry": "CN",
"shippingZipCode": "200000",
"shippingPhone": "13688888888",
"userAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)",
"ipAddress": "116.235.134.86",
"browser": {
"acceptHeader": "/**",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
"language": "en",
"timeZoneOffset": 10,
"colorDepth": 10,
"screenHeight": 100,
"screenWidth": 1300,
"javaEnabled": true
},
"holderName": "test",
"productInfoList": [
{
"sku": "1",
"productName": "mac pro",
"price": "12000",
"quantity": "1"
},
{
"sku": "2",
"productName": "iphone13",
"price": "8000",
"quantity": "1"
}
]
}
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
可在商户后台注册获取 |
merOrderNo |
是 |
String |
商户订单号 |
32 |
每次下单时必须保持唯一,且每个商户订单号在1秒内只能提交一次 |
currencyCode |
是 |
String |
币种 |
3 |
|
sourceAmount |
是 |
String |
金额 |
12 |
保留两位小数 |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
notifyUrl |
否 |
String |
异步通知地址 |
512 |
3D支付时用来接收向商户推送支付结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名 |
cardNo |
是 |
String |
卡号 |
16 |
|
cardExpireMonth |
是 |
String |
卡有效期(月) |
2 |
|
cardExpireYear |
是 |
String |
卡有效期(年) |
4 |
|
cardSecurityCode |
是 |
String |
卡CVV2/CSC |
3 |
|
billingFirstName |
是 |
String |
账单人(名) |
50 |
|
billingLastName |
是 |
String |
账单人(姓) |
50 |
|
billingAddress1 |
是 |
String |
账单地址1 |
128 |
|
billingAddress2 |
否 |
String |
账单地址2 |
128 |
|
billingCity |
是 |
String |
账单城市 |
100 |
|
billingState |
是 |
String |
账单州/省 |
100 |
|
billingCountry |
是 |
String |
账单国家编码 |
2 |
参考国家编码表 |
billingZipCode |
是 |
String |
账单邮编 |
20 |
|
billingPhone |
是 |
String |
账单电话 |
20 |
|
billingEmail |
是 |
String |
账单邮箱 |
100 |
|
shippingFirstName |
是 |
String |
送货人(名) |
50 |
|
shippingLastName |
是 |
String |
送货人(姓) |
50 |
|
shippingAddress1 |
是 |
String |
送货地址1 |
128 |
|
shippingAddress2 |
否 |
String |
送货地址2 |
128 |
|
shippingCity |
是 |
String |
送货城市 |
100 |
|
shippingState |
是 |
String |
送货州/省 |
100 |
|
shippingCountry |
是 |
String |
送货国家编码 |
2 |
参考国家编码表 |
shippingZipCode |
是 |
String |
送货邮编 |
20 |
|
shippingPhone |
是 |
String |
送货电话 |
20 |
|
shippingEmail |
是 |
String |
送货邮箱 |
100 |
|
ipAddress |
是 |
String |
持卡人IP地址 |
64 |
|
productInfoList |
是 |
List |
商品列表 |
|
|
browser |
是 |
browser |
浏览器信息 |
|
|
holderName |
是 |
String |
持卡人姓名 |
|
|
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
sku |
是 |
String |
商品编号 |
64 |
|
productName |
是 |
String |
商品名称 |
128 |
|
price |
是 |
String |
商品单价 |
16 |
|
quantity |
是 |
String |
商品数量 |
16 |
|
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
acceptHeader |
是 |
String |
客户浏览器(Accept header) |
50 |
|
userAgent |
是 |
String |
客户浏览器(userAgent)字符串 |
128 |
|
language |
是 |
String |
客户浏览器语言设置 |
50 |
|
timeZoneOffset |
是 |
Interger |
UTC的时区偏移量 |
11 |
|
colorDepth |
是 |
Interger |
客户浏览器的颜色深度 |
11 |
|
screenHeight |
是 |
Interger |
客户浏览器的屏幕高度 |
11 |
|
screenWidth |
是 |
Interger |
客户浏览器的屏幕宽度 |
11 |
|
javaEnabled |
是 |
Interger |
客户浏览器中是否启用了Javascript |
true |
|
请求示例
public class Test {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeMerNo", "123455");
jsonObject.put("merOrderNo", "1641972507000");
jsonObject.put("currencyCode", "CNY");
//.....除签名(sign)以外的所有的body参数
//签名
String sign = MD5(tradeMerNo + merOrderNo + currencyCode + sourceAmount + 商户密钥);
jsonObject.put("sign", sign.toUpperCase());
String url = "https://sandbox.zephyrpay.co/payment";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if (status == HttpStatus.HTTP_OK) {
String content = httpResponse.body();
}
}
}
响应参数
2D 响应成功示例
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02204201926015340",
"merOrderNo": "1650453961070",
"payCode": 0,
"payUrl": null,
"payDesc": "success",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "2345D858E5326A6E1747314E658760A9"
}
}
3D 响应成功示例
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02204201930225414",
"merOrderNo": "1650454222321",
"payCode": 2,
"payUrl": "https://test.allinpayhk.com/pay-web-h5/cnp_pay/directCashier?accessCode=85200162&mchtId=852999952110013&accessOrderId=DZ02204201930225414",
"payDesc": "Please redirect to payUrl",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "4B91E93FD32245B600D8780D5C26A0EB"
}
}
响应失败示例
{
"code": "10004",
"message": "商户号不存在"
}
参数名 |
必填 |
类型 |
说明 |
code |
是 |
String |
错误码(参考错误码表) |
message |
是 |
String |
错误描述 |
data |
否 |
T |
请求响应数据 |
参数名 |
必填 |
类型 |
说明 |
tradeNo |
是 |
String |
交易流水号 |
payCode |
是 |
Integer |
支付状态码(0:支付成功 1:支付失败 2:支付处理中(对于3D支付时有效)) |
payUrl |
否 |
String |
3D支付时该参数为必填项(需商户重定向到该链接) |
merOrderNo |
是 |
String |
商户订单号 |
payDesc |
否 |
String |
支付信息描述 |
sourceAmount |
是 |
String |
原始金额 |
currencyCode |
是 |
String |
原始币种 |
tradeMerNo |
是 |
String |
交易商户号 |
sign |
是 |
String |
签名 (tradeMerNo、merOrderNo、currencyCode、sourceAmount、payCode、Merchant key) 详细参照: 签名 |
billAddress |
否 |
String |
账单地址描述符 |
同步跳转
商户持卡人在完成支付后会重定向到支付时传递的returnUrl地址上,重定向时会带上订单的相关信息。
注意:重定向携带的字段中表示订单支付状态的字段不表示最终的支付成功与否。
2D:实时返回最终是否支付成功标识
3D:异步通知最终是否支付成功标识
请求参数
参数名 |
必填 |
类型 |
说明 |
tradeMerNo |
是 |
Integer |
商户号 |
tradeNo |
是 |
String |
交易流水号 |
merOrderNo |
是 |
String |
商户订单号 |
sourceAmount |
是 |
String |
原始金额 |
sourceCurrency |
是 |
String |
原始币种 |
succeed |
是 |
Integer |
支付成功标识(0:失败 1:成功) |
resultMessage |
是 |
String |
支付结果描述 |
responseType |
是 |
String |
支付类型(默认:payment) |
remark |
否 |
String |
备注 |
3D异步通知
- 如果支付时没有传递notifyUrl参数,则通道方通知到后,不会通知到商户系统
- 如果商户系统接收通知后没有返回SUCCESS(区分大小写)
字符串,会认为商户系统没有收到通知,会在第1,2,4,8,16,32,64,128分钟之后再次发起通知,总共会发起9次通知,如果商户系统在9次通知中都没有返回SUCCESS,则不会再发起通知。
请求参数
请求body参数
{
"tradeNo": "DZ2201111806024151",
"merOrderNo": "1641972507000",
"payCode": "0",
"payDesc": "成功",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "4B91E93FD32245B600D8780D5C26A0EB"
}
请求示例
public class Test {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeNo", "DZ2201111806024151");
jsonObject.put("merOrderNo", "1641972507000");
jsonObject.put("payCode", "0000");
jsonObject.put("payDesc", "成功");
jsonObject.put("sourceAmount", "1");
jsonObject.put("currencyCode", "HKD");
jsonObject.put("tradeMerNo", 104001001);
jsonObject.put("sign", "4B91E93FD32245B600D8780D5C26A0EB");
String url = "支付时传递的notifyUrl参数地址";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if (status == HttpStatus.HTTP_OK) {
String content = httpResponse.body();
if ("SUCCESS".equals(content)) {
//通知成功
} else {
//通知失败
}
} else {
//通知失败
}
}
}
- 请求地址:支付时传递的notifyUrl参数地址
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求参数:
参数名 |
必填 |
类型 |
说明 |
tradeNo |
是 |
String |
交易流水号 |
merOrderNo |
是 |
String |
商户订单号 |
payCode |
是 |
Integer |
支付结果码(0:支付成功 1:支付失败) |
payDesc |
是 |
String |
支付结果描述 |
sourceAmount |
是 |
String |
原始金额 |
currencyCode |
是 |
String |
原始币种 |
tradeMerNo |
是 |
String |
交易商户号 |
sign |
是 |
String |
签名 (tradeMerNo、merOrderNo、currencyCode、sourceAmount、payCode、Merchant key) 详细参照: 签名 |
收银台 支付
请求参数
- 接口地址:
- 沙盒:https://sandbox.zephyrpay.co/payment
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求头参数1:
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
referer |
否 |
String |
Referer |
|
当没有填写referer,网址默认从returnUrl里面获取并进行校验,如果填写了referer会优先判断referer,当referer校验失败时,不会再去校验returnUrl |
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
paymentType |
是 |
String |
Headers |
|
WEB |
body参数
{
"tradeMerNo": 123455,
"merOrderNo": "1641972507000",
"currencyCode": "CNY",
"sourceAmount": "100.05",
"returnUrl": "http://baidu.com",
"sign": "9D6FDF4880B00B002B1F2AB61AE9A721",
"billingFirstName": "三",
"billingLastName": "张",
"billingAddress1": "东方明珠",
"billingCity": "上海",
"billingState": "上海",
"billingCountry": "CN",
"billingZipCode": "200000",
"billingPhone": "13688888888",
"shippingFirstName": "三",
"shippingLastName": "张",
"shippingAddress1": "东方明珠",
"shippingCity": "上海",
"shippingState": "上海",
"shippingCountry": "CN",
"shippingZipCode": "200000",
"shippingPhone": "13688888888",
"userAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)",
"ipAddress": "116.235.134.86",
"holderName": "LI SI",
"productInfoList": [
{
"sku": "1",
"productName": "mac pro",
"price": "12000",
"quantity": "1"
},
{
"sku": "2",
"productName": "iphone13",
"price": "8000",
"quantity": "1"
}
]
}
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
可在商户后台注册获取 |
merOrderNo |
是 |
String |
商户订单号 |
32 |
每次下单时必须保持唯一,且每个商户订单号在1秒内只能提交一次 |
currencyCode |
是 |
String |
币种 |
3 |
|
sourceAmount |
是 |
String |
金额 |
12 |
保留两位小数 |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
notifyUrl |
否 |
String |
异步通知地址 |
512 |
3D支付时用来接收向商户推送支付结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名 |
method |
是 |
String |
CreditCard |
|
|
billingFirstName |
是 |
String |
账单人(名) |
50 |
|
billingLastName |
是 |
String |
账单人(姓) |
50 |
|
billingAddress1 |
是 |
String |
账单地址1 |
128 |
|
billingAddress2 |
否 |
String |
账单地址2 |
128 |
|
billingCity |
是 |
String |
账单城市 |
100 |
|
billingState |
是 |
String |
账单州/省 |
100 |
|
billingCountry |
是 |
String |
账单国家编码 |
2 |
参考国家编码表 |
billingZipCode |
是 |
String |
账单邮编 |
20 |
|
billingPhone |
是 |
String |
账单电话 |
20 |
|
billingEmail |
是 |
String |
账单邮箱 |
100 |
|
shippingFirstName |
是 |
String |
送货人(名) |
50 |
|
shippingLastName |
是 |
String |
送货人(姓) |
50 |
|
shippingAddress1 |
是 |
String |
送货地址1 |
128 |
|
shippingAddress2 |
否 |
String |
送货地址2 |
128 |
|
shippingCity |
是 |
String |
送货城市 |
100 |
|
shippingState |
是 |
String |
送货州/省 |
100 |
|
shippingCountry |
是 |
String |
送货国家编码 |
2 |
参考国家编码表 |
shippingZipCode |
是 |
String |
送货邮编 |
20 |
|
shippingPhone |
是 |
String |
送货电话 |
20 |
|
shippingEmail |
是 |
String |
送货邮箱 |
100 |
|
userAgent |
是 |
String |
持卡人浏览器UserAgent |
128 |
|
ipAddress |
是 |
String |
持卡人IP地址 |
64 |
|
holderName |
是 |
String |
持卡人姓名 |
|
|
productInfoList |
是 |
List |
商品列表 |
|
|
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
sku |
是 |
String |
商品编号 |
64 |
|
productName |
是 |
String |
商品名称 |
128 |
|
price |
是 |
String |
商品单价 |
16 |
|
quantity |
是 |
String |
商品数量 |
16 |
|
请求示例
public class Test {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeMerNo", "123455");
jsonObject.put("merOrderNo", "1641972507000");
jsonObject.put("currencyCode", "CNY");
//.....除签名(sign)以外的所有的body参数
//签名
String sign = MD5(tradeMerNo + merOrderNo + currencyCode + sourceAmount + 商户密钥);
jsonObject.put("sign", sign.toUpperCase());
String url = "https://sandbox.zephyrpay.co/checkout";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if (status == HttpStatus.HTTP_OK) {
String content = httpResponse.body();
}
}
}
响应参数
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02204201930225414",
"merOrderNo": "1650454222321",
"payCode": 2,
"payUrl": "https://sandbox.zephyrpay.co/checkstand?1040010011650430378462",
"payDesc": "Please redirect to payUrl",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "4B91E93FD32245B600D8780D5C26A0EB"
}
}
响应失败示例
{
"code": "10004",
"message": "商户号不存在"
}
参数名 |
必填 |
类型 |
说明 |
code |
是 |
String |
错误码(参考错误码表) |
message |
是 |
String |
错误描述 |
data |
否 |
T |
请求响应数据 |
参数名 |
必填 |
类型 |
说明 |
merOrderNo |
是 |
String |
商户订单号 |
cashierUrl |
否 |
String |
收银台支付时该参数为必填项(需商户重定向到该链接) |
退款接口
请求参数
{
"tradeMerNo":"104001001",
"merOrderNo":"1748423197378",
"sourceAmount":"10",
"currencyCode":"USD",
"tradeNo":"DZ02505281706384187",
"sign":"8F8BD06CF15FD9E47EF8211CEC2BF017",
"notifyUrl":"https://www.test.com",
"reason":"other"
}
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
可在商户后台注册获取 |
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
sourceAmount |
是 |
String |
金额 |
12 |
保留两位小数 |
currencyCode |
是 |
String |
金额 |
3 |
币种 |
notifyUrl |
否 |
String |
异步通知地址 |
512 |
用来接收PomeloPay向商户推送退款结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode,sourceAmount、tradeNo、商户秘钥),详情请参阅:签名 |
tradeNo |
是 |
String |
交易流水号 |
50 |
商家支付时平台生成的订单号 |
reason |
否 |
String |
原因 |
50 |
|
public class Test{
public static void main(String[] args){
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeMerNo", "123455");
jsonObject.put("merOrderNo", "1641972507000");
//.....除签名(sign)以外的所有的body参数
//签名
String sign = MD5(merNo+merOrderNo+amount+tradeNo+商户密钥);
jsonObject.put("sign", sign.toUpperCase());
String url = "https://sandbox.zephyrpay.co/open/refund";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if(status == HttpStatus.HTTP_OK){
String content = httpResponse.body();
}
}
}
响应参数
响应成功示例
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02505281706384187",
"merOrderNo": "1748423197378",
"payCode": 2,
"payDesc": "pending",
"sourceAmount": "74.01",
"currencyCode": "USD",
"tradeMerNo": 104001001,
"sign": "8F8BD06CF15FD9E47EF8211CEC2BF017",
"rfTransNo": "RF02505281707485831"
}
}
响应失败示例
{
"code": "10004",
"message": "商户号不存在"
}
参数名 |
必填 |
类型 |
说明 |
code |
是 |
String |
业务状态码(参考业务状态码) |
message |
是 |
String |
业务请求状态描述 |
data |
否 |
T |
请求响应数据 |
参数名 |
必填 |
类型 |
说明 |
rfTransNo |
是 |
String |
退款申请成功生成的唯一ID |
tradeNo |
是 |
String |
交易生成的唯一订单号 |
tradeMerNo |
是 |
String |
申请商户号 |
merOrderNo |
是 |
String |
商户订单号 |
sourceAmount |
是 |
String |
退款金额 |
currencyCode |
是 |
String |
退款币种 |
payCode |
是 |
int |
返回码 |
payDesc |
是 |
String |
描述 |
sign |
是 |
String |
(tradeMerNo、merOrderNo、currencyCode,sourceAmount、商户秘钥),详情请参阅:签名 |
退款异步通知
- 如果退款时没有传递notifyUrl参数,则通道方通知到PomeloPay后,PomeloPay不会通知到商户系统
- 如果商户系统接收到PomeloPay通知后没有返回SUCCESS(区分大小写)字符串,PomeloPay会认为商户系统没有收到通知,PomeloPay会在第1,2,4,8,16,32,64,128分钟之后再次发起通知,PomeloPay总共会发起9次通知,如果商户系统在9次通知中都没有返回SUCCESS,则PomeloPay不会再发起通知。
请求参数
请求body参数
{
"tradeNo": "DZ2201111806024151",
"merOrderNo": "1641972507000",
"refundNo": "1641972507000",
"state": "0",
"message": "SUCCESS",
"refundAmount": "10",
"refundCurrency": "CNY"
}
请求示例
public class Test{
public static void main(String[] args){
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeNo", "DZ2201111806024151");
jsonObject.put("merOrderNo", "1641972507000");
jsonObject.put("refundNo", "2334543543534");
jsonObject.put("code", "0000");
jsonObject.put("message", "SUCCESS");
jsonObject.put("refundAmount", "10");
jsonObject.put("refundCurrency", "CNY");
String url = "退款时传递的notifyUrl参数地址";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if(status == HttpStatus.HTTP_OK){
String content = httpResponse.body();
if("SUCCESS".equals(content)){
//通知成功
} else{
//通知失败
}
} else{
//通知失败
}
}
}
- 请求地址:退款时传递的notifyUrl参数地址
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求参数:
参数名 |
必填 |
类型 |
说明 |
tradeNo |
是 |
String |
交易流水号 |
merOrderNo |
是 |
String |
商户订单号 |
refundNo |
是 |
String |
向PomeloPay发起退款生成的唯一退款号 |
state |
是 |
Integer |
0 退款成功 1 退款失败 |
message |
是 |
String |
退款结果描述 |
refundAmount |
是 |
String |
退款金额 |
refundCurrency |
是 |
String |
退款币种 |
查询接口
请求参数
- 请求地址:
- 沙盒:https://sandbox.zephyrpay.co/order/query
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求参数:
退款查询请求参数
{
"merNo":"104001001",
"merOrderNo":"asdfghjkl",
"version":"V3.0.0",
"sign":"9D6FDF4880B00B002B1F2AB61AE9A721",
"queryType":"refund",
"tradeNo": "DZ13576867867",
"refundNo": "1232324324"
}
交易订单查询请求参数
{
"merNo":"104001001",
"merOrderNo":"asdfghjkl",
"version":"V3.0.0",
"sign":"9D6FDF4880B00B002B1F2AB61AE9A721",
"tradeNo": "DZ13576867867",
"queryType":"sales"
}
参数名 |
必填 |
类型 |
说明 |
长度 |
备注 |
merNo |
是 |
Integer |
商户号 |
10 |
可在商户后台注册获取 |
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
sign |
是 |
String |
签名 |
32 |
(merNo、merOrderNo、tradeNo、queryType、商户秘钥) 详细查看:签名 |
version |
是 |
String |
版本号 |
6 |
默认:V3.0.0 |
tradeNo |
否 |
String |
交易流水号 |
50 |
当queryType为refund时 必传 |
queryType |
是 |
String |
查询类型 |
16 |
退款查询:refund 交易订单查询:sales |
refundNo |
否 |
String |
系统生成的唯一退款号 |
50 |
退款查询必传 |
请求示例
public class Test{
public static void main(String[] args){
JSONObject jsonObject = new JSONObject();
jsonObject.put("merNo", "123455");
jsonObject.put("merOrderNo", "1641972507000");
//.....除签名(sign)以外的所有的body参数
//签名
String sign = MD5(merNo+merOrderNo+tradeNo+queryType+商户秘钥);
jsonObject.put("sign", sign.toUpperCase());
String url = "https://sandbox.zephyrpay.co/order/query";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if(status == HttpStatus.HTTP_OK){
String content = httpResponse.body();
}
}
}
响应参数
交易查询响应成功示例
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ2202101809494673",
"merOrderNo": "1644487789447",
"merNo": 104001002,
"state": "3"
}
}
退款查询响应成功示例
json
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ2202101809494673",
"merOrderNo": "1644487789447",
"refundNo": "202202101820320002",
"merNo": 104001002,
"refundCurrency": "CNY",
"state": "6",
"refundAmount": "5.00"
}
}
响应失败示例
{
"code": "10004",
"message": "商户号不存在"
}
参数名 |
必填 |
类型 |
说明 |
code |
是 |
String |
业务状态码(参考业务状态码) |
message |
是 |
String |
业务请求状态描述 |
data |
否 |
T |
请求响应数据 |
参数名 |
必填 |
类型 |
说明 |
state |
是 |
Integer |
4 退款处理中 5 退款失败 6 退款成功 |
refundNo |
是 |
String |
|
refundAmount |
是 |
String |
|
refundCurrency |
是 |
String |
|
tradeNo |
是 |
String |
|
merNo |
是 |
String |
|
merOrderNo |
是 |
String |
|
参数名 |
必填 |
类型 |
说明 |
state |
是 |
Integer |
1 交易预处理 2 交易失败 3 交易成功 |
tradeNo |
是 |
String |
|
merNo |
是 |
String |
|
merOrderNo |
是 |
String |
|
错误码
状态码 |
描述 |
00000 |
SUCCESS |
10000 |
支付方式不能为空 |
10001 |
支付方式不存在 |
10002 |
参数不能为空 |
10003 |
同一个商户号的同一个订单的相同时间内不能重复提交 |
10004 |
商户号不存在 |
10005 |
商户未激活 |
10006 |
referer不能为空 |
10007 |
来源网址不符合相关规定 |
10008 |
商户网址限定 |
10009 |
商户订单号重复 |
10010 |
商户未设置交易币种 |
10011 |
通道未开通 |
10012 |
卡种未绑定 |
10013 |
银行不存在 |
10014 |
币种转换汇率不存在 |
10015 |
签名错误 |
10016 |
超出每日交易笔数限制 |
10017 |
超出每月交易笔数限制 |
10018 |
币种不能为空 |
10019 |
币种未开通或币种传入有误 |
10020 |
不存在单笔交易限额 |
10021 |
不存在每日交易限额 |
10022 |
不存在每月交易限额 |
10023 |
商户达到单笔交易上限 |
10024 |
商户达到每日交易上限 |
10025 |
商户达到每月交易上限 |
10026 |
交易不存在或无法匹配原始交易 |
10027 |
订单未确认 |
10028 |
订单已在退款处理中 |
10029 |
退款金额不足 |
10031 |
查询类型不存在 |
10032 |
无法识别的卡类型 |
10033 |
商户未设置卡种扣率 |
10034 |
商户未设置保证金扣率 |
10035 |
所有额度已用完 |
10036 |
通道被禁用 |
10037 |
暂不支持该卡交易 |
10038 |
成功次数限制 |
10039 |
失败次数超过设定最大允许失败次数(持卡人) |
10040 |
阻止规则阻止 |
10141 |
卡号黑名单阻止 |
10142 |
IP黑名单阻止 |
10143 |
邮箱黑名单阻止 |
10144 |
电话黑名单阻止 |
10042 |
元素限定 |
99994 |
请求方式不正确 |
99995 |
支付渠道连接超时 |
99996 |
数据类型转换异常 |
99997 |
参数缺失或不符合限制条件 |
99998 |
渠道支付失败 |
99999 |
系统异常 |
APM
PayIn
Request Base URL
Test Environment : https://sandbox.zephyrpay.co
Prod Environment : https://payment.zephyrpay.co
EndPoints
/payment
Request Header
Parameter |
Required |
Value |
说明 |
paymentCountry |
是 |
ISO-3 |
3位国家码 |
paymentType |
是 |
API/WEB |
paymentType = API 时 CreditCard 直连 |
China
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
China |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Vietnam
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Vietnam |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Philippines
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Philippines |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Brazil
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Brazil |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Mexico
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Mexico |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Colombia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Colombia |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Chile
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Chile |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Argentina
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Argentina |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Peru
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Peru |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Ecuador
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Ecuador |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Guatemala
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Guatemala |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Panama
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Panama |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Bolivia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Bolivia |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Costa Rica
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Costa Rica |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
El Salvador
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
|
|
|
|
|
|
Paraguay
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Uruguay
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Indonesia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Indonesia |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
South Korea
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
South Korea |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
United Arab Emirates
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
United Arab Emirates |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Singapore
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Singapore |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Malaysia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Malaysia |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Thailand
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Thailand |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Taiwan
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Taiwan |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Kazakhstan
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Kazakhstan |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Uzbekistan
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Uzbekistan |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Turkey
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Turkey |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Bahrain
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Bahrain |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Egypt
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Egypt |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Kuwait
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Kuwait |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Oman
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Oman |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Qatar
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Qatar |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Saudi Arabia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Saudi Arabia |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Hong Kong
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
Hong Kong |
walletType |
method=Wallet时必填 |
String |
|
|
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
Russia
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
|
method |
是 |
String |
支付方式 |
50 |
|
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
sign |
是 |
String |
签名 |
32 |
|
India
PayIn
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
INR |
sourceAmount |
是 |
String |
金额 |
|
金额 |
method |
是 |
String |
支付方式 |
50 |
checkout |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
holderName |
否 |
String |
姓名 |
100 |
|
billingEmail |
否 |
String |
邮箱 |
50 |
|
billingPhone |
否 |
String |
电话 |
50 |
|
notifyUrl |
否 |
String |
异步通知地址 |
512 |
支付时用来接收向商户推送支付结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名 |
UTR补单
EndPoints
/utr/reconciliation
Method
POST
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
tradeNo |
是 |
String |
订单流水号 |
32 |
|
utr |
是 |
String |
utr |
32 |
|
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、tradeNo、Merchant key) 详细参照: 签名 |
Response Body (JSON format)
Parameter name |
Required |
Type |
Explain |
code |
Yes |
String |
error code(Refer to the error code table) |
message |
Yes |
String |
error description |
data |
No |
T |
Request response data |
- Return Parameters description
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
payCode |
Yes |
Integer |
Payment status code(Where: 1 means payment failure, 2 means pending) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
payDesc |
No |
String |
Payment message description |
tradeMerNo |
Yes |
String |
Unique identifier assigned to the merchant by the payment platform when registering with |
sign |
Yes |
String |
(tradeMerNo、merOrderNo、tradeNo,payCode、Merchant key) 详细参照: 签名 |
Response Success Example
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02505211738097928",
"merOrderNo": "1747820289440",
"payCode": 2,
"payDesc": "pending",
"tradeMerNo": 104001001,
"sign": "39DC73CE8725201CF8733C7C23133802"
}
}
Response Failure Example 1
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02505211738097928",
"merOrderNo": "1747820289440",
"payCode": 1,
"payDesc": "Failed",
"tradeMerNo": 104001001,
"sign": "39DC73CE8725201CF8733C7C23133802"
}
}
Response Failure Example 2
{
"code": "10004",
"message": "The merchant number does not exist"
}
USA
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
可在商户后台注册获取 |
merOrderNo |
是 |
String |
商户订单号 |
32 |
每次下单时必须保持唯一,且每个商户订单号在1秒内只能提交一次 |
currencyCode |
是 |
String |
币种 |
3 |
USD |
sourceAmount |
是 |
String |
金额 |
12 |
保留两位小数 |
method |
是 |
String |
支付方式 |
|
USA |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
notifyUrl |
否 |
String |
异步通知地址 |
512 |
支付时用来接收向商户推送支付结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名 |
cardNo |
否 |
String |
卡号 |
16 |
|
cardExpireMonth |
否 |
String |
卡有效期(月) |
2 |
|
cardExpireYear |
否 |
String |
卡有效期(年) |
4 |
|
cardSecurityCode |
否 |
String |
卡CVV2/CSC |
3 |
|
billingFirstName |
是 |
String |
账单人(名) |
50 |
|
billingLastName |
是 |
String |
账单人(姓) |
50 |
|
billingAddress1 |
是 |
String |
账单地址1 |
128 |
|
billingAddress2 |
否 |
String |
账单地址2 |
128 |
|
billingCity |
是 |
String |
账单城市 |
100 |
New York |
billingState |
是 |
String |
账单州/省 |
100 |
NY |
billingCountry |
是 |
String |
账单国家编码 |
2 |
参考国家编码表 US |
billingZipCode |
是 |
String |
账单邮编 |
20 |
|
billingPhone |
是 |
String |
账单电话 |
20 |
|
billingEmail |
是 |
String |
账单邮箱 |
100 |
|
shippingFirstName |
是 |
String |
送货人(名) |
50 |
|
shippingLastName |
是 |
String |
送货人(姓) |
50 |
|
shippingAddress1 |
是 |
String |
送货地址1 |
128 |
|
shippingAddress2 |
否 |
String |
送货地址2 |
128 |
|
shippingCity |
是 |
String |
送货城市 |
100 |
|
shippingState |
是 |
String |
送货州/省 |
100 |
|
shippingCountry |
是 |
String |
送货国家编码 |
2 |
参考国家编码表 US |
shippingZipCode |
是 |
String |
送货邮编 |
20 |
|
shippingPhone |
是 |
String |
送货电话 |
20 |
|
shippingEmail |
是 |
String |
送货邮箱 |
100 |
|
ipAddress |
是 |
String |
持卡人IP地址 |
64 |
|
productInfoList |
否 |
List |
商品列表 |
|
|
browser |
否 |
browser |
浏览器信息 |
|
|
holderName |
是 |
String |
持卡人姓名 |
|
|
Parameter |
Required |
Type |
Description |
Length |
Remark |
sku |
是 |
String |
商品编号 |
64 |
|
productName |
是 |
String |
商品名称 |
128 |
|
price |
是 |
String |
商品单价 |
16 |
|
quantity |
是 |
String |
商品数量 |
16 |
|
- Browser's Parameters Required
Parameter |
Required |
Type |
Description |
Length |
Remark |
acceptHeader |
是 |
String |
客户浏览器(Accept header) |
50 |
|
userAgent |
是 |
String |
客户浏览器(userAgent)字符串 |
128 |
|
language |
是 |
String |
客户浏览器语言设置 |
50 |
|
timeZoneOffset |
是 |
Interger |
UTC的时区偏移量 |
11 |
|
colorDepth |
是 |
Interger |
客户浏览器的颜色深度 |
11 |
|
screenHeight |
是 |
Interger |
客户浏览器的屏幕高度 |
11 |
|
screenWidth |
是 |
Interger |
客户浏览器的屏幕宽度 |
11 |
|
javaEnabled |
是 |
Interger |
客户浏览器中是否启用了Javascript |
true |
|
Inquire
EndPoints
/payIn/inquire
Method
GET
Request Params
Parameter |
Required |
Type |
Description |
Length |
Remark |
merOrderNo |
是 |
String |
商户订单号 |
50 |
|
Response Data
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
merOrderNo |
Yes |
String |
|
status |
Yes |
Integer |
Payment status code(Where: 0 means payment failure, 1 means payment success, 2 means pending) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
payDesc |
No |
String |
Payment message description |
amount |
Yes |
String |
Total amount of the order |
currency |
Yes |
String |
|
tradeMerNo |
Yes |
String |
Unique identifier assigned to the merchant by the payment platform when registering with |
Response Data
Parameter name |
Required |
Type |
Explain |
code |
Yes |
String |
error code(Refer to the error code table) |
message |
Yes |
String |
error description |
data |
No |
T |
Request response data |
- Return Parameters description
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
payCode |
Yes |
Integer |
Payment status code(Where: 1 means payment failure, 0 means payment success, 2 means pending) |
payUrl |
No |
String |
This parameter is mandatory for payment (the merchant needs to redirect to this link) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
payDesc |
No |
String |
Payment message description |
sourceAmount |
Yes |
String |
Total amount of the order |
currencyCode |
Yes |
String |
|
tradeMerNo |
Yes |
String |
Unique identifier assigned to the merchant by the payment platform when registering with |
sign |
Yes |
String |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、payCode、Merchant key) Please refer to See signature for details |
Response Success Example
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02204201930225414",
"merOrderNo": "1650454222321",
"payCode": 2,
"payUrl": "https://sandbox.zephyrpay.co/redirectPage/DZ02204201930225414",
"payDesc": "pending",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "4B91E93FD32245B600D8780D5C26A0EB"
}
}
Response Failure Example
{
"code": "10004",
"message": "The merchant number does not exist"
}
PayOut
Request Base URL
Test Environment : https://sandbox.zephyrpay.co
Prod Environment : https://payment.zephyrpay.co
EndPoints
/payout
India
Request Body (JSON format)
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
是 |
Integer |
商户号 |
10 |
|
merOrderNo |
是 |
String |
商户订单号 |
32 |
|
currencyCode |
是 |
String |
币种 |
3 |
INR |
sourceAmount |
是 |
String |
金额 |
|
金额 |
method |
是 |
String |
支付方式 |
50 |
checkout |
returnUrl |
是 |
String |
支付完成后的跳转地址 |
512 |
|
notifyUrl |
否 |
String |
异步通知地址 |
512 |
支付时用来接收向商户推送支付结果 |
sign |
是 |
String |
签名 |
32 |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名 |
account |
是 |
String |
账户 |
32 |
|
accountName |
是 |
String |
账户名称 |
32 |
|
bankCode |
是 |
String |
银行编码(ifsc) |
32 |
|
accountRemark |
否 |
String |
备注 |
512 |
|
Response Data
Parameter name |
Required |
Type |
Explain |
code |
Yes |
String |
error code(Refer to the error code table) |
message |
Yes |
String |
error description |
data |
No |
T |
Request response data |
- Return Parameters description
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
payCode |
Yes |
Integer |
Payment status code(Where: 1 means payment failure, 0 means payment success, 2 means pending) |
payUrl |
No |
String |
This parameter is mandatory for payment (the merchant needs to redirect to this link) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
payDesc |
No |
String |
Payment message description |
sourceAmount |
Yes |
String |
Total amount of the order |
currencyCode |
Yes |
String |
|
tradeMerNo |
Yes |
String |
Unique identifier assigned to the merchant by the payment platform when registering with |
sign |
Yes |
String |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、payCode、Merchant key) Please refer to See signature for details |
Response Success Example
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeNo": "DZ02204201930225414",
"merOrderNo": "1650454222321",
"payCode": 2,
"payUrl": null,
"payDesc": "pending",
"sourceAmount": "1",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "4B91E93FD32245B600D8780D5C26A0EB"
}
}
Response Failure Example
{
"code": "10004",
"message": "The merchant number does not exist"
}
Inquire
EndPoints
/payout/inquire
Method
GET
Request Params
Parameter |
Required |
Type |
Description |
Length |
Remark |
merOrderNo |
是 |
String |
商户订单号 |
100 |
|
Response Data
Parameter name |
Required |
Type |
Explain |
code |
Yes |
String |
error code(Refer to the error code table) |
message |
Yes |
String |
error description |
data |
No |
T |
Request response data |
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
status |
Yes |
Integer |
Payment status code(Where: 2 means payment failure, 1 means payment success, 0 means pending,4 means refund) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
payDesc |
No |
String |
Payment message description |
amount |
Yes |
String |
Total amount of the order |
currency |
Yes |
String |
|
tradeMerNo |
Yes |
String |
Unique identifier assigned to the merchant by the payment platform when registering with |
Response Success Example
{
"code": "00000",
"message": "SUCCESS",
"data": {
"payDesc": "pending",
"tradeMerNo": "1747797045114",
"amount": "120.37000",
"tradeNo": "DZ02505211110477912",
"merOrderNo": "1747797045114",
"currency": "INR",
"status": 0
}
}
Response Failure Example
{
"code": "10026",
"message": "Transaction does not exist or cannot be matched to the original transaction"
}
Balance
Request Base URL
Test Environment : https://sandbox.zephyrpay.co
Prod Environment : https://payment.zephyrpay.co
EndPoints
/balance/open/inquire
Method
GET
Request Header
Parameter |
Required |
Type |
Description |
Length |
Remark |
merchant_key |
Yes |
String |
Merchant Key |
50 |
Merchant Key |
Request Params
Parameter |
Required |
Type |
Description |
Length |
Remark |
tradeMerNo |
Yes |
Integer |
Merchant Number |
10 |
|
currency |
Yes |
String |
Currency |
32 |
USD |
Response Data
Parameter name |
Required |
Type |
Explain |
code |
Yes |
String |
error code(Refer to the error code table) |
message |
Yes |
String |
error description |
data |
No |
T |
Request response data |
- Return Parameters description
Parameter name |
Required |
Type |
Explain |
tradeMerNo |
Yes |
Integer |
Merchant Number |
currency |
Yes |
String |
Currency |
balance |
No |
Decimal |
|
availableBalance |
Yes |
Decimal |
|
frozenBalance |
No |
Decimal |
|
lastUpdateTime |
Yes |
String |
|
Response Success Example
{
"code": "00000",
"message": "SUCCESS",
"data": {
"tradeMerNo": 104001001,
"currency": "INR",
"balance": 10200.00,
"availableBalance": 10200.00,
"frozenBalance": 0.00,
"lastUpdateTime": "2025-05-15 10:35:41"
}
}
Response Failure Example
{
"code": "10004",
"message": "The merchant number does not exist"
}
Sync skip
After completing the payment, the merchant cardholder will be redirected to the returnurl address delivered during the payment, and the relevant information of the order will be brought when redirecting.
Note: the fields carried by redirection indicating the payment status of the order do not indicate whether the final payment is successful or not.
2D: return the identification of whether the final payment is successful in real time
3D: asynchronous notification final payment success identification
Request Parameters
Parameter name |
Required |
Type |
remark |
tradeMerNo |
Yes |
Integer |
Merchant Number |
tradeNo |
Yes |
String |
The flow number generated after each order payment (unique marker) |
merOrderNo |
Yes |
String |
Corresponds to the [OrderNo] parameter of the order submission parameter |
sourceAmount |
Yes |
String |
Total amount of the order |
sourceCurrency |
Yes |
String |
Currency |
succeed |
Yes |
Integer |
pay success flag(1:fail 0:success) |
resultMessage |
Yes |
String |
pay success desc |
responseType |
Yes |
String |
pay type(default:payment) |
remark |
No |
String |
remark |
Async notify
- If the notifyurl parameter is not passed during payment, will not notify the merchant system after the channel party notifies
- If the merchant system does not return the SUCCESS (case sensitive) string after receiving the notification, will consider that the merchant system has not received the notification, and will initiate the notification again after 1、2、4、8、16、32、64、128 minutes. will initiate 9 notifications in total. If the merchant system does not return success in the 9 notifications, will no longer initiate notifications.
Request Parameters
Body Parameters
{
"tradeNo": "DZ2201111806024151",
"merOrderNo": "1641972507000",
"payCode": "0",
"payDesc": "SUCCESS",
"sourceAmount": "1",
"actualAmount": "1.12",
"currencyCode": "HKD",
"tradeMerNo": 104001001,
"sign": "2345D858E5326A6E1747314E658760A9"
}
Sample request
public class Test{
public static void main(String[] args){
JSONObject jsonObject = new JSONObject();
jsonObject.put("tradeNo", "DZ2201111806024151");
jsonObject.put("merOrderNo", "1641972507000");
jsonObject.put("payCode", "0");
jsonObject.put("payDesc", "SUCCESS");
jsonObject.put("sourceAmount", "1");
jsonObject.put("actualAmount", "1.12");
jsonObject.put("currencyCode", "HKD");
jsonObject.put("tradeMerNo", 104001001);
jsonObject.put("sign", "2345D858E5326A6E1747314E658760A9");
String url = "Address of notifyUrl parameter passed when payment is made ";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if(status == HttpStatus.HTTP_OK){
String content = httpResponse.body();
if("SUCCESS".equals(content)){
//Notify the successful
} else{
//Notify the failure
}
} else{
//Notify the failure
}
}
}
- Request URL:Address of notifyUrl parameter passed when payment is made
- Request Type:POST
- Request Header:Content-Type:application/json
- Body Parameters:
Parameter name |
Required |
Type |
Explain |
tradeNo |
Yes |
String |
渠道流水订单号 |
merOrderNo |
Yes |
String |
商户订单号 |
payCode |
Yes |
Integer |
错误码 (1:失败 0:成功 4:退款) |
payDesc |
Yes |
String |
错误描述 |
sourceAmount |
Yes |
String |
订单上送金额 |
actualAmount |
Yes |
String |
订单实际操作金额 |
currencyCode |
Yes |
String |
|
tradeMerNo |
Yes |
String |
Merchant Number |
sign |
Yes |
String |
(tradeMerNo、merOrderNo、currencyCode、sourceAmount、payCode、Merchant key) 请跳转至签名详细 |
Data For test(SandBox)
USA
Payment Method
Brazil
Parameter |
Amount Limit(BRL) |
PIX |
0.01~50,000 |
OpenFinance |
0.1~20,000 |
Boleto |
5~15,000 |
Lottery |
4~2,000 |
method=Wallet, walletType = PicPay |
0.1~5,000/transaction 0.1~20,000/person/day |
method=Wallet, walletType = Mercadopago |
0.01~10,000 |
Mexico
Parameter |
Amount Limit(MXN) |
CreditCard |
1~20,000 |
SPEI |
8~10,000,000 |
CoDi |
8~10,000,000 |
OXXOPay |
10~9,999 |
Cash |
8~9,999 |
method=Wallet, walletType = Todito |
1~190,000 |
Colombia
Parameter |
Amount Limit(COP) |
CreditCard |
300 - 1,000,000 COP (Only Integer) |
PSE |
1,000~100,000,000(Only Integer) |
Transfiya |
1,000~ (Only Integer), 3,000,000 COP per user per day, 15 transactions per user per day. |
Bancolombia |
5,000~3,000,000 (Only Integer) |
Efecty |
1~3,000,000(Only Integer) |
SuRed |
1,000~3,000,000(Only Integer) |
Gana |
1,000~3,000,000(Only Integer) |
method=Wallet, walletType = TPaga |
1~2,000,000(Only Integer) |
method=Wallet, walletType = Dale |
1,000~10,000,000(Only Integer) |
method=Wallet, walletType = Daviplata |
1,000~10,000,000(Only Integer) |
method=Wallet, walletType = Movii |
1,000~10,000,000(Only Integer) |
method=Wallet, walletType = Nequi |
1,000~10,000,000(Only Integer) |
method=Wallet, walletType = Rappipay |
1,000~10,000,000(Only Integer) |
Chile
Parameter |
Amount Limit(CLP) |
CreditCard |
1~1,000,000(Only Integer) |
Webpay |
1~1,000,000(Only Integer) |
Khipu |
1~250,000*(Only Integer) |
BankTransfer |
50~5,000,000*(Only Integer) |
Pago46 |
1,500 - 999,999 for Bank Transfer, 10,000- 999,999 for Cash (Only Integer) |
method=Wallet, walletType = Mach |
1~500,000(Only Integer) |
Argentina
Parameter |
Amount Limit(ARS) |
Khipu |
50~1,257,000/day |
Rapipago |
30~5,000,000 |
Peru
Parameter |
Amount Limit(PEN) |
CreditCard |
5~10,000 |
BankTransfer |
5~50,000 |
Cash |
5~1,000 |
QRCode |
8~3,750 |
Ecuador
Parameter |
Amount Limit(USD) |
CreditCard |
1~2,500 |
BankTransfer |
2~10,000 |
Cash |
1~500 |
Guatemala
Parameter |
Amount Limit(GTQ) |
Cash |
8~7,500 |
Panama
Parameter |
Amount Limit(USD) |
Cash |
1~200 |
Costa Rica
Parameter |
Amount Limit(CRC) |
BNCR |
1,000~100,000(Only Integer) |
Cash |
1,000~190,000 |
Bolivia
Parameter |
Amount Limit(BOB) |
|
|
El Salvador
Parameter |
Amount Limit(USD) |
|
|
Nicaragua
Parameter |
Amount Limit(NIO) |
|
|
Paraguay
Parameter |
Amount Limit(PYG) |
|
|
Uruguay
Parameter |
Amount Limit(UYU) |
|
|
South Korea
Parameter |
Amount Limit(KRW) |
BankTransfer |
1,000~ KRW (Only Integer) |
VirtualAccount |
500~ KRW (Only Integer) |
method=Wallet, walletType = KakaoPay |
100~2,000,000 KRW (Only Integer) |
method=Wallet, walletType = NaverPay |
100~2,000,000 KRW (Only Integer) |
method=Wallet, walletType = Payco |
100~2,000,000 KRW (Only Integer) |
method=Wallet, walletType = SamsungPay |
100~2,000,000 KRW (Only Integer) |
method=Wallet, walletType = Toss |
100~2,000,000 KRW (Only Integer) |
China
Parameter |
Amount Limit(CNY) |
method=Wallet, walletType = AlipayCN |
0.04~300,000 CNY |
Hong Kong
Parameter |
Amount Limit(HKD) |
DiscoverCard |
0.01~ HKD |
method=Wallet, walletType = AlipayHK |
0.1~9,999,999 HKD |
method=Wallet, walletType = WechatPayHK |
0.02~340,000 HKD |
Japan
Parameter |
Amount Limit(JPY) |
DiscoverCard |
0.01~ JPY |
Indonesia
Parameter |
Amount Limit(IDR) |
BankTransfer |
10,000~50,000,000 IDR (Only Integer) |
method=Wallet, walletType = DANA |
300~25,000,000 IDR |
Singapore
Parameter |
Amount Limit(SGD) |
method=Wallet, walletType = GrabPay |
~30,000 SGD |
method=Wallet, walletType = ShopeePay |
~ |
Malaysia
Parameter |
Amount Limit(MYR) |
method=Wallet, walletType = BOOST |
0.1~9,999,999 MYR |
method=Wallet, walletType = TNG |
0.1~9,999,999 MYR |
Philippines
Parameter |
Amount Limit(PHP) |
method=Wallet, walletType = BPI |
1~50,000 PHP |
method=Wallet, walletType = GCash |
1~100,000 PHP |
method=Wallet, walletType = AlipayPlus |
1~50,000 PHP |
QRPH |
20~ PHP |
Thailand
Parameter |
Amount Limit(THB) |
method=Wallet, walletType = RabbitLinePay |
1~50,000 THB |
method=Wallet, walletType = TrueMoney |
1~ THB |
Taiwan
Parameter |
Amount Limit(TWD) |
BankTransfer |
1~20,000 TWD |
OTC |
30~20,000 TWD |
PostTransfer |
100~20,000 TWD |
method=Wallet, walletType=LINEPay |
50~20,000 TWD |
method=Wallet, walletType=JKOPay |
50~20,000 TWD |
Vietnam
Parameter |
Amount Limit(VND) |
QRCode |
10,000~ VND |
Kazakhstan
Parameter |
Amount Limit(KZT) |
CreditCard |
50~299,000 KZT |
Uzbekistan
Parameter |
Amount Limit(UZS) |
CreditCard |
1,000~10,000,000 UZS per transaction. 100,000,000 UZS per card per day/month |
Australia
Parameter |
Amount Limit(AUD) |
Paysafecard |
0.01~ AUD |
Turkey
Parameter |
Amount Limit(TRY) |
method=Wallet, walletType=Papara |
1~500,000 TRY |
Bahrain
Parameter |
Amount Limit |
CreditCard |
0.01~ BHD/USD |
Egypt
Parameter |
Amount Limit |
CreditCard |
0.01~ USD |
method=Wallet, walletType=FawryPay |
10~60,000 EGP |
method=Wallet, walletType=EtisalatCash |
5~30,000 EGP |
method=Wallet, walletType=OrangeCash |
5~30,000 EGP |
method=Wallet, walletType=VodafoneCash |
5~30,000 EGP |
method=Wallet, walletType=WePay |
5~30,000 EGP |
Cash |
10~100,000 EGP |
Kiosk |
No limit |
Kuwait
Parameter |
Amount Limit |
CreditCard |
0.01~ USD |
method=Wallet, walletType = KNet |
0.01~1,700 KWD |
Oman
Parameter |
Amount Limit(OMR) |
CreditCard |
0.01~ OMR |
Qatar
Parameter |
Amount Limit |
CreditCard |
0.01~ USD |
Saudi Arabia
Parameter |
Amount Limit(SAR) |
CreditCard |
0.01~ SAR |
method=Wallet, walletType = MADA |
0.01~21,000 SAR |
United Arab Emirates
Parameter |
Amount Limit(AED) |
CreditCard |
0.01~ AED |
USA
Parameter |
Amount Limit(USD) |
CreditCard |
|
cashapppay |
|
paypal |
|
venmo |
|
Country Codes
Country |
CNName |
ISO-2 |
ISO-3 |
Afghanistan |
阿富汗 |
AF |
AFG |
Åland Islands |
奥兰群岛 |
AX |
ALA |
Albania |
阿尔巴尼亚 |
AL |
ALB |
Algeria |
阿尔及利亚 |
DZ |
DZA |
American Samoa |
美属萨摩亚 |
AS |
ASM |
Andorra |
安道尔 |
AD |
AND |
Angola |
安哥拉 |
AO |
AGO |
Anguilla |
安圭拉 |
AI |
AIA |
Antarctica |
南极洲 |
AQ |
ATA |
Antigua & Barbuda |
安提瓜和巴布达 |
AG |
ATG |
Argentina |
阿根廷 |
AR |
ARG |
Armenia |
亚美尼亚 |
AM |
ARM |
Aruba |
阿鲁巴岛 |
AW |
ABW |
Australia |
澳大利亚 |
AU |
AUS |
Austria |
奥地利 |
AT |
AUT |
Azerbaijan |
阿塞拜疆 |
AZ |
AZE |
Bahamas |
巴哈马 |
BS |
BHS |
Bahrain |
巴林 |
BH |
BHR |
Bangladesh |
孟加拉国 |
BD |
BGD |
Barbados |
巴巴多斯 |
BB |
BRB |
Belarus |
白俄罗斯 |
BY |
BLR |
Belgium |
比利时 |
BE |
BEL |
Belize |
伯利兹 |
BZ |
BLZ |
Benin |
贝宁 |
BJ |
BEN |
Bermuda |
百慕大 |
BM |
BMU |
Bhutan |
不丹 |
BT |
BTN |
Bolivia |
玻利维亚 |
BO |
BOL |
Bosnia |
波斯尼亚 |
BA |
BIH |
Botswana |
博茨瓦纳 |
BW |
BWA |
Bouvet Island |
布维岛 |
BV |
BVT |
Brazil |
巴西 |
BR |
BRA |
British Indian Ocean Territory |
英属印度洋领地 |
IO |
IOT |
British Virgin Islands |
英属维尔京群岛 |
VG |
VGB |
Brunei |
文莱 |
BN |
BRN |
Bulgaria |
保加利亚 |
BG |
BGR |
Burkina Faso |
布基纳法索 |
BF |
BFA |
Burundi |
布隆迪 |
BI |
BDI |
Cambodia |
柬埔寨 |
KH |
KHM |
Cameroon |
喀麦隆 |
CM |
CMR |
Canada |
加拿大 |
CA |
CAN |
Cape Verde |
佛得角 |
CV |
CPV |
Caribbean Netherlands |
加勒比荷兰 |
BQ |
BES |
Cayman Islands |
开曼群岛 |
KY |
CYM |
Central African Republic |
中非共和国 |
CF |
CAF |
Chad |
乍得 |
TD |
TCD |
Chile |
智利 |
CL |
CHL |
China |
中国 |
CN |
CHN |
Christmas Island |
圣诞岛 |
CX |
CXR |
Cocos (Keeling) Islands |
科科斯(基林)群岛 |
CC |
CCK |
Colombia |
哥伦比亚 |
CO |
COL |
Comoros |
科摩罗 |
KM |
COM |
Congo - Brazzaville |
刚果 - 布 |
CG |
COG |
Congo - Kinshasa |
刚果 - 金 |
CD |
COD |
Cook Islands |
库克群岛 |
CK |
COK |
Costa Rica |
哥斯达黎加 |
CR |
CRI |
Croatia |
克罗地亚 |
HR |
HRV |
Cuba |
古巴 |
CU |
CUB |
Curaçao |
库拉索 |
CW |
CUW |
Cyprus |
塞浦路斯 |
CY |
CYP |
Czech Republic |
捷克共和国 |
CZ |
CZE |
Denmark |
丹麦 |
DK |
DNK |
Djibouti |
吉布提 |
DJ |
DJI |
Dominica |
多米尼加 |
DM |
DMA |
Dominican Republic |
多明尼加共和国 |
DO |
DOM |
Ecuador |
厄瓜多尔 |
EC |
ECU |
Egypt |
埃及 |
EG |
EGY |
El Salvador |
萨尔瓦多 |
SV |
SLV |
Equatorial Guinea |
赤道几内亚 |
GQ |
GNQ |
Eritrea |
厄立特里亚 |
ER |
ERI |
Estonia |
爱沙尼亚 |
EE |
EST |
Eswatini |
史瓦帝尼 |
SZ |
SWZ |
Ethiopia |
埃塞俄比亚 |
ET |
ETH |
Falkland Islands |
福克兰群岛 |
FK |
FLK |
Faroe Islands |
法罗群岛 |
FO |
FRO |
Fiji |
斐济 |
FJ |
FJI |
Finland |
芬兰 |
FI |
FIN |
France |
法国 |
FR |
FRA |
French Guiana |
法属圭亚那 |
GF |
GUF |
French Polynesia |
法属波利尼西亚 |
PF |
PYF |
French Southern Territories |
法属南部领土 |
TF |
ATF |
Gabon |
加蓬 |
GA |
GAB |
Gambia |
冈比亚 |
GM |
GMB |
Georgia |
格鲁吉亚 |
GE |
GEO |
Germany |
德国 |
DE |
DEU |
Ghana |
加纳 |
GH |
GHA |
Gibraltar |
直布罗陀 |
GI |
GIB |
Greece |
希腊 |
GR |
GRC |
Greenland |
格陵兰 |
GL |
GRL |
Grenada |
格林纳达 |
GD |
GRD |
Guadeloupe |
瓜德罗普岛 |
GP |
GLP |
Guam |
关岛 |
GU |
GUM |
Guatemala |
危地马拉 |
GT |
GTM |
Guernsey |
根西岛 |
GG |
GGY |
Guinea |
几内亚 |
GN |
GIN |
Guinea-Bissau |
几内亚比绍 |
GW |
GNB |
Guyana |
圭亚那 |
GY |
GUY |
Haiti |
海地 |
HT |
HTI |
Heard & McDonald Islands |
赫德岛和麦克唐纳群岛 |
HM |
HMD |
Honduras |
洪都拉斯 |
HN |
HND |
Hong Kong |
香港 |
HK |
HKG |
Hungary |
匈牙利 |
HU |
HUN |
Iceland |
冰岛 |
IS |
ISL |
India |
印度 |
IN |
IND |
Indonesia |
印度尼西亚 |
ID |
IDN |
Iran |
伊朗 |
IR |
IRN |
Iraq |
伊拉克 |
IQ |
IRQ |
Ireland |
爱尔兰 |
IE |
IRL |
Isle of Man |
马恩岛 |
IM |
IMN |
Israel |
以色列 |
IL |
ISR |
Italy |
意大利 |
IT |
ITA |
Ivory Coast |
科特迪瓦 |
CI |
CIV |
Jamaica |
牙买加 |
JM |
JAM |
Japan |
日本 |
JP |
JPN |
Jersey |
泽西岛 |
JE |
JEY |
Jordan |
约旦 |
JO |
JOR |
Kazakhstan |
哈萨克斯坦 |
KZ |
KAZ |
Kenya |
肯尼亚 |
KE |
KEN |
Kiribati |
基里巴斯 |
KI |
KIR |
Kuwait |
科威特 |
KW |
KWT |
Kyrgyzstan |
吉尔吉斯斯坦 |
KG |
KGZ |
Laos |
老挝 |
LA |
LAO |
Latvia |
拉脱维亚 |
LV |
LVA |
Lebanon |
黎巴嫩 |
LB |
LBN |
Lesotho |
莱索托 |
LS |
LSO |
Liberia |
利比里亚 |
LR |
LBR |
Libya |
利比亚 |
LY |
LBY |
Liechtenstein |
列支敦士登 |
LI |
LIE |
Lithuania |
立陶宛 |
LT |
LTU |
Luxembourg |
卢森堡 |
LU |
LUX |
Macau |
澳门 |
MO |
MAC |
Madagascar |
马达加斯加 |
MG |
MDG |
Malawi |
马拉维 |
MW |
MWI |
Malaysia |
马来西亚 |
MY |
MYS |
Maldives |
马尔代夫 |
MV |
MDV |
Mali |
马里 |
ML |
MLI |
Malta |
马耳他 |
MT |
MLT |
Marshall Islands |
马绍尔群岛 |
MH |
MHL |
Martinique |
马提尼克岛 |
MQ |
MTQ |
Mauritania |
毛里塔尼亚 |
MR |
MRT |
Mauritius |
毛里求斯 |
MU |
MUS |
Mayotte |
马约特岛 |
YT |
MYT |
Mexico |
墨西哥 |
MX |
MEX |
Micronesia |
密克罗尼西亚 |
FM |
FSM |
Moldova |
摩尔多瓦 |
MD |
MDA |
Monaco |
摩纳哥 |
MC |
MCO |
Mongolia |
蒙古 |
MN |
MNG |
Montenegro |
黑山 |
ME |
MNE |
Montserrat |
蒙特塞拉特 |
MS |
MSR |
Morocco |
摩洛哥 |
MA |
MAR |
Mozambique |
莫桑比克 |
MZ |
MOZ |
Myanmar |
缅甸 |
MM |
MMR |
Namibia |
纳米比亚 |
NA |
NAM |
Nauru |
瑙鲁 |
NR |
NRU |
Nepal |
尼泊尔 |
NP |
NPL |
Netherlands |
荷兰 |
NL |
NLD |
New Caledonia |
新喀里多尼亚 |
NC |
NCL |
New Zealand |
新西兰 |
NZ |
NZL |
Nicaragua |
尼加拉瓜 |
NI |
NIC |
Niger |
尼日尔 |
NE |
NER |
Nigeria |
尼日利亚 |
NG |
NGA |
Niue |
纽埃 |
NU |
NIU |
Norfolk Island |
诺福克岛 |
NF |
NFK |
North Korea |
北朝鲜 |
KP |
PRK |
North Macedonia |
北马其顿 |
MK |
MKD |
Northern Mariana Islands |
北马里亚纳群岛 |
MP |
MNP |
Norway |
挪威 |
NO |
NOR |
Oman |
阿曼 |
OM |
OMN |
Pakistan |
巴基斯坦 |
PK |
PAK |
Palau |
帕劳 |
PW |
PLW |
Palestine |
巴勒斯坦 |
PS |
PSE |
Panama |
巴拿马 |
PA |
PAN |
Papua New Guinea |
巴布亚新几内亚 |
PG |
PNG |
Paraguay |
巴拉圭 |
PY |
PRY |
Peru |
秘鲁 |
PE |
PER |
Philippines |
菲律宾 |
PH |
PHL |
Pitcairn Islands |
皮特凯恩群岛 |
PN |
PCN |
Poland |
波兰 |
PL |
POL |
Portugal |
葡萄牙 |
PT |
PRT |
Puerto Rico |
波多黎各 |
PR |
PRI |
Qatar |
卡塔尔 |
QA |
QAT |
Réunion |
留尼汪岛 |
RE |
REU |
Romania |
罗马尼亚 |
RO |
ROU |
Russia |
俄罗斯 |
RU |
RUS |
Rwanda |
卢旺达 |
RW |
RWA |
Samoa |
萨摩亚 |
WS |
WSM |
San Marino |
圣马力诺 |
SM |
SMR |
São Tomé & Príncipe |
圣多美和普林西比 |
ST |
STP |
Saudi Arabia |
沙特阿拉伯 |
SA |
SAU |
Senegal |
塞内加尔 |
SN |
SEN |
Serbia |
塞尔维亚 |
RS |
SRB |
Seychelles |
塞舌尔 |
SC |
SYC |
Sierra Leone |
塞拉利昂 |
SL |
SLE |
Singapore |
新加坡 |
SG |
SGP |
Sint Maarten |
圣马丁岛 |
SX |
SXM |
Slovakia |
斯洛伐克 |
SK |
SVK |
Slovenia |
斯洛文尼亚 |
SI |
SVN |
Solomon Islands |
所罗门群岛 |
SB |
SLB |
Somalia |
索马里 |
SO |
SOM |
South Africa |
南非 |
ZA |
ZAF |
South Georgia & South Sandwich Islands |
南乔治亚岛和南桑威奇群岛 |
GS |
SGS |
South Korea |
韩国 |
KR |
KOR |
South Sudan |
南苏丹 |
SS |
SSD |
Spain |
西班牙 |
ES |
ESP |
Sri Lanka |
斯里兰卡 |
LK |
LKA |
St. Barthélemy |
圣巴泰勒米岛 |
BL |
BLM |
St. Helena |
圣赫勒拿岛 |
SH |
SHN |
St. Kitts & Nevis |
圣基茨和尼维斯 |
KN |
KNA |
St. Lucia |
圣卢西亚 |
LC |
LCA |
St. Martin |
圣马丁 |
MF |
MAF |
St. Pierre & Miquelon |
圣皮埃尔和密克隆群岛 |
PM |
SPM |
St. Vincent & Grenadines |
圣文森特和格林纳丁斯 |
VC |
VCT |
Sudan |
苏丹 |
SD |
SDN |
Suriname |
苏里南 |
SR |
SUR |
Svalbard & Jan Mayen |
斯瓦尔巴群岛和扬马延岛 |
SJ |
SJM |
Sweden |
瑞典 |
SE |
SWE |
Switzerland |
瑞士 |
CH |
CHE |
Syria |
叙利亚 |
SY |
SYR |
Taiwan |
台湾 |
TW |
TWN |
Tajikistan |
塔吉克斯坦 |
TJ |
TJK |
Tanzania |
坦桑尼亚 |
TZ |
TZA |
Thailand |
泰国 |
TH |
THA |
Timor-Leste |
东帝汶 |
TL |
TLS |
Togo |
多哥 |
TG |
TGO |
Tokelau |
托克劳 |
TK |
TKL |
Tonga |
汤加 |
TO |
TON |
Trinidad & Tobago |
特立尼达和多巴哥 |
TT |
TTO |
Tunisia |
突尼斯 |
TN |
TUN |
Turkey |
土耳其 |
TR |
TUR |
Turkmenistan |
土库曼斯坦 |
TM |
TKM |
Turks & Caicos Islands |
特克斯和凯科斯群岛 |
TC |
TCA |
Tuvalu |
图瓦卢 |
TV |
TUV |
U.S. Outlying Islands |
美国离岛 |
UM |
UMI |
U.S. Virgin Islands |
美属维尔京群岛 |
VI |
VIR |
Uganda |
乌干达 |
UG |
UGA |
Ukraine |
乌克兰 |
UA |
UKR |
United Arab Emirates |
阿拉伯联合酋长国 |
AE |
ARE |
United Kingdom |
英国 |
GB |
GBR |
United States |
美国 |
US |
USA |
Uruguay |
乌拉圭 |
UY |
URY |
Uzbekistan |
乌兹别克斯坦 |
UZ |
UZB |
Vanuatu |
瓦努阿图 |
VU |
VUT |
Vatican City |
梵蒂冈城 |
VA |
VAT |
Venezuela |
委内瑞拉 |
VE |
VEN |
Vietnam |
越南 |
VN |
VNM |
Wallis & Futuna |
瓦利斯和富图纳群岛 |
WF |
WLF |
Western Sahara |
西撒哈拉 |
EH |
ESH |
Yemen |
也门 |
YE |
YEM |
Zambia |
赞比亚 |
ZM |
ZMB |
Zimbabwe |
津巴布韦 |
ZW |
ZWE |
币种
编码 |
名称 |
CNY |
人民币 |
USD |
美元 |
GBP |
英镑 |
HKD |
港币 |
CHF |
瑞士法郎 |
SGD |
新加坡元 |
SEK |
瑞典克朗 |
DKK |
丹麦克朗 |
NOK |
挪威克朗 |
JPY |
日元 |
CAD |
加拿大元 |
AUD |
澳元 |
EUR |
欧元 |
MOP |
澳门元 |
PHP |
菲律宾比索 |
THB |
泰铢 |
NZD |
新西兰元 |
KRW |
韩元 |
RUB |
俄罗斯卢布 |
MYR |
马来西亚林吉特 |
TWD |
新台币 |
INR |
印度卢比 |
COP |
哥伦比亚比索 |
BRL |
巴西雷亚尔 |
MXN |
墨西哥比索 |
FAQ
暂无常见问题解答