1. 前期准备
- 获取建行龙支付接入指南(接入前建行会发送相关资料)
如上PDF文档中介绍了PC网关支付、移动网关支付、二维码支付、无感支付、微信小程序/公众号支付、刷脸支付等6种支付方式,本文以移动网关支付(H5)进行开发对接。
- 获取对接资料
商户代码(merchantId)、商户登录密码(quPwd)、商户柜台代码(postId)、分行代码(branchId)、交易码(txCode)、公钥(pub)。
注:公钥需要登录商户后台(中国建设银行 商户服务平台)获取,登录进去点击服务管理-商户公钥下载,如下图:
- 开通权限
需要联系分管贵公司的建行工作人员,开通服务器实时反馈、IP白名单权限。
- 流程图
2. 开始对接
2.1. 配置
- 将netpay.jar引用至开发工程中,CCBSign.RSASig是签名包的封装类,验签时使用此类即可。
<dependency>
<groupId>com.ccbsign.rsasig</groupId>
<artifactId>netpay</artifactId>
<version>1.0</version>
</dependency>
- 配置yml文件
thirdparty:
#建行支付配置
ccb:
payUrl: 建行支付地址
merchantId: 商户代码
branchId: 分行代码
postId: 商户柜台代码
curCode: 币种
txCode: 交易码
type: 接口类型
pubKey: 公钥后30位
geteWay: 网关类型
payMap: 支付方式位图
quPwd: 商户登录密码
2.2. 支付
- 参考建行给的支付文档,如下:
- 定义支付参数对象,代码如下:
@Data
@ApiModel(value="CCBPayDTO", description="CCBPayDTO对象")
public class CCBPayDTO {
@ApiModelProperty(value = "open_id")
private String openId;
@ApiModelProperty(value = "案件id")
private Long evtId;
@ApiModelProperty(value = "商户代码")
private String merchantId;
@ApiModelProperty(value = "商户柜台代码")
private String postId;
@ApiModelProperty(value = "分行代码")
private String branchId;
@ApiModelProperty(value = "订单号")
private String orderId;
@ApiModelProperty(value = "付款金额")
private String payment;
@ApiModelProperty(value = "币种")
private String curCode;
@ApiModelProperty(value = "备注信息1")
private String remark1;
@ApiModelProperty(value