首先说一下我的集成经历,开始集成的时候,我照例在百度搜一下集成方法,然后出来了很多结果,本以为应该很简单,但事实并非如此,网上很多集成方法都是老版本的集成,现在支付宝更新了SDK和demo,虽然和老版本区别不是很大,但是对于不了解整个流程的开发者来说,确实是很大的痛苦;当然在集成过程中我也遇到了各种问题,甚至有些流程根本就没看懂,当然这跟作者的水平有关系。最后给大家的建议就是,不要心急,按照流程一步一步来,其实集成很简单。本文介绍的是沙盒环境下的集成,那时你只需要把代码里的各种ID改成签订合约后的就可以了(集成小程序支付需要跟支付宝签订合约)。作者把整个过程分为两个部分,第一部分是初步配置,第二部分是开始集成。
初步配置
首先,进入开放平台后,我们点击申请
然后我们点击沙盒环境中的沙盒应用
这里我们可以看到支付宝给我们测试的应用ID和测试账号,我们点击设置RSA2密钥(我这里已经设置好了,RSA(SHA1)不用设置)
那么密钥怎么设置->查看密钥生成方式,进入之后我们下载对应版本,运行“RSA签名验证工具.bat”()或者“RSA签名验证工具”(),然后勾选下图,点击生成密钥(注意要保存)
然后我们将这里生成的应用公钥复制粘贴到需要设置应用公钥的地方,设置完成后会生成一个对应的支付宝公钥
好的,这里需要特别注意:“应用公钥,应用私钥,支付宝公钥”不要混淆,不要混淆,不要混淆。好的,第一部分的配置到这里就差不多了。
开始集成过程
我们先来看一下整个集成过程
我先简单介绍一下整个流程(图中虚线表示商户环节,实线表示支付宝环节)
步骤 1:用户点击付款
第二步:客户端从商户服务器获取签名后的订单信息
步骤3:(商户签署订单信息)返回已签署的订单信息
第4、5、6、7、8步:这几个步骤是我们点击确认支付后会自动执行的,不需要我们去执行(第8步返回最终的支付结果(即同步通知))
第九步、第十步:商户客户端将同步通知的支付结果发送给支付宝服务器,并返回最终结果(这两步可以跳过,因为后面我们还有第十二步的异步通知)
第十二步、第十三步:根据我们设置的异步通知地址获取支付结果(下面会讲到)
好了,流程基本就是这样了。接下来,我们开始用代码练习一下。
编码
我们下载支付宝提供的SDK及DEMO(更新时间:2017/05/11)并解压导入后打开。
如果我们只想实现支付功能,那么只需要设置上图中的sum即可,当然这是沙盒环境,所以还需要在下面加上这一句:
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
位置如下:
当然整个支付的精华就在这里(代码已经注释)