Skip to main content

前言

流程说明

  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&key2=value2&key3=value3&......拼接),最后拼接KEY=xxxx(易百提供的macKey);

  2. 签名时,对签名数据进行MD5加密(32位);

  3. 测试环境暂时不验签。

    请求地址及测试参数

    1. 通讯方式HTTPS,字符编码UTF-8,交互数据格式Json
    1. 测试环境请求地址:

    https://qrpaymobiletest.e-buychina.com.cn/api/openApi/merchant

    1. 测试参数:

    uid:sg_1458_001

    psw:654321

    key:499E8A1D1E295E76688A5D9B695312E9