美文网首页
app调起支付宝支付

app调起支付宝支付

作者: TRX熔储 | 来源:发表于2018-07-18 11:03 被阅读67次

1. 用公司的账户申请支付宝账户

2.下载支付宝秘钥生成工具,生成公钥,秘钥(保存好公钥秘钥文件),编写app说明文档,以及企业的的营业执照信息(第三步会用到)

3.用支付宝账户去蚂蚁金服开放平台申请应用(自行去找申请流程),地址:https://open.alipay.com/developmentDocument.htm

4.公钥是在填写审核资料的时候就需要填写,审核通过后配置平台的参数,保证程序中的公钥,秘钥,授权回调地址与开放平台一直,打开如下图:

1

5.到这一步,我们的基本工作就做好了。因为app支付没有沙箱环境,导致测试必需要用移动端app调起支付,可以去下载测试demo,配置好测试demo,方便后期调试。接下来我们要做的就打开签名工具,mac版如下图:

2

其实整个集成过程都是围绕这个签名:

第一步:生成秘钥,这里要注意的是,你需要根据自己的语言选择秘钥格式(如果你这里没有选择,需要在你自己的程序中去转换。不推荐!)。其次要注意的事,秘钥长度,因为支付宝现在只支持RSA2加密方式,所以需要选择2048

第二步:签名,这里首先要去参考支付参数文档:https://docs.open.alipay.com/204/105465/ 。要注意一点的是他的参数分为公共参数,和业务参数。业务参数应该放在一个结构体中,作为一个整体传给公共参数的 biz_content字段。如下图:

3

上面截图最下面那段文字是错误的,按照它的规则是不能调起支付的,如果你按照它的要求。会一直报ALI10146(这里是最啃爹的),而且排查问题范围会比较宽,你需要一个一个排除问题。因为我用的是go 语言,所以最后的拼接是:paramsStr := valueStruct.Encode() + "&sign=" + url.QueryEscape(sign),valueStruct 是把待签名内容转成go里面的Values参数类型,然后进行encode,签名要用url.QueryEscape()这个方法。(其他的都不行,其他语言根据自己的情况)

到这里你就可以调起支付了,签名工具还有验签是支付宝回调后要检验参数的。格式转换是你可以把秘钥格式进行转换,适用自己的语言。秘钥匹配是你可以检验自己 程序中的秘钥与平台上的秘钥是否匹配,从而快速排除错误。

6. 处理回调信息,处理回调信息是支付宝根据你异步回调的地址给你反馈支付结果,这一步需要你操作商户后端数据库,对支付做一个记录。同时验签

支付总结:1. 支付宝再支付领域可能比较专业,所以支付类型很多。首先擦亮眼睛找到符合自己的文档,少走弯路。2.提前准备好需要审核的资料,让审核顺利过关 3.对于go语言是不友好的,没有集成的sdk,而且由于支付宝改版,开源集成代码的签名方法都不能直接调起支付,需要自己多去研究签名,以及最后的encoding。4.由于参数较多,最开始请务必传必填参数,这样会是自己的排查难度变小。5. 如果你实在排查不出来问题,你可以去蚂蚁金服开放平台留帖子,会有小哥哥为你检验签名

相关文章

网友评论

      本文标题:app调起支付宝支付

      本文链接:https://www.haomeiwen.com/subject/cranpftx.html