一. 相关资料
支付宝开放平台(SDK&开发文档):https://open.alipay.com/platform/home.htm
移动支付集成:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1
商户服务平台(与支付宝签约需要填写的公司资料):https://b.alipay.com/newIndex.htm
二. 支付流程
1.在商户服务平台先与支付宝签约,获得商户ID(partner)和账号ID(seller),需要提供公司资质或者营业执照,个人无法申请。
文档地址:https://doc.open.alipay.com/doc2/detail?treeId=58&articleId=103542&docType=1
2.生成并下载相应的公钥私钥文件(加密签名用)
文档地址:https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.POMYKl&treeId=58&articleId=103543&docType=1
3.下载支付宝SDK:https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1
4.生成订单信息
5.调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
6.支付完毕后返回支付结果给商户客户端和服务器
在集成App支付能力时,建议实现如下支付流程,创建订单并支付,根据返回的结果确定支付状态,并进行相应的异常处理,其过程如下图所示.
三. 退款流程
商户由于业务原因可能需要退款,退款的途径按照支付途径原路返回. 支付渠道为花呗、余额等退款即时到账。银行卡的退款时间以银行退款时间为准,一般情况下2小时内可到账。也可以在商户门户(b.alipay.com)中退款
SDK里有集成支付宝功能的一个Demo,集成支付功能的具体操作方式,可以参考Demo。
四. 代码集成流程
参考文档地址:https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.efmKDS&treeId=59&articleId=103676&docType=1
五. 关于沙箱
支付能力直接涉及到交易与资金,为了方便开放者调试支付能力,我们已经准备好沙箱环境,包括沙箱环境账号和沙箱版支付宝钱包,这样就可以在沙箱环境调试了.
参考文档地址:https://doc.open.alipay.com/doc2/detail.htm?treeId=200&articleId=105311&docType=1
六. 上线
商户本身应用上线时候,也要把支付宝开放平台的应用上线.
七. 安全设计
为了保证交易安全,支付宝采用了一系列的安全手段
1. 采用HTTPS协议传输交易数据,防止数据被截获,解密。
2. 采用RSA非对称秘钥,明确交易双方的身份,保证交易主体的正确性和唯一性
八. 特别注意事项
1.构造交易数据并签名必须在商户服务端完成,商户的应用私钥绝对不能保存在商户APP客户端中,也不能从服务端下发。同步返回的数据,只是一个简单的结果通知,商户确定该笔交易付款是否成功需要依赖服务端收到支付宝异步通知的结果进行判断。
2.由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑
3.由于沙箱为模拟环境,在沙箱完成接口开发及主要功能调试后,请务必在蚂蚁正式环境进行完整的功能验收测试。所有返回码及业务逻辑以正式环境为准。为保证沙箱稳定,沙箱环境测试数据会进行定期数据清理。Beta测试阶段每日的21:00至次日的9:00为维护时间。在此时间内沙箱环境部分功能可能会不可用,敬请谅解。请勿在沙箱进行压力测试,以免触发相应的限流措施,导致无法正常使用沙箱环境。沙箱支持的各个开放产品,沙箱使用的特别说明请参考各产品的快速接入文档或技术接入文档章节。