NAV
java

更新日志

暂无更新日志记录

FAQ

暂无常见问题解答

签名规则

为了确保数据在传输过程中不被篡改,系统要求您对支付参数数据进行签名,并将数据签名随同支付请求一起上送

MD5签名

支付接口

支付

业务流程

2D支付流程

1、商户使用本接口文档提供的接口参数发起支付请求到Tapxyz系统
2、Tapxyz系统收到商户发起的支付请求后,进行一系列配置校验和风险控制校验之后上送到通道方完成授权处理
3、Tapxyz收到通道方返回支付结果后再同步返回到商户系统
4、商户系统根据收到的支付结果处理相关业务

3D支付流程

1、商户使用本接口文档提供的接口参数发起支付请求到Tapxyz系统
2、Tapxyz系统收到商户发起的支付请求后,进行一系列配置校验和风险控制校验之后上送到通道方完成授权处理
3、Tapxyz收到通道方返回的支付链接地址后同步返回到商户系统
4、商户系统需重定向到该支付链接地址让用户进行3DS授权认证
5、用户3DS认证通过之后Tapxyz系统会收到通道方的支付结果通知,同时页面会跳转到商户发起支付请求中的returnUrl地址页面
6、Tapxyz收到支付结果通知之后会同步通道到商户系统
7、商户系统根据收到的支付结果处理相关业务
8、如果用户在30分钟内都没有进行3DS授权认证,则订单支付超时不能再进行3DS授权认证

收银台模式支付流程

1、商户使用本接口文档提供的接口参数发起支付请求到Tapxyz系统
2、Tapxyz系统收到商户发起的支付请求后,进行一系列配置校验和风险控制校验之后上送到通道方完成授权处理
3、Tapxyz收到通道方返回的支付链接地址后同步返回到商户系统
4、商户系统需重定向到该支付链接地址填写卡号等信息
5、提交通过之后Tapxyz系统会收到通道方的支付结果通知,同时页面会跳转到商户发起支付请求中的returnUrl地址页面
6、Tapxyz收到支付结果通知之后会同步通道到商户系统
7、商户系统根据收到的支付结果处理相关业务

消费直连模式

请求参数

参数名 必填 类型 说明 长度 备注
paymentType String 支付方式 15 默认不填为信用卡支付
银联h5:UNIONPAY_H5
微信:WECHAT
支付宝:ALIPAY

body参数

  {
    "merNo": 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",
    "version": "V3.0.0",
    "userId": "329627618558021",
    "email": "xxxx@gamil.com",
    "osType": "ANDROID",
    "terminal":"WAP",
    "productInfoList": [
      {
        "sku": "1",
        "productName": "mac pro",
        "price": "12000",
        "quantity": "1"
      },
      {
        "sku": "2",
        "productName": "iphone13",
        "price": "8000",
        "quantity": "1"
      }
    ]
  }
参数名 必填 类型 说明 长度 备注
merNo Integer 商户号 10 可在商户后台注册获取
merOrderNo String 商户订单号 32 每次下单时必须保持唯一,且每个商户订单号在1秒内只能提交一次
currencyCode String 币种 3
sourceAmount String 金额 12 保留两位小数
returnUrl String 支付完成后的跳转地址 512
notifyUrl String 异步通知地址 512 3D或者收银台模式或银联,支付宝,微信,支付时用来接收Tapxyz向商户推送支付结果
sign String 签名 32 (merNo、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 银联,支付宝,微信模式下可以为空
userAgent String 持卡人浏览器UserAgent 128 收银台模式下可以为空,银联,支付宝,微信模式下可以为空
ipAddress String 持卡人IP地址 64
productInfoList List 商品列表 1000 银联,支付宝,微信模式下可以为空
version String 版本号 6 默认:V3.0.0
userId String 用户唯一标识 255 虚拟产品客户需要填写该参数
email String 邮箱 255 虚拟产品客户需要填写该参数
osType No String 手机类型 255 IOS 或 ANDROID
terminal No String 设备 255 WEB: 在pc上使用。WAP: 在手机浏览器上使用. APP: 在app中使用.MINI_APP:在小程序中使用.
参数名 必填 类型 说明 长度 备注
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("merNo", "123455");
    jsonObject.put("merOrderNo", "1641972507000");
    jsonObject.put("currencyCode", "CNY");
    //.....除签名(sign)以外的所有的body参数

    //签名
    String sign = MD5(merNo+merOrderNo+currencyCode+sourceAmount+商户密钥);
    jsonObject.put("sign", sign.toUpperCase());

    String url = "https://pay.tapxyz.com/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();
    }
    //银联示例
    HttpResponse httpResponse = HttpRequest.post(url)
                        .header("paymentType", "UNIONPAY-H5")
                        .body(jsonObject.toJSONString(), "application/json")
                        .execute();
    int status = httpResponse.getStatus();
    if(status == HttpStatus.HTTP_OK){
        String content = httpResponse.body();
    }

  }
}

