Open API
简体中文
  • English
  • 简体中文
API DOC
API DOC
简体中文
  • English
  • 简体中文
  1. Open API
  • Open API
    • 文档修订记录
    • API接入概述
    • API调用地址
    • Api请求参数说明
    • Api响应参数说明
    • 请求流水号生成说明
    • 接口加密加签步骤
    • 接口解密验签流程
    • 常量说明
      • pay_type支付类型说明
      • order_status订单状态说明
      • status_code 返回状态说明
      • fee_type缴费类型说明
      • attachment_type附件类型说明
      • country_code国家代码说明
      • currency_code货币代码说明
      • 性别说明
      • 证件类型说明
      • 收入来源类型说明
      • 资金来源说明
    • 接口
      • 下单接口
      • 第三方跳转下单接口
      • 附件上传接口
      • 删除附件接口
      • 不确定请求查询(查询请求是否成功)
      • 获取付款地址接口
      • 订单批量查询接口
      • 第三方支付通知接口(不维护)
      • 订单付款操作通知
      • 修改订单信息接口
      • 申请退款接口
      • 关闭订单接口
      • 获取标准学校信息
    • 异步通知说明v2
      • 异步通知说明
      • 异步通知生成签名过程说明
      • 支付成功异步通知
      • 退款结果异步通知
      • 汇出结果异步通知
      • 汇款凭证异步通知
    • 异步通知说明v1(不再维护)
      • 支付成功异步通知参数说明-v1(不再维护, 如果要对接请看v2版本)
      • 异步通知生成签名过程说明
  1. Open API

接口解密验签流程

密文数据:
{
    "status_code": "000000",
    "message": "请求成功",
    "count": 0,
    "data": "[]",
    "sensitive_data": "VRvIblWES8BHhNdIE9z5jALq5Nm3pB7kZ25KfrouHzd7myv7FWuS5QDs0FH3oaO3E6AN+4H/qCHb25aGM2b1vjomxHTvcC1tCq8FBR9hyCAivkpVIMZtOibsxWeXV3zR/GZ2aLCh9p6rkxXFouFMCfKxXQG9dsTMoXy8XmFA8QBhUFtUZTqFvr0fZHlVVd7Os7KBlc8mhV/LFdHE1nHOpleTEl2yVQCssLKUPFvCDc/Ft4smQ4VKVhujvACtwJrrGCCkGqd9n5Ztt7paE3swP7gorkbg7BvExh4Gjm8hvRo9+wBfzSqdMjgHN6gaaz14OPgvVBFLw21uT6xynhY8BfnjomiU/k/uxk2D2hYo8c6/X6xOtq8VZ5w1Mq0WNYt6JAnoIlKck/eSjBnOS0JxkFiwIKHJVc5qHYb5Phg0/JpPMiYuY6fadfmwVoXFi4qnaakgF7BFmfZRT3ygn7DUIyHqD9ouNcsPct3ltcD0AMx5U2dxGc+ZhrLJvbkhqlEndbj7FwdNL7mnZiAugaTgCOtgW7QB4GG6NgCNKEdklEjZ3wokiqlRlcXGusk4/gWvuXjNkDvpWdVjRiwym/EinCO1Ebr6+zzaM6tDc8fZWpDC2Yem1/QthPQWpabEZhiedWLBT7BkSMYciH1MJMJMl3PfM30jPLlt82afzAfqLmMWA1MhnZXU5eip6NLW+jRUoiN9oZjCDp39TSvvd1UzyLusUgPPvoiVO903IfOBUuH3/FKmxrlQPrKP9yC1tuCgL2i2zJtiXWJujKLuyLihHTdhAS+yx4R/ZRsOnV6KnLFuoAX8hD4YtTiZ7rpuM81VrITmNfVto+ub5ENjSpVZGzS2wcl3RzROMNuKyhEkaLLBZ9cFs/cs+PFv4y5Q/SfXBr8Y2ifvkO5v9kUWjhyu8/SroWWA1ZU/Yp69JNXSW8qnBrLkKNuiVWD62TJJ9TZYd05FUcbhneJuqdnfbPO5cP6rBZ5kJvVNEjLh9qqJRJP8vFzF58Dqmt9e9IwV8ANu8LBMlMo++lHtmn/zLiXcI2zGCr2JlSkN/WOoBgrk+ExWHhrIxRIouTkLy5afJYwoSzjK8HUMNocY5E3KBuA14G6GPIql5f9NaZ71C6tBSVGdcyh1QQes77xodZrDFftv1dVrBG+bpIcP0lOKRDEQ5uL8BdaXqtuxPzFJyumQOxnXLpoIgzBN+6fXuT7BBhkf3QwPs7VrJZNRPq0DifXAU7RMInTuk8sC9xcCmXo3537PDCgX8wY4JwzfM/40Mb+KwHMCCb09UBRO9W7KaIsKtkRnoPiZ29VJ6+wWoVYM05E=",
    "return_info": "",
    "extend_info": "",
    "version": "2.0.0",
    "aeskey": "juIf18L7k3fdl/H2b9cr34HvZtGpwkIDbQBAt+oU38qg4s79nF8336o3928TOVBknhkFH/eUXm4tortg2gj3eLky1CQZEyAslf07CghZ52uCi8W4qjBnEzfdy6PT26Q0lFxUdDhiadXnD27adXee84XDHcXJN5uJcVqLT5pUGgA=",
    "sign": "maR2dkwyqdppqUX6YM3CvrJ1RdxGS1Lm2PGWmzLdMEqBfevo0X3NseJVyiVe7QHBzSgxB3TZ8WzaSOnpIi2uTIVZO0XOVPKW95Ou6+TIeUyBJklwzkh4tCFnB1h4OvBwyLDdgib1QA7O+SwaLJZVg9MeeRddzQKQOzUsk28FX1M="
}

