一、中金支付的流程如下
1. 用户(付款人)发起支付,交易系统生成订单报文,包括市场(机构)编号、订单号、付款银行、付款方账户类型、付款金额、时间等关键信息。
2. 交易系统将订单信息和签名返回给用户浏览器。 3. 用户提交支付订单信息到支付平台,支付平台解析报文并验证签名,然后产生银行支付订单。 4. 支付平台返回银行支付订单信息给用户浏览器。 5. 用户提交银行支付订单到银行支付网关进行支付。二、交易系统作为一个平台,提供供应商和采购方的平台,提供采购方支付到供应商的账号中
中金有两款产品可以实现此功能,第一种是交易生成的报文包含了供应商的账号信息,在中金支付平台维护了这些账号信息,中金接到收款后会转给供应商,这种方式需要事先在中金平台维护好供应商的账号信息;第二种是交易系统生成的报文不包含供应商的账号信息,在中金支付平台支付成功后通过异步通知交易系统,由交易系统发送结算指令,请求中金转给供应商,这种方式不需要实现在中金支付平台维护好供应商的账号信息。
第二种方式更好的支撑平台的运行,因此选择了第二种方式
三、开发前准备
需要准备好支付机构号,公钥和私钥(类似银联支付),业务回调接口,需要在中金支付平台配置
四、代码开发
中金的开发包中有两个jar,这是生成支付报文的jar包,这里使用了Tx1311Request和Tx1341Request,
五、配置文件说明:/CPCN/Payment/InstitutionSimulator/config/payment
payment.ini配置了支付的请求地址和交易的请求地址
common.ini配置了公钥和私钥证书以及私钥的密码
test.pfx是私钥,test.cer是公钥