Api接入规范
在 GamingPanda 成功注册商户信息后,贵方会收到两个关键的配置值:
- 商户标识符,GamingPanda 识别贵方的唯一字符串
- 商户密钥,用于API调用签名加密的字符串
提示
请将商户密钥妥善保存
统一签名参数
对于GET和POST请求,签名生成规则如下:
- 将 mid(商户标识符)和 ts(时间戳)追加到参数列表中。
- 对于 GET 请求: 按参数名升序排序,对排序后的键值按照 JSON 格式进行拼接,例如:
{"<key1>":"<value1>","<key2>":"<value2>"}, 然后将 mid(商户标识符)和 ts(时间戳)追加在字符串尾部,最终得到加密前的字符串如下:{"<key1>":"<value1>","<key2>":"<value2>"}{"mid":"m2","ts":"1693798918"} - 对于 POST 请求: 无需排序,将 mid(商户标识符)和 ts(时间戳)追加到读取 POST BODY 获得的JSON String尾部,如:
<post body>{"mid":"m2","ts":"1693798918"}
- 对于 GET 请求: 按参数名升序排序,对排序后的键值按照 JSON 格式进行拼接,例如:
- 将拼接好的字符串以 Merchant Secret 作为 salt 值,使用 SHA256 哈希算法进行加密计算,得到 "sign"的参数值
- 将"mid"、"ts"和"sign"以Query String的格式追加到请求URL中(适用于 GET 和 POST 方法)。
签名参数的详细信息:
| Name | Description |
|---|---|
| mid | 商户标识符 |
| ts | API调用发生的时间戳。精确度:秒。 |
| sign | 从输入参数计算的签名结果;哈希算法:SHA256。 |
签名示例
GET 请求方式签名示例
| Name | Description |
|---|---|
| GET Curl | curl --request GET \--url '{Api Address}/game/list?mid=10001&ts=1693798918&sign=014d93d8c01ff3989f8c71fa22c6d32a7cf1f94918b3d65e3bbfb5413a64cf4e&page=1' |
| Mid | 10001 |
| Secret | r5VTsXcAC6IfwwqbAVYdu9dtmdApRj3f |
| 哈希计算前 | {"page":"1"}{"mid":"10001","ts":"1693798918"} |
| 哈希计算后 (sign string) | e18c815b9a46ee745d67a0e33a8fab7635c37dc2bffc3977859b6dc8e257247c |
POST 请求方式签名示例
| Name | Description |
|---|---|
| POST Curl | curl --request POST \ --url '{Api Address}/game/start?mid=10001&ts=1693798918&sign=014d93d8c01ff3989f8c71fa22c6d32a7cf1f94918b3d65e3bbfb5413a64cf4e' \ --header 'content-type: application/json' \ --data '{"user_id":"64d9c2c9e339629378e5bd52","game_id":7,"currency":"MXN","lang":"en"}' |
| Mid | 10001 |
| Secret | r5VTsXcAC6IfwwqbAVYdu9dtmdApRj3f |
| 哈希计算前 | {"user_id":"64d9c2c9e339629378e5bd52","game_id":7,"currency":"MXN","lang":"en"}{"mid":"10001","ts":"1693798918"} |
| 哈希计算后 (sign string) | c20f4c39b33e06ceb3309cff2bfd9787c0ee9adb10a36765b4ba63dd3df29cde |
|
游戏回调
2025-07-23后接入的新商户,header会添加Content-type: application/json