微信公众号调用建行支付

客户需要在线支付的功能,敲定使用建行支付

文档《中国建设银行微信支付统一下单》

拿到的交易流程说明

 

微信公众号调用建行支付

 

 

 1. 商户--》银行接口

 

 

 

域名

名称

类型

必输字段(字段内容)

备注

 

MERCHANTID

商户代码

CHAR(15)

Y

由建行统一分配

 

POSID

商户柜台代码

CHAR(9)

Y

由建行统一分配,

 

BRANCHID

分行代码

CHAR(9)

Y

由建行统一指定

 

ORDERID

定单号

CHAR(30)

Y

由商户提供,最长30

 

PAYMENT

付款金额

NUMBER(16,2)

Y

由商户提供,按实际金额给出

支付完成后,请商户与收到的商户通知中的付款金额比对,确认两者金额一致;

 

CURCODE

币种

CHAR(2)

Y

缺省为01-人民币

(只支持人民币支付)

 

REMARK1

备注1

CHAR(30)

N

一般作为商户自定义备注信息使用,可在对账单中显示。

集团主商户代理发起子商户交易时,需将集团主商户信息填入该字段,格式如下:

JTSH:主商户号+主柜台

例如:

JTSH:105000000000000123456789

其中:105000000000000为主商户号

123456789为主柜台

 

REMARK2

备注2

CHAR(30)

N

一般作为商户自定义备注信息使用,可在对账单中显示。

 

TXCODE

交易码

CHAR(6)

Y

由建行统一分配为530590

 

MAC

MAC校验域

CHAR(32)

Y

采用标准MD5算法,由商户实现

 

TYPE

接口类型

CHAR(1)

Y

分行业务人员在P2员工渠道后台设置防钓鱼的开关。

1- 防钓鱼接口

 

 

PUB

公钥后30

CHAR(30)

Y

商户从建行商户服务平台下载,截取后30位。

仅作为源串参加MD5摘要,不作为参数传递

 

GATEWAY

网关类型

VARCHAR(100)

Y

默认送0

 

CLIENTIP

客户端IP

CHAR(40)

N

客户在商户系统中的IP,即客户登陆(访问)商户系统时使用的ip

 

REGINFO

客户注册信息

 

CHAR(256)

N

客户在商户系统中注册的信息,中文需使用escape编码

 

PROINFO

商品信息

CHAR(256)

N

客户购买的商品

中文需使用escape编码

 

REFERER

商户URL

CHAR(100)

N

商户送空值即可;

具体请看REFERER设置说明

 

TIMEOUT

订单超时时间

CHAR(14)

N

格式:

YYYYMMDDHHMMSS如:20120214143005

银行系统时间> TIMEOUT时拒绝交易,若送空值则不判断超时。

当该字段有值时参与MAC校验,否则不参与MAC校验。

 

 

TRADE_TYPE

交易类型

CHAR(16)

Y

JSAPI--公众号支付、MINIPRO--小程序

 

SUB_APPID

小程序/公众号的APPID

CHAR(32)

Y

当前调起支付的小程序/公众号APPID

 

SUB_OPENID

用户子标识

CHAR(128)

Y

用户在小程序/公众号appid下的唯一标识,小程序通过wx.login获取,接口文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html?t=20161122

 

WX_CHANNELID

渠道商号

CHAR(20)

N

对于商户自定义的渠道商号

当该字段有值时参与MAC校验,否则不参与MAC校验。

 

RETURN_FIELD

返回信息位图

CHAR(20)

N

20位,商户通知是否返回某个字段的位图,0或空-不返回,1-返回。

1位:是否返回OPENIDSUB_OPENID

2位:保留位,默认送0

3位:保留位,默认送0 

4位:是否返回支付详细信息字段

示例:10000000000000000000

该字段不参与MAC校验

 

USERPARAM

实名支付

VARCHAR(2000)

N

实名支付功能,包含类型、

