准备工作:
1:注册满90天且已实名认证的企业支付宝账户。
2:合同已成功签约,增加了向支付宝转账的能力。
3.具备专业技术人员或专业开发团队的开发能力,能够很好的理解公文。
4:有实名认证的支付宝个人账户,方便测试。
支付宝官方参考文档:
转账到支付宝账户产品介绍|支付宝文档中心下面的Web移动应用,我们来一步步实现转账功能。
1.用支付宝账号登录支付宝开发平台,找到控制台-我的应用-web移动应用(如图)。
如果没有应用程序,首先创建应用程序,这里忽略创建步骤。详情请参考官方文件。
2:点击申请,输入申请详细信息。
检查能力列表中是否添加了转账到支付宝账户。如果没有,点击添加能力按钮来添加它。(如图)
注意:图片左上角的APPID需要临时记录,后期代码需要用到。
第三,配置开发设置。
点击申请详细信息中的申请信息,如图:
注意:
1.支付宝网关的地址要暂时记下来,后面的代码会用到。
2.虽然应用网关异步接收通知是可选的,但为了避免由于突发情况,如突然断网、停电等,导致同步信息无法及时处理。这里最好配置异步通知,订单状态处理也要放在异步逻辑判断中,而不是在同步返回结果时进行处理。
3.接口签名方式必须使用公钥证书方式,如图所示:
图中使用的CSR文件需要从支付宝开放平台开发助手下载,然后生成。具体操作请参考步骤4。
第四,获取应用公钥、应用私钥和CSR文件。
参考文件:
并生成配置密钥|打开平台支付宝文档中心,点击下图安装包,根据自己的电脑系统进行安装。
2.生成应用程序公钥和应用程序私钥。
3.单击open key文件路径,查看刚刚生成的应用程序私钥和应用程序公钥文件。如图所示:
注意,这里的公钥和私钥将在下面的代码中使用。
4.点击打开文件位置,可以看到获取的CSR文件。
5.回到界面签约方式页面,先获取手机验证码,然后查看同意协议,上传刚刚获取的csr文件。如图所示:
6.上传成功后,支付宝会自动生成应用公钥证书、支付宝公钥证书和支付宝根证书,如图:
单击相应的下载按钮保存本地备份。下载的证书文件在正式环境中使用。
注意:后面的代码会用到这三个证书。
五:下载SDK文件。
Web应用学习路径| Web移动应用支付宝文档中心可以根据自己的开发语言选择下载。
下载后,将sdk文件放在项目的适当位置。我们以php版本为例,放在sdk文件夹中,命名为支付宝_大宽。
不及物动词在沙盒测试环境中获取证书文件。[如果不需要沙盒测试,请忽略这一步]
1.找到我的应用-Web移动应用下的沙盒,点击进入。如图所示:
2.在沙盒环境中获取APPID并保存以备后用。[此处的appid不同于步骤2中获得的应用程序appid]
通过接口签名方法选择系统默认密钥。
【优点是可以在沙盒环境下直接下载应用公钥证书、支付宝根证书、支付宝公钥证书。如果选择自定义密钥,还需要通过支付宝开放平台开发助手获取支付宝公钥、支付宝私钥和csr文件并上传csr文件,这样就可以获得三个证书,省去了一个步骤。】
打开证书模式。
沙盒环境下支付宝网关的地址被复制保留,下面的代码会用到。
还需要设置异步应用网关的地址【这里测试时沙盒环境中没有异步回调方法
点击图中的下载证书,将沙盒环境下的应用公钥证书、支付宝公钥证书、支付宝根证书下载到本地存储,下面的代码会用到。【注意:这里下载的三个证书都是沙盒环境下的证书,不要和前面第4步和第6步下载的正规环境下的证书混用】
在代码环境中,创建一个沙盒文件夹【随机命名,因为是沙盒环境中的证书,所以命名为sandbox,在这个文件夹中放三个沙盒环境证书。
如下图:
点击沙盒账号:检查商家账号和买家账号,下面的代码会用到。
这个时候注意平衡,代码测试正常后这里的平衡会有变化。
七。正式环境证书的配置:
在project SDK/支付宝_大宽文件夹下新建一个正规文件夹,把上面下载的正规环境中的三个证书放在这个文件夹里。
八:代码测试:
1.支付宝开放平台用户登录的情况下,访问以下网址
蚂蚁技术支持中心致力于为开发者提供小程序的各类能力和行业解决方案。在这里,你可以找到开发者、服务商、渠道商所需要的各种能力、帮助和服务。点击下一步,看看自己发展的准备工作是否全部到位。如果系统提示有些信息没有配置,请参照前面的步骤处理配置和获取的信息。
2.在步骤配置好开发环境后,根据自己的项目开发语言需求进行选择。
3.在步骤中,选择需要的接入接口页签,点击转账支付宝账户一栏,在右边可以看到该接口需要的关键参数和关键参数。点击右边的代码示例,我们可以看到所选择的对应编程语言的代码。这里的代码是我们想要使用的。
因为我们下载的sdk的初始包结构是这样的,所以在示例代码中引用sdk时使用的路径是aop/……
我们在解压sdk包文件的时候,把aop里的文件放到了项目里,文件夹的路径改成了SDK/支付宝_dakuan【上面已经介绍过了】。因此,我们项目中使用的参考路径需要根据实际路径进行修改。
参考以下文档,我们可以知道,向支付宝账户转账请求的API接口是
然后,我们在实例化请求类的时候,要写成AlipayFundTransnItransfRequest[这里只是作为知识点提醒一下,在这个sdk中调用其他方法的时候也是用这个思路生成请求类]
概述| Web移动应用支付宝文档中心
创建一个测试文件,处理上面的代码【正式环境证书和沙盒环境证书都集成在项目中,方便两种测试】
当我们运行沙盒测试代码时,我们打印出如下同步返回结果:
刷新沙盒账户页面,可以看到商家账户减少了人民币,买家账户增加了人民币,表示转账成功。
在正式环境中支付的账单:
在正规环境下支付时,返回的同步信息如下:
正式环境比沙盒环境多了两个参数:
支付资金订单标识、交易日期
如果支付宝账户余额不足,返回的信息如下:
返回错误代码参考文档:
常见问题| Web移动应用支付宝文档中心
常见错误代码参考文档:
公共错误代码|开放平台支付宝文档中心业务错误代码参考文档:
基金API | API支付宝文档中心E4B89AE58AA1E99499E8AFAFE7A081
异步回调通知返回的参数:
注意:如果要验证返回的同步参数和异步参数的签名,不要使用支付宝开放平台开发助手,因为会遇到很多莫名其妙的提示错误。
异步通知签名验证方法如下:
参考文件:
Anchor__9蚂蚁技术支持中心致力于为开发者提供小程序的各种能力和行业解决方案。在这里,您可以找到开发者、服务提供商和渠道提供商所需的各种功能、帮助和服务。锚__9
有关同步签名检查,请参考文档:
数据验证|开放平台支付宝文档中心e 585 ace 992 a 5 e 8 af 81 e 4 e 6 e 696 b 9 E5 c 8 f可以选择使用sdk公钥证书进行验证或者自验证,因为在调用transfer API时,sdk会主动验证签名。如果返回的同步数据正常,那么数据没有问题。这里不整理同步数据检查,有兴趣可以参考文档自行处理。
以上是支付宝单转账界面的使用流程和注意事项。下课了。