## **数据格式及数据签名说明**
**通知数据**
- 采 用 HTTP 标 准 的 POST 协 议 ( 请 使 用 application/x-www-form-urlencoded 此Content-Type 接收通知消息),为了保证数据正确性、准确性,数据必须验证签名。
- 返回数据(支付成功通知如下)
```
<leshua>
<error_code>0<error_code>
<amount>1<amount>
<attach>0<attach>
<bank_type>ALIPAYACCOUNT<bank_type>
<buyer_pay_amount><buyer_pay_amount>
<channel_datetime>2018-12-07 22:42:39<channel_datetime>
<channel_order_id>7551000001201812073279154152<channel_order_id>
<coupon>0<coupon>
<discount_amount>0<discount_amount>
<goods_tag><goods_tag>
<leshua_order_id>1812072242293655<leshua_order_id>
<merchant_id>0000000018<merchant_id>
<openid>2088032562556921<openid>
<out_transaction_id>2018120722001456935441223102<out_transaction_id>
<pay_time>2018-12-07 22:42:39<pay_time>
<pay_way>ZFBZF<pay_way>
<royalty>0<royalty>
<settlement_amount>1<settlement_amount>
<sign>0b574d40e722ec76b55d4e8795f71182<sign>
<status>2<status>
<sub_openid><sub_openid>
<third_order_id>20181207224223102101<third_order_id>
<trade_type>NATIVE<trade_type>
<leshua>
```
----
**数据签名**
- 为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。
- 数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
**签名数据规则如下**:
- 签名原始串按以下方式组装成字符串(不包含签名 Key):
1. 请求:除 sign 字段外,所有参数按照字段名的 ascii 码从小到大排序后使用QueryString 的格式(即 key1=value1&key2=value2…)拼接而成,空值不传递,不参与签名组串。
2. 应答:除 sign、leshua、resp\_code 字段外,所有参数按照字段名的 ascii 码从小到大排序后使用 QueryString 的格式(即 key1=value1&key2=value2…)拼接而成,空值参与签名组串。
3. 签名原始串中,字段名和字段值都采用原始值,不进行 URL Encode。
**签名算法如下**:
- 目前只支持 MD5 签名算法。
- 交易报文 MD5 计算:sign = MD5(3.1 组装的字符串&key=商户交易密钥).toUpperCase()。
- 通知报文 MD5 计算:sign = MD5(3.1 组装的字符串&key=商户通知密钥).toLowerCase()。
**注**:
- 所有涉及到金额的单位都位分,币种为 RMB,最小为 1 分,不允许出现小数。
- 返回参数中必填为是的参数是一定会返回的,必填为否的参数则不一定返回,因升级或配置等情况实际返回参数可能不会跟文档完全一致,必须以实际接收到的参数为准。
- 产品介绍
- 1、概述
- 2、变更记录
- 应用场景
- 进件应用场景
- 交易应用场景
- 对账应用场景
- 交易错误码信息参照表
- 进件接口
- 接口指南及签名算法等说明
- 图片上传
- 商户进件
- 商户开通业务
- 商户信息修改
- 商户查询
- 商户支付参数-新增
- 商户支付参数-查询
- 商户审核回调
- 子商户号查询
- 商户微信实名认证-申请
- 商户微信实名认证-撤销
- 商户微信实名认证-查询
- 交易接口
- 数据格式及签名规则说明
- 统一下单
- 条码支付
- 交易结果查询
- 订单关闭
- 退款
- 退款查询
- 授权码查询用户openid
- 授权码获取银联云闪付用户ID
- 退款结果通知
- 支付结果通知
- 打款查询
- 商户打款单结果查询
- 查询商户指定日期打款情况
- 查询旗下商户打款失败明细
- 打款回调
- 对账单文件
- 交易对账单
- 代理商分润对账单
- 代理商退货分润对账单
- 商户打款单
- POS机具通知
- 数据格式及数据签名说明
- 扫码支付成功通知
- 扫码退款通知
- 刷卡交易通知
- FAQ
- 进件相关
- 交易相关
- POS相关
- 手续费及分润计算
- Demo相关下载
- Demo与进件相关数据和对账单文件示例下载
- Java-SDK使用说明
- 商户进件资料提交规范
- 商户信息提交规范
- 商户结算信息提交规范
- 图片上传提交规范
- 结算
- 常见打款失败原因
- 商户修改结算卡流程
- 商户特殊业务
- 商户申请关注公众号
- 商户申请手续费开票流程
- 机具购买流程
- saasPOS机具清单信息
- 服务商机具购买流程
- saas刷脸设备清单信息
- 商户微信认证操作指引
- 商户微信认证操作指引
- 重要通知