收银台模式
# 收银台模式
# 请求地址
https://{host}/v2/checkout
1
# 请求参数
# 请求参数签名
注意 :
当前接口为部分加签,仅在下面列表中的参数参与签名
# 加签参数列表
参数名 | 描述 |
---|---|
accId | PingPong商户店铺号 |
amount | 交易金额 |
currency | 交易币种 |
transactionId | PingPong交易流水号 |
merchantTransactionId | 商户交易流水号 |
signType | 加签类型 |
# 获取签名参数列表
准备一个ArrayList 加签参数列表
遍历收到的请求参数列表。
每次循环都比较请求参数的参数名是否在加签参数列表
在加签参数列表的参数加入新的签名参数列表
# PHP伪代码示例:
<?php
$request = isPingPongPay($requestParams);
if(empty($request)){
throw new Error("验签失败");
}
$needSign = [];
$scope = [
"clientId",
"accId",
"amount",
"currency",
"cardNum",
"transactionId",
"merchantTransactionId",
"requestId",
"signType",
]
foreach($request as $key=>$value){
if(in_array($key,$scope)){
$needSign[$key] = $value;
}
// then if not empty $needSign you will to Generate signature string
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 签名串的生成
待签名参数列表按照字典序排序
将排序后的待签名参数列表转成url查询字符串(用'=' 进行参数名和参数值(trim 后的值)的拼接,用'&'进行多 个参数之间的拼接,即 key1=val1&key2=val2&key3=val。)
3.拼接签名密钥(secret): 签名密钥放入签名串的位置为签名串的开头,即{salt}key1=val2&key2=val2&key3=val3
- 签名串进行MD5运算后所有字符串转成大写,即可获得正确的签名
# 重要入参说明
注意 :
1. merchantTransactionId 应是全局唯一,不可重复
2. requestId 应是全局唯一,不可重复
3. amount 精确到两位小数,没有小数部分的补零。(如 25.12 或 20.00)
4. paymentType 一般为SALE 如果要对接AUTH请在对接过程告知,并在测试报告中声明,一定通过验收后才能上线,以免发生交易问题
5. 在收银台模式下 device browserInfo 可以通过JS-SDK自动抓取,可以不传
6. shipping billing goods 不能为空 eCommerce airline reCharge carRental 根据行业情况填写,这些参数影响交易成功率,请详实填写。
7. shipping billing state 美国加拿大地区必须填写二字简码,有些地区没有state,可以填写空字符串。
8. merchantUserId 必须全局唯一 没登录或者获取不到的情况请传空字符串。
# 响应参数
参数字段 | 参数属性 | 参数说明 |
---|---|---|
clientId | M | PingPong 商户商户号 |
accId | M | PingPong 商户店铺编号 |
merchantTransactionId | M | 商户网站的的交易流水号 |
code | M | 结果状态码 |
description | M | 结果描述 |
token | M | 收银台模式下,本次结账请求的唯一标示 |
paymentUrl | M | PingPong 支付收银台地址 |
innerJsUrl | M | PingPong 内嵌 JS 文件内容地址 |
signType | M | 签名规约,支持 MD5、SHA256,具体⻅本文“签名规约” 一栏 |
sign | M | 签名内容,具体⻅本文“签名规约”一栏 |
remark | O | 商户扩展字段 |
paymentHtml | O | 预留字段 |
上次更新: 2022/05/30, 17:59:57