响应参数

响应成功示例

{
  "code": "00000",
  "message": "SUCCESS",
  "data": {
    "payCode": 0,
    "tradeNo": "SN2201111806024151",
    "merOrderNo": "1641972507000",
    "payUrl": "http://abc.com/notify" 
  }
}

响应失败示例

{
  "code": "10004",
  "message": "商户号不存在"
}
参数名 必填 类型 说明
code String 错误码(参考错误码表)
message String 错误描述
data T 请求响应数据
参数名 必填 类型 说明
tradeNo String 交易流水号
payCode Integer 支付状态码(0:支付成功 1:支付失败 2:支付处理中
payUrl String 3D或者收银台模式下支付时该参数为必填项(需商户重定向到该链接),银联H5支付(重定向到该链接),微信模式(重定向到该链接)
支付宝支付(重定向到该链接)
merOrderNo String 商户订单号

收银台模式

请求参数

body参数

  {
    "merNo": 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",
    "version": "V3.0.0",
    "productInfoList": [
      {
        "sku": "1",
        "productName": "mac pro",
        "price": "12000",
        "quantity": "1"
      },
      {
        "sku": "2",
        "productName": "iphone13",
        "price": "8000",
        "quantity": "1"
      }
    ]
  }
参数名 必填 类型 说明 长度 备注
merNo Integer 商户号 10 可在商户后台注册获取
merOrderNo String 商户订单号 32 每次下单时必须保持唯一,且每个商户订单号在1秒内只能提交一次
currencyCode String 币种 3
sourceAmount String 金额 12 保留两位小数
returnUrl String 支付完成后的跳转地址 512
notifyUrl String 异步通知地址 512 支付时用来接收Tapxyz向商户推送支付结果
sign String 签名 32 (merNo、merOrderNo、currencyCode、sourceAmount、Merchant key) 详细参照: 签名
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
productInfoList List 商品列表
version String 版本号 6 默认:V3.0.0
参数名 必填 类型 说明 长度 备注
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("merNo", "123455");
    jsonObject.put("merOrderNo", "1641972507000");
    jsonObject.put("currencyCode", "CNY");
    //.....除签名(sign)以外的所有的body参数

    //签名
    String sign = MD5(merNo+merOrderNo+currencyCode+sourceAmount+商户密钥);
    jsonObject.put("sign", sign.toUpperCase());

    String url = "https://pay.tapxyz.com/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();
    }
    //银联示例
    HttpResponse httpResponse = HttpRequest.post(url)
                        .header("paymentType", "UNIONPAY_H5")
                        .body(jsonObject.toJSONString(), "application/json")
                        .execute();
    int status = httpResponse.getStatus();
    if(status == HttpStatus.HTTP_OK){
        String content = httpResponse.body();
    }

  }
}

响应参数

响应示例

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>响应标题</title>
</head>
<body>
  ...
</body>
</html>

异步通知

请求参数

请求body参数

  {
    "tradeNo": "SN2201111806024151",
    "merOrderNo": "1641972507000",
    "code": "0",
    "message": "成功"
  }
参数名 必填 类型 说明
tradeNo String 交易流水号
merOrderNo String 商户订单号
code String 支付结果(0:支付成功 1:支付失败)
message String 支付结果描述

查询接口

请求参数

退款查询请求参数

{
  "merNo":"104001001",
  "merOrderNo":"asdfghjkl",
  "version":"V3.0.0",
  "sign":"9D6FDF4880B00B002B1F2AB61AE9A721",
  "queryType":"refund",
  "tradeNo": "SN13576867867",
  "refundNo": "1232324324"
}

交易订单查询请求参数

{
  "merNo":"104001001",
  "merOrderNo":"asdfghjkl",
  "version":"V3.0.0",
  "sign":"9D6FDF4880B00B002B1F2AB61AE9A721",
  "tradeNo": "SN13576867867",
  "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 String 查询类型 16 退款查询:refund 交易订单查询:sales
refundNo String Tapxyz系统生成的唯一退款号 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://pay.tapxyz.com/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": "SN2202101809494673",
      "merOrderNo": "1644487789447",
      "merNo": 104001002,
      "state": "3"
    }
  }

