# 前言

### 流程说明

1. 第三方发起二维码数据请求，并把相关的身份标志提交给易百开放的接口，易百安全验证且验证身份通过后会返回二维码对应的数据；
2. 第三方获取到二维码数据，用数据以二维码的样式展示，展示的载体由第三方自行定义
3. 消费者打开易百所支持的支付类钱包，扫描第三方所展示的二维码，确认金额后支付；
4. 易百得到消费者支付的结果生成对应的支付记录，供第三方查询支付结果；
5. 

### 名词解释和统一报文结构

1. 字段说明中，N为必填，O为选填。
2. 响应报文外层参数callReturnCode：表示接口调用是否成功；
    
    响应报文body内参数returnCode：表示该请求实际的交易结果是否成功；

#### 请求 (加密，签名前)：

```
{
    "action": "merchantGetCodeImpl",        //N，action值，不同接口对应不同的action
    "uid": "sg_1458_001",                //N，商户号，由易百分配
    "psw": "F52FB1124231E6BA683F5C2CB5C8ADF6",    //N，终端号，由易百分配，需加密见1.4
    "body": {                    //N，报文主体内容，需要加密，加密方法见1.4
        "orderNo": "12345678920",
        "totalAmount": 0.01,
        "goodsDetail": [{
            "goodsId": "434",
            "goodsName": "奶茶",
            "price": 0.01,
            "quantity": 1
        }]
    },
    "sign": "xxxxxxx"                //N，签名值，签名方法见1.5
}

```

#### 响应（验签，解密后）：

```
{
    "sign": "xxxxxxx",                //N，签名值，验签方法见1.5
    "body": {                    //N，报文主题内容，解密方法见1.4
        "returnCode": "00",
        "orderNo": "12345678920",
        "returnDesc": "操作成功",
        "orderNoQrcode": "http://qrpaytest.e-buychina.com.cn/api/user/0D8DF0B717B4190292B8A6044DDC1B9B65CE6B244F3706A70BCD9C7C5802C15D0C59789C48F7F308572C6DFFD4694C7F730A27C2290BA9B1DFFA97C8AE14A731"
    },
    "callReturnCode": "00",            //N，接口调用结果返回码
    "callReturnDesc": "Interface call success",    //N，接口调用结果返回结果
    "action": "merchantGetCodeImpl",        //N，action值，和请求一致
}

```

### body报文主题加解密方法

body加密时，对body的JSON格式字符串进行Base64加密。

body解密时，进行Base64解密。

psw加密：MD5(uid + MD5（psw）)

MD5均为32位加密，大写

### sign签名和验签方法

1. 签名数据（除sign字段外按key字典顺序按key1=value1&amp;key2=value2&amp;key3=value3&amp;......拼接），最后拼接KEY=xxxx（易百提供的macKey）；
2. 签名时，对签名数据进行MD5加密（32位）；
3. 测试环境暂时不验签。
    
    ### 请求地址及测试参数
    
    
    1. 通讯方式HTTPS，字符编码UTF-8，交互数据格式Json
    
    
    1. 测试环境请求地址：
    
    [https://qrpaymobiletest.e-buychina.com.cn/api/openApi/merchant](https://qrpaymobiletest.e-buychina.com.cn/api/openApi/merchant)
    
    
    1. 测试参数：
    
    uid：sg\_1458\_001
    
    psw：654321
    
    key：499E8A1D1E295E76688A5D9B695312E9