一、 适用场景
周期扣费能力目前适用于有明确周期性且金额可明确描述的支付业务: 会员费用的定期续费 定期定金额的支付或充值 定期缴费业务(仅支持公共事业缴费或运营商业务) 不适用的场景如: 单笔支付的免密 无重复性的预约扣费 金额不固定的
二、 实现方案
中国银联有提供银行卡的代收产品,代收产品是基于持卡人与商户签订业务委托协议,许可商户根据协议约定,向持卡人指定账户请求并完成指定款项支付的业务,用于实现基于约定用途下的持卡人账户资金向商户账户定向划转。
三、 接入步骤
(1)申请入网
您有2种方式可以选择:
1. 在银联官网注册:
您可以点击上方的【我要入网】,发起自助签约申请。
详见入网申请流程。
2. 联系服务商:
见服务商介绍。
(2)申请证书
开发者调用接口前需要先获取三个证书:签名证书、敏感信息加密证书、验签证书。
● 签名证书
证书用途
商户或机构对报文中出现签名域(signature)之外的所有数据元采用key=value的形式按照名称排序, 然后以&作为连接符拼接成待签名串。其次,对待签名串使用SHA-256算法做摘要, 再使用银联颁发给商户的签名私钥证书中的私钥对摘要做签名操作(签名时算法选择 SHA-256)。 最后,对签名做Base64编码,将编码后的签名串放在签名(signature)表单域里和 其他表单域一起通过HTTP Post的方式传输给银联全渠道支付平台。
如何获取
测试环境签名证书接从开发包中目录assets下获取。
生产环境签名证书获取方式:入网流程走完后,银联业务运营中心会发送入网通知邮件给申请表中的联系人邮箱, 请参考邮件中《证书下载、导出及上传流程》文档进行下载, 下载时需要的证书序列号、授权码会在邮件正文或者附件中给出。
● 验签证书
证书用途
商户或机构对报文中出现签名域(signature)之外的所有数据元采用key=value的形式按照名称升序排序,然后以&作为连接符拼接成待签名串。 其次,对待签名串使用 SHA-256算法做摘要,再使用商户入网时银联提供的验签公钥证书中的公钥对摘要和报文中的签名信息做签名验证操作。
如何获取
验签证书直接从开发包中目录assets下获取。
(3)集成并配置SDK
为了帮助开发者调用交易接口,我们提供了服务端SDK,包含JAVA、PHP和.NET三语言版本封装了签名&验签、HTTP接口请求等基础功能。
代收Demo
根据开发语言下载代收Demo
Demo****版本
运行环境
下载链接
JAVA版
Eclipse+ jdk1.6.12u5及以上+Tomcat6.0及以上
.NET版
visual studio 2010及以上+.NET framework4.0 及以上
PHP版
php5.3及以上
代收
代收产品包含两类API,在设置测试、生产地址时请注意前后台交易地址差异。
l 前台交易API: 建立委托关系交易为前台交易,需要跳转到银联页面进行签约。需要从前端页面以Form表单的形式发起请求,浏览器会自动跳转至银联的相关页面,用户在该页面完成签约操作后再回跳到商户指定页面。
l 后台交易API: 直接从服务端发起HTTP请求,商户网站按照接口发送到银联后台即可,不跳转到银联页面,除建立委托交易以外的其他交易均属于后台交易。
四、 流程分析
持卡人在商户的网站签约时,商户系统按照建立委托API的参数规范生成报文,然后在前端页面通过Form表单的形式请求到银联前台地址,自动将页面跳转至银联签约页面。
持卡人在银联页面完成签约申请后,会根据商户在建立委托API中传入的前台通知地址frontUrl在持卡人主动点击“返回商户”时跳转回商户页面,同时在应答报文中附带上签约结果参数,详情见应答报文(同步应答)。
同时,银联还会根据建立委托API中传入的异步通知地址backUrl,通过POST请求的形式将签约结果作为参数通知到商户系统,详情见商户通知(异步应答)。
签约成功后,商户后台系统根据签约内容向银联发起代收请求。商户后台系统会收到银联同步应答,同步应答仅代表受理情况,不代表订单支付结果。随后,银联处理完成支付环节,无论成功还是失败,均会给商户系统发后台通知,银联会根据原始代收交易中传入的后台通知地址backUrl, 通过POST请求的形式将支付结果作为参数通知到商户系统,详情见后台通知(异步应答);状态未明的情况,银联不会发后台通知。若商户未收到通知,可以通过发起交易状态查询获取处理结果。
商户可以根据产品对应周期,定期向银联发起代收请求,实现周期扣费功能。