1. 验签#

1.先将密文中的sign字段排除掉
2.将密文的数据进行排序拼接(排除sign), 排序拼接规则为先进行排序,按字母a-z进行排序,排序完后以&进行拼接
验签字符串 :
aeskey=juIf18L7k3fdl/H2b9cr34HvZtGpwkIDbQBAt+oU38qg4s79nF8336o3928TOVBknhkFH/eUXm4tortg2gj3eLky1CQZEyAslf07CghZ52uCi8W4qjBnEzfdy6PT26Q0lFxUdDhiadXnD27adXee84XDHcXJN5uJcVqLT5pUGgA=&count=0&data=[]&extend_info=&message=请求成功&return_info=&sensitive_data=VRvIblWES8BHhNdIE9z5jALq5Nm3pB7kZ25KfrouHzd7myv7FWuS5QDs0FH3oaO3E6AN+4H/qCHb25aGM2b1vjomxHTvcC1tCq8FBR9hyCAivkpVIMZtOibsxWeXV3zR/GZ2aLCh9p6rkxXFouFMCfKxXQG9dsTMoXy8XmFA8QBhUFtUZTqFvr0fZHlVVd7Os7KBlc8mhV/LFdHE1nHOpleTEl2yVQCssLKUPFvCDc/Ft4smQ4VKVhujvACtwJrrGCCkGqd9n5Ztt7paE3swP7gorkbg7BvExh4Gjm8hvRo9+wBfzSqdMjgHN6gaaz14OPgvVBFLw21uT6xynhY8BfnjomiU/k/uxk2D2hYo8c6/X6xOtq8VZ5w1Mq0WNYt6JAnoIlKck/eSjBnOS0JxkFiwIKHJVc5qHYb5Phg0/JpPMiYuY6fadfmwVoXFi4qnaakgF7BFmfZRT3ygn7DUIyHqD9ouNcsPct3ltcD0AMx5U2dxGc+ZhrLJvbkhqlEndbj7FwdNL7mnZiAugaTgCOtgW7QB4GG6NgCNKEdklEjZ3wokiqlRlcXGusk4/gWvuXjNkDvpWdVjRiwym/EinCO1Ebr6+zzaM6tDc8fZWpDC2Yem1/QthPQWpabEZhiedWLBT7BkSMYciH1MJMJMl3PfM30jPLlt82afzAfqLmMWA1MhnZXU5eip6NLW+jRUoiN9oZjCDp39TSvvd1UzyLusUgPPvoiVO903IfOBUuH3/FKmxrlQPrKP9yC1tuCgL2i2zJtiXWJujKLuyLihHTdhAS+yx4R/ZRsOnV6KnLFuoAX8hD4YtTiZ7rpuM81VrITmNfVto+ub5ENjSpVZGzS2wcl3RzROMNuKyhEkaLLBZ9cFs/cs+PFv4y5Q/SfXBr8Y2ifvkO5v9kUWjhyu8/SroWWA1ZU/Yp69JNXSW8qnBrLkKNuiVWD62TJJ9TZYd05FUcbhneJuqdnfbPO5cP6rBZ5kJvVNEjLh9qqJRJP8vFzF58Dqmt9e9IwV8ANu8LBMlMo++lHtmn/zLiXcI2zGCr2JlSkN/WOoBgrk+ExWHhrIxRIouTkLy5afJYwoSzjK8HUMNocY5E3KBuA14G6GPIql5f9NaZ71C6tBSVGdcyh1QQes77xodZrDFftv1dVrBG+bpIcP0lOKRDEQ5uL8BdaXqtuxPzFJyumQOxnXLpoIgzBN+6fXuT7BBhkf3QwPs7VrJZNRPq0DifXAU7RMInTuk8sC9xcCmXo3537PDCgX8wY4JwzfM/40Mb+KwHMCCb09UBRO9W7KaIsKtkRnoPiZ29VJ6+wWoVYM05E=&status_code=000000&version=2.0.0
3.将验签的字符串用sha1进行计算获取摘要
4.用公钥(易思汇的公钥)将上一步获取的摘要进行验签(SHA256WithRsa)
摘要值: 793b5e4fd64b5a990578563290ce704317576c4b