退款查询响应成功示例 json { "code": "00000", "message": "SUCCESS", "data": { "tradeNo": "SN2202101809494673", "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

退款接口

请求参数

{
  "merNo":"104001001",
  "merOrderNo":"asdfghjkl",
  "amount":"10",
  "version":"V3.0.0",
  "tradeNo":"SN1234567890000",
  "sign":"9D6FDF4880B00B002B1F2AB61AE9A721",
  "notifyUrl":"https://www.test.com",
  "remark":"12323425345"
}
参数名 必填 类型 说明 长度 备注
merNo Integer 商户号 10 可在商户后台注册获取
merOrderNo String 商户订单号 32
amount String 金额 12 保留两位小数
notifyUrl String 异步通知地址 512 用来接收Tapxyz向商户推送退款结果
sign String 签名 32 (merNo、merOrderNo、amount、tradeNo、商户秘钥),详情请参阅:签名
version String 版本号 6 默认:V3.0.0
tradeNo String 交易流水号 50 商家支付时平台生成的订单号
remark String 备注 1000
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+amount+tradeNo+商户密钥);
    jsonObject.put("sign", sign.toUpperCase());

    String url = "https://pay.tapxyz.com/refund/apply";
    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": {
    "refundNo": "12312432423",
    "tradeNo": "SN1234567890123",
    "merNo": "104001001",
    "merOrderNo": "abc12323424234",
    "refundAmount": "10",
    "refundCurrency": "CNY"
  }
}

响应失败示例

  {
  "code": "10004",
  "message": "商户号不存在"
}
参数名 必填 类型 说明
code String 业务状态码(参考业务状态码)
message String 业务请求状态描述
data T 请求响应数据
参数名 必填 类型 说明
refundNo String 退款申请成功生成的唯一ID
tradeNo String 交易生成的唯一订单号
merNo String 退款申请商户号
merOrderNo String 退款商户订单号
refundAmount String 退款金额
refundCurrency String 退款币种

退款异步通知

请求参数

请求body参数

  {
    "tradeNo": "SN2201111806024151",
    "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", "SN2201111806024151");
      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{
        //通知失败
      }
    }
  }
参数名 必填 类型 说明
tradeNo String 交易流水号
merOrderNo String 商户订单号
refundNo String 向Tapxyz发起退款生成的唯一退款号
state Integer 0 退款成功 1 退款失败
message String 退款结果描述
refundAmount String 退款金额
refundCurrency String 退款币种

国家编码

