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=6222020302030778784¤cy=CNY&expiry_date=0824&mch_id=000000000000015&order_amount=100&sign_type=SHA256&trade_no=5389535343453&trade_time=20180821120001&trade_type=PURC2f2c77e3718c47cfb47a89a6fbc9d361
3.2. 通用API 接入地址
开发调试地址 | 生产交易地址 |
---|---|
https://testapi.allpayx.com/expup | https://api.allpayx.com/expup |
3.3. 订购消费接口
请求参数
参数名称 必填 使用说明 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:"5389535343453", order_amount:"100", currency:"CNY", card_no:"6222020302030778784", expiry_date:"0824", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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:"20180821120001",
trade_no:"5389535343453",
sign_type:"SHA256",
sign:""
}
3.4. 消费退款接口
请求参数
参数名称 必填 使用说明 mch_id M 商户ID,由AllPay分配 trade_type M 交易类型 退款填写"REFD" trade_no M 商户自行定义,需保证同一商户号下订单号不能重复 origin_trade_no M 原交易订单号 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:"35252352352525", origin_trade_no:"5389535343453", refund_amount:"100", currency:"CNY", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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:"20180821120001",
trade_no:"35252352352525",
sign_type:"SHA256",
sign:""
}
3.5. 订购预授权
请求参数
参数名称 必填 使用说明 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:"PURC", trade_no:"5389535343453", order_amount:"100", currency:"CNY", card_no:"6222020302030778784", expiry_date:"0824", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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:"20180821120001",
trade_no:"5389535343453",
sign_type:"SHA256",
sign:""
}
3.6. 订购预授权完成
请求参数
参数名称 必填 使用说明 mch_id M 商户ID,由AllPay分配 trade_type M 交易类型 预授权完成填写" PAUC " trade_no M 商户自行定义,需保证同一商户号下订单号不能重复 origin_trade_no M 原订单号 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", trade_no:"424234234242423", origin_trade_no:"5389535343453", order_amount:"100", currency:"CNY", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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:"20180821120001",
trade_no:"424234234242423",
sign_type:"SHA256",
sign:""
}
3.7. 撤销接口
请求参数
参数名称 必填 使用说明 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:"4324242424234234", origin_trade_no:"424234234242423", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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:"20180821120001",
trade_no:"4324242424234234",
sign_type:"SHA256",
sign:""
}
3.8.交易查询
请求参数
参数名称 必填 使用说明 mch_id M 商户ID,由AllPay分配 trade_type M 交易类型 查询填写"INQY" origin_trade_type M 要查询的交易类型 PURC,PAUT,PAUC,REFD,VOID trade_no M 订单号 trade_time M 交易时间,格式:"yyyyMMddHHmmss" sign_type M SHA256 sign M 签名 举例如下:
{ mch_id:"000000000000015", trade_type:"INQY", origin_trade_type:"PURC", trade_no:"5389535343453", trade_time:"20180821120001", sign_type:"SHA256", sign:"" }
响应报文
参数如下表:
参数名称 | 必填 | 使用说明 |
---|---|---|
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 | 签名 |
举例如下:
{
resp_code:"00",
resp_msg:"SUCCESS",
mch_id:"000000000000015",
trade_type:"PURC",
order_amount:"100",
currency:"CNY",
trade_time:"20180821120001",
trade_no:"5389535343453",
sign_type:"SHA256",
sign:""
}