2.解密,如果sensitive_data字段没值不需要解密,有值需要解密,解密过程如下#

1.
对aeskey使用base64解码,解码后使用私钥(商户的私钥)进行解密,得到密钥KeyStr,偏移量IVStr(使用KeyStr)
2.
对Cipher进行aes-128-cbc进行解密,解密后使用base64解码,得到sensitive_data
sensitive_data值:
[{'order_id': 'ET20230131163237417688', 'merchant_order_id': '20230131163237395412ET82009', 'order_status': -1, 'institution_name': '实施大失败过负荷为', 'country_code': 'GBR', 'currency_code': 'GBP', 'tuition': 100.0, 'merchant_service_fee': 0.0, 'merchant_service_fee_currency_code': 'GBP', 'order_tuition': 0.0, 'first_name_en': 'Haohao', 'last_name_en': 'Huang', 'name_ch': '黄好号', 'student_id_number': '130633199302285495', 'student_address': None, 'city_name_en': None, 'city_name_ch': None, 'school_name': 'University of California, Davis', 'student_email': '1624553797@qq.com', 'student_mobile': '19935437743', 'wechat_number': '19935437743', 'is_upload_attachment': False, 'attachment_list': [], 'remittance_voucher_url': '', 'tuition_rmb_list': [{'pay_type': 2, 'tuition_rmb': 993.06, 'counter_fee': 0.0, 'payment_id': 59, 'expire_datetime': '2023-07-11 08:29:01'}], 'fee_type_list': [{'fee_type': 5, 'fee_type_desc': ''}]}]
Modified at 2024-11-25 07:37:11
Previous
接口加密加签步骤
Next
pay_type支付类型说明
Built with