title: 易支付Web网关接口文档-微信对接v1.0 date: 2017-05-22 tags: 无


1.1文档说明

本文档用于描述了一卡通易支付系统作为统一支付通道提供纽约大学微信企业号接口文档,供微信企业号接入本系统对接参考。 主要功能为企业号向一卡通充值

1.2约定

  1. 传输编码统一为utf-8
  2. RSA 加密算法为本接口采用的非对称加密算法,SIGN_ALGORITHMS ="SHA1WithRSA";
  3. RSA公钥由本系统提供,本系统返回信息的签名数据,第三方系统得到后通过公钥校验算法,验证返回数据的合法性
  4. HMAC加密算法为用户请求本系统采用的加密算法,SIGN_ALGORITHMS ="HMAC-SHA1";
  5. 具体签名生成参考后面的签名章节
  6. retcode等于0表示成功,非0表示失败,失败具体信息查看retmsg

2.1 易支付Web网关接口

请求URL:

  • https://pay.shanghai.nyu.edu/webgate/wxcharge

请求方式/格式:

  • POST
  • content-type: application/x-www-form-urlencoded

请求参数:

参数名类型必选说明
partner_idString是      本系统分配给各个接入应用的合作伙伴id号
openidString微信号openid
netidString学生netid
timestampString时间戳格式为yyyyMMddhh24miss
out_trade_noString商户网站的唯一订单号,(确保商户系统中唯一)
amountString订单金额(rmb),单位分
remarkString备注信息
signString签名,参见附录
sign_methodString参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1

请求内容示例:

URI:https://pay.shanghai.nyu.edu/webgate/wxcharge

partner_id:10001
openid:2010021010
netid:210
timestamp:20150119130901
sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
sign_method:HMAC
out_trade_no:2016062115020100000001
amount:20000
remark:recharge

  • 注意:

1.此接口只支持 https请求; 2.请按照“签名机制”中的签名方法对输入参数进行签名,该接口请求才能够被本系统接收; 3.此接口支持重复调用,前提是交易基本信息(订单号、交易金额等)在多次调用中保持一致,且交易尚未完成支付。


附录A-用户请求HMAC签名算法

  • 签名方式:hmac-sha1

  • 签名密钥由本系统统一线下提供

** 签名校验的通用步骤如下:**

** 第一步: ** 设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

假设传送的参数如下:

	partner_id:10000
	netid:09893092
	tradeno:20160607000001
	trandename:printfee
	amount:2000
	timestamp:20150119130901
	sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
	sign_method:HMAC

对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

	amount=2000&netid=09893092&partner_id=10000&sign_method=HMAC&timestamp=20150119130901&tradeno=20160607000001&trandename=printfee

** 特别注意以下重要规则:**

  • 参数名ASCII码从小到大排序(字典序);

  • 如果参数的值为空不参与签名;

  • 参数名区分大小写;

  • 传送的sign参数不参与签名,用该sign值作校验。

** 第二步: ** 用密钥secretkey对stringA字符串,进行hmac-sha1签名,得到sign值signValue。signValue最后采用十六进制小写hex编码生成签名字符串。