API文档

代收业务

代收API文档

商户发起代收订单请求成功后,接口返回支付链接(PayURL),用户可直接跳转到该支付链接对应的收银台页面,付款完成支付流程。

代收下单

下单接口说明

请求头请求头说明
请求URL地址商户后台->开发配置,页面获取
请求方式POST
Content-Typeapplication/json
x-api-key商户后台->开发配置-> API Key 获取
x-api-secret商户后台->开发配置-> API Secret 获取

下单参数说明

参数名称类型是否必填描述
MerchantNoString商户自己的订单编号。
NotifyURLString商户自己的回调通知地址。订单状态变更后,平台向商户发送通知。
AmountNumber订单金额,只支持整数
UserNameString用户姓名
UserEmailString用户邮箱
UserPhoneString合法的印度手机号(不要加+91)

下单请求响应数据说明

参数名称类型描述
codeNumber返回码, 0 表示成功
dataAny数据
msgString描述,可空

data 结构

参数名称类型描述
OrderNoString平台单号,需要商户方保存
MerchantNoString商户单号,从请求参数透传
PayURLString收银台支付链接

下单请求示例

  curl --location 'https://{{pay_url}}/payin/create' \
--header 'x-api-key: q15qnt9h2j40wo4ohyu4' \
--header 'x-api-secret: vmbwmre3syslbh7fueuwy89p6afgaictcgovy4fvsnn54duhfbvj3sv50ttablu8' \
--header 'Content-Type: application/json' \
--data-raw '{
  "MerchantNo": "abc_123456789",
  "NotifyURL": "https://{{merchant_notify_url}}",
  "Amount": 200,
  "UserName": "jacky",
  "UserEmail": "c@b.com",
  "UserPhone": "9876543210"
}'
# 响应数据
# {
#     "code": 0,
#     "data": {
#         "PayURL": "https://{{Cashier_Address}}?id=i-1748270794642733347000257&m=18",
#         "OrderNo": "i-1748270794642733347000257",
#         "MerchantNo": "abc_123456789"
#     }
# }

代收回调

接口说明

名称描述
Content-Typeapplication/x-www-form-urlencodedHTTP请求内容类型
请求方法POSTHTTP请求方法

回调数据说明

参数名称类型参与签名描述
OrderNoString平台单号,需要商户方保存
MerchantNoString商户单号,从请求参数透传
AmountString金额
StatusString订单状态, 1 为成功, 0为处理中,其他为失败
NonceString随机数(6-32)
UTRString可空,订单有utr 时返回
SignStringMD5签名,32位小写字母

签名方法

  • 签名方法需使用 MD5 32位加密算法进行 HASH 运算
  • 将参数值非空并且非NULL的参数按照参数名ASCII码从小到大排序,使用 key1=value1&key2=value2...&APISecret 格式拼接成字符串,最后拼接上密钥,MD5-32位签名后结果转为小写。
  • 注意上面的字符串拼接最后的 APISecret 是直接拼接, 不是 key=value 格式,可以查看回调示例中关于签名的例子。
  • 空值或者NULL的值为 ""
  • 密钥从商户后台获取, 路径为:商户后台->开发配置-> API Secret

回调成功返回

  • 商户接收到系统发送的回调通知后,返回 http 状态码 200 即可
  • 商户在收到结果通知时,需要正确响应,如果不正确响应,平台会判定本次通知失败,并重新发送通知,直到成功为止(在通知一直不成功的情况下,平台总共会发起多次通知)。

回调示例

  // 商户接收到的回调数据: 
  // Amount=200.00&MerchantNo=abc_123456789&Nonce=C1A4JPmFgVops&OrderNo=019705f1172c77bf90154048bbe22ded&Sign=138a16fae21abfe4be4f114d00860847&Status=1
  var OrderNo = "019705f1172c77bf90154048bbe22ded";
  var MerchantNo = "abc_123456789";
  var Amount = "200.00";
  var Nonce = "C1A4JPmFgVops";
  var Status = "1";
  var Sign = "138a16fae21abfe4be4f114d00860847";
  var ApiSecret = "wtyu9j26dp2tm3t9o7ga4xjk6g5xte52htyub6e8u4uwyr1ttjq1fa50fpjs2pgn"; // Api Secret 密钥
  // 按照参数名ASCII码从小到大排序
  // 拼接后的字符串: Amount=200.00&MerchantNo=abc_123456789&Nonce=C1A4JPmFgVops&OrderNo=019705f1172c77bf90154048bbe22ded&Status=1&wtyu9j26dp2tm3t9o7ga4xjk6g5xte52htyub6e8u4uwyr1ttjq1fa50fpjs2pgn
  // 拼接后的签名: 138a16fae21abfe4be4f114d00860847
  // 商户验证签名后,进行后续操作

代收订单查询

查询接口说明

请求头请求头说明
请求URL地址商户后台->开发配置,页面获取
请求方式POST
Content-Typeapplication/json
x-api-key商户后台->开发配置-> API Key 获取
x-api-secret商户后台->开发配置-> API Secret 获取

查询传参说明

参数名称类型参与签名描述
OrderNoString平台订单号

查询响应数据说明

参数名称类型描述
OrderNoString平台单号
MerchantNoString商户单号
StatusString订单状态, 1 为成功, 0为处理中,其他为失败
AmountNumber支付金额
UTRString订单utr, 可空

查询请求示例

  curl --location 'https://{{pay_url}}/payin/query' \
--header 'x-api-key: q15qnt9h2j40wo4ohyu4' \
--header 'x-api-secret: vmbwmre3syslbh7fueuwy89p6afgaictcgovy4fvsnn54duhfbvj3sv50ttablu8' \
--header 'Content-Type: application/json' \
--data '{
  "OrderNo": "i-1748270794642733347000257"
}'
# 响应
# {
#     "code": 0,
#     "data": {
#         "OrderNo": "i-1748270794642733347000257",
#         "MerchantNo": "abc_123456789",
#         "Amount": 200,
#         "Status": "1"
#     }
# }