国家编码 名称
AF 阿富汗
AX 奥兰群岛
AL 阿尔巴尼亚
DZ 阿尔及利亚
AS 美属萨摩亚
AD 安道尔
AO 安哥拉
AI 安圭拉
AQ 南极洲
AG 安提瓜和巴布达
AR 阿根廷
AM 亚美尼亚
AW 阿鲁巴
AU 澳大利亚
AT 奥地利
AZ 阿塞拜疆
BS 巴哈马
BH 巴林
BD 孟加拉
BB 巴巴多斯
BY 白俄罗斯
BE 比利时
BZ 伯利兹
BJ 贝宁
BM 百慕大
BT 不丹
BO 玻利维亚
BA 波黑
BW 博茨瓦纳
BV 布韦岛
BR 巴西
IO 英属印度洋领地
BN 文莱
BG 保加利亚
BF 布基纳法索
BI 布隆迪
KH 柬埔寨
CM 喀麦隆
CA 加拿大
CV 佛得角
KY 开曼群岛
CF 中非
TD 乍得
CL 智利
CN 中国
CX 圣诞岛
CC 科科斯群岛
CO 哥伦比亚
KM 科摩罗
CG 刚果(布)
CD 刚果(金)
CK 库克群岛
CR 哥斯达黎加
CI 科特迪瓦
HR 克罗地亚
CU 古巴
CY 塞浦路斯
CZ 捷克
DK 丹麦
DJ 吉布提
DM 多米尼克
DO 多米尼加
EC 厄瓜多尔
EG 埃及
SV 萨尔瓦多
GQ 赤道几内亚
ER 厄立特里亚
EE 爱沙尼亚
ET 埃塞俄比亚
FK 马尔维纳斯群岛(福克兰)
FO 法罗群岛
FJ 斐济群岛
FI 芬兰
FR 法国
GF 法属圭亚那
PF 法属波利尼西亚
TF 法属南部领地
GA 加蓬
GM 冈比亚
GE 格鲁吉亚
DE 德国
GH 加纳
GI 直布罗陀
GR 希腊
GL 格陵兰
GD 格林纳达
GP 瓜德罗普
GU 关岛
GT 危地马拉
GG 根西岛
GN 几内亚
GW 几内亚比绍
GY 圭亚那
HT 海地
HM 赫德岛和麦克唐纳群岛
VA 梵蒂冈
HN 洪都拉斯
HK 中国香港
HU 匈牙利
IS 冰岛
IN 印度
ID 印尼
IR 伊朗
IQ 伊拉克
IE 爱尔兰
IM 马恩岛
IL 以色列
IT 意大利
JM 牙买加
JP 日本
JE 泽西岛
JO 约旦
KZ 哈萨克斯坦
KE 肯尼亚
KI 基里巴斯
KP 朝鲜
KR 韩国
KW 科威特
KG 吉尔吉斯斯坦
LA 老挝
LV 拉脱维亚
LB 黎巴嫩
LS 莱索托
LR 利比里亚
LY 利比亚
LI 列支敦士登
LT 立陶宛
LU 卢森堡
MO 中国澳门
MK 马其顿
MG 马达加斯加
MW 马拉维
MY 马来西亚
MV 马尔代夫
ML 马里
MT 马耳他
MH 马绍尔群岛
MQ 马提尼克
MR 毛里塔尼亚
MU 毛里求斯
YT 马约特
MX 墨西哥
FM 密克罗尼西亚联邦
MD 摩尔多瓦
MC 摩纳哥
MN 蒙古国 蒙古
MS 蒙塞拉特岛
MA 摩洛哥
MZ 莫桑比克
MM 缅甸
NA 纳米比亚
NR 瑙鲁
NP 尼泊尔
NL 荷兰
AN 荷属安的列斯
NC 新喀里多尼亚
NZ 新西兰
NI 尼加拉瓜
NE 尼日尔
NG 尼日利亚
NU 纽埃
NF 诺福克岛
MP 北马里亚纳群岛
NO 挪威
OM 阿曼
PK 巴基斯坦
PW 帕劳
PS 巴勒斯坦
PA 巴拿马
PG 巴布亚新几内亚
PY 巴拉圭
PE 秘鲁
PH 菲律宾
PN 皮特凯恩群岛
PL 波兰
PT 葡萄牙
PR 波多黎各
QA 卡塔尔
RE 留尼汪
RO 罗马尼亚
RU 俄罗斯
RW 卢旺达
SH 圣海伦娜岛
KN 圣基茨和尼维斯
LC 圣卢西亚
PM 圣皮埃尔和密克隆
VC 圣文森特和格林纳丁斯
WS 萨摩亚
SM 圣马力诺
ST 圣多美和普林西比
SA 沙特阿拉伯
SN 塞内加尔
ME 黑山
SC 塞舌尔
SL 塞拉利昂
SG 新加坡
SK 斯洛伐克
SI 斯洛文尼亚
SB 所罗门群岛
SO 索马里
ZA 南非
GS 南乔治亚岛和南桑威奇群岛
ES 西班牙
LK 斯里兰卡
SD 苏丹
SR 苏里南
SJ 斯瓦尔巴群岛和扬马延岛
SZ 斯威士兰
SE 瑞典
CH 瑞士
SY 叙利亚
TW 中国台湾
TJ 塔吉克斯坦
TZ 坦桑尼亚
TH 泰国
TL 东帝汶
TG 多哥
TK 托克劳
TO 汤加
TT 特立尼达和多巴哥
TN 突尼斯
TR 土耳其
TM 土库曼斯坦
TC 特克斯和凯科斯群岛
TV 图瓦卢
UG 乌干达
UA 乌克兰
AE 阿联酋
GB 英国
US 美国
UM 美国本土外小岛屿
UY 乌拉圭
UZ 乌兹别克斯坦
VU 瓦努阿图
VE 委内瑞拉
VN 越南
VG 英属维尔京群岛
VI 美属维尔京群岛
WF 瓦利斯和富图纳
EH 西撒哈拉
YE 也门
ZM 赞比亚
ZW 津巴布韦
RS 塞尔维亚

错误码

状态码 描述
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 阻止规则阻止
10041 黑名单阻止
10042 元素限定
99994 请求方式不正确
99995 支付渠道连接超时
99996 数据类型转换异常
99997 参数缺失或不符合限制条件
99998 渠道支付失败
99999 系统异常

币种

编码 名称
CNY 人民币
USD 美元
GBP 英镑
HKD 港币
CHF 瑞士法郎
SGD 新加坡元
SEK 瑞典克朗
DKK 丹麦克朗
NOK 挪威克朗
JPY 日元
CAD 加拿大元
AUD 澳元
EUR 欧元
MOP 澳门元
PHP 菲律宾比索
THB 泰铢
NZD 新西兰元
KRW 韩元
RUB 俄罗斯卢布
MYR 马来西亚林吉特
TWD 新台币
INR 印度卢比