跳转至

对接须知

回调测试

  • 测试状态下将不会产生流水,不会加减商户余额,但是会产生订单,代付可正常请求
  • 测试状态下,接口请求成功后将会在60秒内自动回调成功
  • 若需要回调失败,请将name字段的值传为FAILURE
  • 代收若需实付金额订单金额**大**则将name字段的值传为OverOrderAmount,实收金额会随机返回amount+rand(amount/2)的金额
  • 代收若需实付金额订单金额**小**则将name字段的值传为LessOrderAmount,实收金额会随机返回rand(amount/2)的金额
  • 如需冲正状态则name字段带后缀REVERSE,例如FAILURE_REVERSE(先回调失败然后回调成功),example_REVERSE(先回调成功然后回调失败)

网关地址

国家 协议 域名 回调IP 描述
印度 HTTPS {accessId}.kamdpay.com 13.202.16.105 支付网关,请根据需要添加回调IP白名单

构造请求

请求URI

<protcol>://<domain>/<requestPath>

参数说明:

参数 必选 描述
protocol 请求使用的协议,如HTTP, HTTPS。HTTPS表示通过的安全的HTTPS访问该资源,请参考网关地址中的协议字段
domain 网关域名,请参考网关地址中的域名字段
requestPath 请求路径,具体可参考对应接口文档中的请求路径字段

请求方法

方法 说明
POST 本文档中所有请求都是以POST请求方式发出

请求头

请求头 必填
Content-Type application/json

请求消息体

具体请求参数请参考对应接口的请求参数

参数名 必填 类型 示例 描述
accessId string AK1070400fc5f4b1e78 接入ID,创建商户后会提供
timestamp string 1733912358000 unix(毫秒-13位)时间戳, 和我方服务器时间误差不可超过1分钟
signNonce string aaa123123 签名随机字符串,1分钟内不可重复
sign string 022af4023d2ba3e197c5e2162e87b9fc 请求签名, 请参考签名规则
{
  "accessId": "AK796512861378",
  "amount": "10000",
  "calbackUrl": "",
  "email": "example@example.xyz",
  "merchantOrderNo": "daa02991-db2d-41a4-b7b2-ef2b0e5b506c",
  "name": "example",
  "phone": "7277528013",
  "sign": "a9668d33936f0c98b20dd74d8e02efe2",
  "signNonce": "0.zg0yveykqs",
  "timestamp": "1744967642023"
}

请求签名

Info

签名方式请求是通过对原始请求参数通过一定加密算法生成一个签名值,请求带什么参数就对所携带的参数进行签名,如果签了名但是请求中没有携带该参数则会导致验签失败,如果携带了参数但是没有签名也会导致验签失败

  1. 获取请求参数集合requestMap, 如:

    {
      "accessId": "AK796512861378",
      "amount": "10048",
      "calbackUrl": "",
      "email": "example@example.xyz",
      "merchantOrderNo": "25a1fce2-b503-4cdb-a382-3fe4bd9afdc5",
      "name": "example",
      "phone": "7277528013",
      "signNonce": "0.97vuhubl8ho",
      "timestamp": "1745574753758"
    }
    
  2. 对集合requestMap非空参数值按照参数名ASCII码从小到大排序(字典序), 使用URL键值对格式key1=value1&key2=value2&key3=value3拼接成字符串requestParamsStr,待签名串应遵循如下规范:

    • 参数名ASCII码从小到大排序
    • 如果参数的值为空不参与签名
    • 参数名区分大小写
    • 接口可能增加或减少字段,签名时须支持增加或减少的字段
    • 请求参数中必须包含参数"signNonce"且不为空,值为随机字符串,该值1分钟内不可重复,该参数必须参与签名
    • 请求参数中必须包含参数"timestamp"且不为空,值为当前毫秒(13位)时间戳,该值时间不能和服务器时间相差大于1分钟,该参数必须参与签名
  3. 得到的待签名的字符串requestParamsStr&sk={AccessSecret}(AccessSecret可在商户后台->基本信息->开发配置中获取), 最终得到待签名字符串signStr,例如:

    accessId=AK796512861378&amount=10048&email=example@example.xyz&merchantOrderNo=25a1fce2-b503-4cdb-a382-3fe4bd9afdc5&name=example&phone=7277528013&signNonce=0.97vuhubl8ho&timestamp=1745574753758&sk=nUuoLks4PmuqXdDJe2Wwd0mLzIvXVMjZ
    
  4. signStr进行MD5签名得到十六进制签名值sign(小写字符串),如: 40a3c6c24a13ccfcbd3c5f51e23052d1

  5. 将签名sign放入请求参数集合中,并发往服务器,例如:

    {
      "accessId": "AK796512861378",
      "amount": "10048",
      "calbackUrl": "",
      "email": "example@example.xyz",
      "merchantOrderNo": "25a1fce2-b503-4cdb-a382-3fe4bd9afdc5",
      "name": "example",
      "phone": "7277528013",
      "signNonce": "0.97vuhubl8ho",
      "timestamp": "1745574753758",
      "sign": "40a3c6c24a13ccfcbd3c5f51e23052d1"
    }