证件号、姓名三个子域(如果本字段出现,那么本字

段包含的三个子域均需出现。详见下文说明5)USERPARAM字段说明)。

当该字段有值时参与MAC校验,否则不参与MAC校验。

暂未上线,请忽略

二级商户信息,若上送二级商户信息则八个二级商户信息字段必须都送值,当该字段有值时参与MAC校验,否则不参与MAC校验。

SMERID

二级商户代码

CHAR(15)

N

二级商户代码

SMERNAME

二级商户名称

中文(33)英文CHAR(100)

N

二级商户名称,中文需使用escape编码

SMERTYPEID

二级商户类别代码

CHAR(15)

N

二级商户类别代码

SMERTYPE

二级商户类别名称

中文(27)英文CHAR(81)

N

二级商户类别名称,汉字最长27个,中文需使用escape编码

TRADECODE

交易类型代码

CHAR(15)

N

交易类型代码

TRADENAME

交易类型名称

中文(10)英文CHAR(30)

N

如消费、投资理财、信用卡还款等,中文需使用escape编码

SMEPROTYPE

商品类别代码

CHAR(24)

N

商品类别代码

PRONAME

商品类别名称

中文(15)英文CHAR(50)

N

商品类别名称,中文需使用escape编码

 

注:字符串中变量名必须是大写字母。

1) 参与摘要运算的字符串及其顺序如下:

请注意:标黄的字段请根据需要上送,有值时才参与MAC,否则无需参与MAC

MERCHANTID=123456789&POSID=000000000&BRANCHID=110000000&ORDERID=19991101234&PAYMENT=0.01&CURCODE=01&TXCODE=530590&REMARK1=&REMARK2=&TYPE=1&PUB=30819d300d06092a864886f70d0108&GATEWAY=0&CLIENTIP=172.0.0.1®INFO=%u5C0F%u98DE%u4FA0&PROINFO=%u5145%u503C%u5361&REFERER=&SMERID=111&SMERNAME=%u5DE5%u827A%u7F8E%u672F%u5546%u5E97&SMERTYPEID=112&SMERTYPE=%u5BBE%u9986%u9910%u5A31%u7C7B&TRADECODE=001&TRADENAME=%u6D88%u8D39&SMEPROTYPE=1&PRONAME=%u5DE5%u827A%u54C1 &TIMEOUT=20161028101226&TRADE_TYPE=MINIPRO&SUB_APPID=wx8888888888888888&SUB_OPENID=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&WX_CHANNELID=wx902937628837&USERPARAM=1U2xb%2FdMepRIs0KcM53xns%2Chdg2xBh3qwJ%2F%2F%2FHi%2FjMfPcbUYjQdxJKe%2CnoHnBgXppyQqPVPdDf8p%0D%0AEwxoLdkWjvdj2QUXJ5Hb

 

 

4) 完整的URL

第三方商户提交给网银的网关地址:注意用post方式提交参数。

https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6

请注意:标黄的字段请根据需要上送

https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6&MERCHANTID=105320148140002&POSID=100001135&BRANCHID=320000000&ORDERID=88487&PAYMENT=0.01&CURCODE=01&TXCODE=530590&REMARK1=&REMARK2=&TYPE=1&GATEWAY=0&CLIENTIP=128.128.80.125®INFO=xiaofeixia&PROINFO=digital&REFERER=&SMERID=111&SMERNAME=%u5DE5%u827A%u7F8E%u672F%u5546%u5E97&SMERTYPEID=112&SMERTYPE=%u5BBE%u9986%u9910%u5A31%u7C7B&TRADECODE=001&TRADENAME=%u6D88%u8D39&SMEPROTYPE=1&PRONAME=%u5DE5%u827A%u54C1&TIMEOUT=20161028101226&TRADE_TYPE=MINIPRO&SUB_APPID=wx8888888888888888&SUB_OPENID=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&WX_CHANNELID=wx902937628837&USERPARAM=1U2xb%2FdMepRIs0KcM53xns%2Chdg2xBh3qwJ%2F%2F%2FHi%2FjMfPcbUYjQdxJKe%2CnoHnBgXppyQqPVPdDf8p%0D%0AEwxoLdkWjvdj2QUXJ5Hb&RETURN_FIELD=10000000000000000000&MAC=b2a1adfc9f9a44b57731440e31710740

 

