2.md 15 KB

2.通用API说明

商户服务器和 AllPay 网关对接的通用接口,每个渠道都具有的功能,包括:订购消费,订购预授权,订购预授权完成,预售期撤销,查询接口。

2.1.验签说明

1.对于发送到 ALLPAY 系统的 POST 请求报文,其中所有传入参数(除 sign 参数外)按照字段名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 String1。

2.在 String1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 K1(接入时 ALLPAY 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行sha256 运算,得到 sign 的值。

3.示例签名串

card_no=5200831111111113&currency=CNY&expiry_date=1119&mch_id=000000000000015&order_amount=100&sign_type=SHA256&trade_no=370000197809218764&trade_time=20180829165052&trade_type=PURC2f2c77e3718c47cfb47a89a6fbc9d361

3.2.通用API 接入地址

开发调试地址 生产交易地址
https://testapi.allpayx.com/expup https://api.allpayx.com/expup

3.3.订购消费接口

接口说明:

该接口可以进行订购消费,每次trade_no不能重复

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :----------- | :--- | ---------------------------------------------- | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 消费填写"PURC" | | trade_no | M | 商户自行定义,需保证同一商户号下订单号不能重复 | | order_amount | M | 订单金额 如100元,表示为100或100.00 | | currency | M | 订单币种 人民币填写“CNY”,美元填写"USD" | | card_no | M | 卡号 | | expiry_date | M | 有效期 MMYY | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "PURC",
   	"trade_no": "370000197809218764",
   	"order_amount": "100",
   	"currency": "CNY",
   	"card_no": "5200831111111113",
   	"expiry_date": "1119",
   	"trade_time": "20180829165052",
   	"sign_type": "SHA256",
   	"sign": "426907204360081d7c728a6695067bc84233e82d0e3a61703313d874aa741d76"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
sign_type M SHA256
sign M 签名

举例如下:

{
  "resp_code": "00",
  "resp_msg": "SUCCESS",
  "mch_id": "000000000000015",
  "trade_type": "PURC",
  "trade_time": "20180829165048",
  "trade_no": "520000197701311324",
  "sign_type": "SHA256",
  "sign": "7ca2442edac07b92ee9d086d2df1635b62c1d5d4ab33ffe8ceb2c195579a8698"
}

3.4.消费退款接口

接口说明:

该接口可以对订购消费进行退款,退款时origin_trade_no填写订购消费时的trade_no,可以进行分步退款,分步退款时每次的trade_no不能重复。

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :------------- | :--- | ---------------------------------------------- | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 退款填写"REFD" | | trade_no | M | 商户自行定义,需保证同一商户号下订单号不能重复 | | origin_trade_no | M | 原订购消费订单号, 原交易类型必须为PURC | | refund_amount | M | 退款金额 如100元,表示为100或100.00 | | currency | M | 订单币种 人民币填写“CNY”,美元填写"USD" | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "REFD",
   	"trade_no": "990000198707011244",
   	"origin_trade_no": "230000197106062088",
   	"refund_amount": "1",
   	"currency": "CNY",
   	"trade_time": "20180829165313",
   	"sign_type": "SHA256",
   	"sign": "edc8e56be38190402ee537e3fc4e30766d47a0ca297c2de4be460a99a6139e14"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
sign_type M SHA256
sign M 签名

举例如下:

{
  "resp_code": "00",
  "resp_msg": "SUCCESS",
  "mch_id": "000000000000015",
  "trade_type": "REFD",
  "trade_time": "20180829165313",
  "trade_no": "990000198707011244",
  "sign_type": "SHA256",
  "sign": "3a370170181a5aa6b5f53cb3ae81890813c455df6ec9b1a894a49302fcc3d055"
}

3.5.订购预授权

接口说明:

该接口可以进行订购预授权,每次trade_no不能重复

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :----------- | :--- | ---------------------------------------------- | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 预授权填写" PAUT " | | trade_no | M | 商户自行定义,需保证同一商户号下订单号不能重复 | | order_amount | M | 订单金额 如100元,表示为100或100.00 | | currency | M | 订单币种 人民币填写“CNY”,美元填写"USD" | | card_no | M | 卡号 | | expiry_date | M | 有效期 MMYY | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "PAUT",
   	"trade_no": "620000199911267889",
   	"order_amount": "100",
   	"currency": "CNY",
   	"card_no": "5200831111111113",
   	"expiry_date": "1119",
   	"trade_time": "20180829165720",
   	"sign_type": "SHA256",
   	"sign": "ac7cf7d284cf72743e16c51b7a95d9a61b7dbb6f50e92f5699ecf4d9f8e65aee"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
sign_type M SHA256
sign M 签名

举例如下:

{
  "resp_code": "00",
  "resp_msg": "SUCCESS",
  "mch_id": "000000000000015",
  "trade_type": "PAUT",
  "trade_time": "20180829165720",
  "trade_no": "620000199911267889",
  "sign_type": "SHA256",
  "sign": "7421f9720d56b1d417edc26f89d2777b74d7745440bfc4957c853474f20ea4f7"
}

3.6.订购预授权完成

接口说明:

该接口可以对订购预授权完成,origin_trade_no填写订购预授权时的trade_no

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :-------------- | :--- | ---------------------------------------------- | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 预授权完成填写" PAUC " | | trade_no | M | 商户自行定义,需保证同一商户号下订单号不能重复 | | origin_trade_no | M | 原预授权订单号, 原交易类型必须为PAUT | | order_amount | M | 订单金额 如100元,表示为100或100.00 | | currency | M | 订单币种 人民币填写“CNY”,美元填写"USD" | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "PAUC",
   	"origin_trade_no": "620000199911267889",
   	"trade_no": "310000198512106263",
   	"order_amount": "100",
   	"currency": "CNY",
   	"trade_time": "20180829170036",
   	"sign_type": "SHA256",
   	"sign": "0a532fdc7488bdbc6cdc87d24635fdd7294d6d3fc8cf0eb387d4b74b5fc3dcb7"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
sign_type M SHA256
sign M 签名

举例如下:

{
  "resp_code": "00",
  "resp_msg": "SUCCESS",
  "mch_id": "000000000000015",
  "trade_type": "PAUC",
  "trade_time": "20180829170036",
  "trade_no": "310000198512106263",
  "sign_type": "SHA256",
  "sign": "5769c35d68d8263ace180e224eea6ebb8907cc1a1042a9f955cd9c32fd0602cf"
}

3.7.撤销接口

接口说明:

该接口可以对 订购消费,订购预授权,订购预授权完成进行撤销,origin_trade_no填写对应交易的trade_no。

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :-------------- | :--- | ---------------------------------------------- | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 撤销填写"VOID " | | trade_no | M | 商户自行定义,需保证同一商户号下订单号不能重复 | | origin_trade_no | M | 需要撤销的订单号 | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "VOID",
   	"trade_no": "370000197912155378",
   	"origin_trade_no": "460000201604155983",
   	"trade_time": "20180829170913",
   	"sign_type": "SHA256",
   	"sign": "6c0815cd8f364dacc965e6bc2ce144fe56b7743912f0520db33c9c3393e75d26"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
sign_type M SHA256
sign M 签名

举例如下:

{
  "resp_code": "00",
  "resp_msg": "SUCCESS",
  "mch_id": "000000000000015",
  "trade_type": "VOID",
  "trade_time": "20180829170913",
  "trade_no": "370000197912155378",
  "sign_type": "SHA256",
  "sign": "d48e6a23b87f7f3b47598aed52fe60aaccb053979de588170f943f9a3426ced4"
}

3.8.交易查询

接口说明:

该接口可以对订购消费,订购预授权,订购预授权完成,退款,撤销,进行查询,trade_no填写要查询的订单的

  1. 请求参数

| 参数名称 | 必填 | 使用说明 | | :--------- | :--- | ------------------------------ | | mch_id | M | 商户ID,由AllPay分配 | | trade_type | M | 交易类型 查询填写"INQY" | | trade_no | M | 需要查询状态的订单号 | | trade_time | M | 交易时间,格式:"yyyyMMddHHmmss" | | sign_type | M | SHA256 | | sign | M | 签名 |

举例如下:

   {
   	"mch_id": "000000000000015",
   	"trade_type": "INQY",
   	"trade_no": "990000198707011244",
   	"trade_time": "20180829171422",
   	"sign_type": "SHA256",
   	"sign": "2bdfe50dc7c207891e132485eedf978c3f355f3a8e3ad25d6b4260c388a584c5"
   }
  1. 响应报文

参数如下表:

参数名称 必填 使用说明
resp_code M 应答码 00-成功
resp_msg M 应答信息
mch_id M 商户ID,由AllPay分配
trade_type M 交易类型
trade_time M 交易时间
trade_no M 交易订单号
order_amount C trade_type 为PURC,PAUT,PAUC时返回
refund_amount C trade_type 为REFD时返回
currency C trade_type 为PURC,PAUT,PAUC,REFD时返回
sign_type M SHA256
sign M 签名

举例如下:

{
  "mch_id": "000000000000015",
  "trade_type": "REFD",
  "trade_time": "20180829165313",
  "trade_no": "990000198707011244",
  "refund_amount": "1",
  "currency": "CNY",
  "sign_type": "SHA256",
  "sign": "4ab0c48ac6aac058f7f5d6473679dcebc91d6c57cf3f690ab8984248b5b960f9"
}