数字签名说明
为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。
数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
一般支付失败的结果不签名。
签名原始串规范说明
1、所有指定签名参数值按照(parmValue1+~|~+parmValue2+~|~+parmValue3+…)拼接而成,每个参数值中间采用分隔符 ~|~ 拼接。
2、签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。
3、参数值区分大小写。
4、签名排列顺序必须按照指定格式排列拼接。见下文。
签名原始串指定格式
无论是请求还是应答,签名原始串组装成字符串按下面方式拼接,参数值含义请参考API网关请求介绍章节。
post 请求 支付网关原始签名串格式如下:
请求支付网关原始签名串街口支付
- merchant_code+"~|~"+interface_version+"~|~"+sign_type+"~|~"+order_no+"~|~"+order_time+"~|~"
- +order_amount+"~|~"+product_number+"~|~"+notify_url+"~|~"+return_url+"~|~"+bank_code+"~|~"
- +notice_type+"~|~"+service_type
异步通知接收 原始签名串格式如下:
异步通知接收原始签名串街口支付
- merchant_code+"~|~"+interface_version+"~|~"+order_no+"~|~"+trade_no+"~|~"+order_amount+"~|~"
- +product_number+"~|~"+order_success_time+"~|~"+order_time+"~|~"+order_status+"~|~"+bank_code