2. 银行--》商户接口

 

1) 商户服务端向建行提交统一下单请求后(完整的请求串示例请见1. 商户->银行接口参数),建行返回商户json格式的字符串,商户需解析出SUCCESSPAYURL的值,如果SUCCESStrue,则代表交易成功,执行2)

{"SUCCESS":"true","PAYURL":"https://ibsbjstar.ccb.com.cn/CCBIS/B2CMainPlat_02?CCB_IBSVersion=V6&MERCHANTID=105320148140002&POSID=100001135&BRANCHID=320000000&ORDERID=88487&PAYMENT=0.01&CURCODE=01&TXCODE=530590&REMARK1=&REMARK2=&TYPE=1&GATEWAY=0&CLIENTIP=128.128.80.125®INFO=xiaofeixia&PROINFO=digital&REFERER=&SMERID=111&SMERNAME=%u5DE5%u827A%u7F8E%u672F%u5546%u5E97&SMERTYPEID=112&SMERTYPE=%u5BBE%u9986%u9910%u5A31%u7C7B&TRADECODE=001&TRADENAME=%u6D88%u8D39&SMEPROTYPE=1&PRONAME=%u5DE5%u827A%u54C1&TIMEOUT=20161028101226&TRADE_TYPE=MINIPRO&SUB_APPID=wx8888888888888888&SUB_OPENID=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&MAC=b2a1adfc9f9a44b57731440e31710740&QRCODE=1&CHANNEL=1" }

2)商户服务端获取1)中返回的PAYURL的值,PAYURL对应一个HTTP请求,商户服务端直接提交该请求,建行返回商户json格式的参数串,该参数为小程序/公众号调起微信的支付参数,具体参数说明如下:

SUCCESS

返回状态码

此字段是通信标识,表示通信成功

ERRCODE

错误码

000000表示交易成功,非000000表示交易失败,错误信息可以查看ERRMSG字段

ERRMSG

错误信息

错误信息描述

TXCODE

交易码

530590

appId

微信分配的APPID

参考微信对应的调起支付API

timeStamp

时间戳

参考微信对应的调起支付API

nonceStr

随机串

参考微信对应的调起支付API

package

数据包

参考微信对应的调起支付API

signType

签名方式

参考微信对应的调起支付API

paySign

签名数据

参考微信对应的调起支付API

partnerid

子商户的商户号

参考微信对应的调起支付API

prepayid

预支付交易会话ID

参考微信对应的调起支付API

mweb_url

微信H5支付中间页面URL

参考微信对应的调起支付API

 

3.  微信相关调起API链接:

小程序:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=7_7&index=5

公众号:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=7_7&index=6

 

一、 后台设置

商户使用小程序/公众号支付必须经过以下设置流程:

1、按正常流程开通建行商户,选择费率通道完成进件,生成微信子商户号。

2、登录微信后台,在“服务商功能”-“特约商户管理”中,根据微信子商户号(商户识别码)进行查询,查询后点击开发配置中的“配置”按钮。

 微信公众号调用建行支付

 

 

3、在配置页面下拉,找到特约商户APPID配置栏位,并点击添加。

 微信公众号调用建行支付

 

 

4、在弹出窗口输入商户小程序/公众号APPID完成配置。由商户提供。同时该商户在微信的子商户名称必须与商户小程序/公众号认证主体一致。

 

微信公众号调用建行支付

上一篇:Uni-app 之APP和小程序微信授权登录


下一篇:django-分页