签名规范说明

数字签名说明

为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。

数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。

一般支付失败的结果不签名。


签名原始串规范说明

1、所有指定签名参数值按照(parmValue1+~|~+parmValue2+~|~+parmValue3+…)拼接而成,每个参数值中间采用分隔符 ~|~ 拼接。

2、签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。

3、参数值区分大小写。

4、签名排列顺序必须按照指定格式排列拼接。见下文。


签名原始串指定格式

无论是请求还是应答,签名原始串组装成字符串按下面方式拼接,参数值含义请参考API网关请求介绍章节。

post 请求 支付网关原始签名串格式如下:

请求支付网关原始签名串街口支付

  1. merchant_code+"~|~"+interface_version+"~|~"+sign_type+"~|~"+order_no+"~|~"+order_time+"~|~"
  2. +order_amount+"~|~"+product_number+"~|~"+notify_url+"~|~"+return_url+"~|~"+bank_code+"~|~"
  3. +notice_type+"~|~"+service_type

异步通知接收 原始签名串格式如下:

异步通知接收原始签名串街口支付

  1. merchant_code+"~|~"+interface_version+"~|~"+order_no+"~|~"+trade_no+"~|~"+order_amount+"~|~"
  2. +product_number+"~|~"+order_success_time+"~|~"+order_time+"~|~"+order_status+"~|~"+bank_code