前言
由于最近项目需要,打算完成一个j2ee服务端支付宝扫码支付功能,由于网上的资料比较乱并且支付宝接口文档也在不断变更,所以打算自己研究一下最新的支付宝扫码支付功能。需要注意的是,本教程基于支付宝沙箱环境,考虑到支付宝方面后续可能会改变支付接入功能的接入方式。因此本教程仅供参考,切不可生搬硬套。
支付宝扫码支付接入前期准备工作
- 首先需要下载支付宝demo,然后基于我们的项目需求修改部分功能。下载网址:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.d4YBKI&treeId=194&articleId=105201&docType=1
- 下载的文件名应为F2FPay_Demo_Java.zip
- 文件解压后将TradePayDemo导入到idea中,将web-inf/lib中的jar包添加到项目classpath中
- 重点来了,完成以上操作后需要修改zfbinfo.properties文件
没有沙箱环境应用的需要在开放平台中添加。
根据我个人的经验需要修改的属性包括:open_api_domain需要配置为沙箱环境的网关https://openapi.alipaydev.com/gateway.do,appid(对应下图的APPID),pid为开发者账号可以不填,private_key和public_key可以参照支付宝里的教程使用工具生成RSA2密钥,由于默认的配置是使用RSA2,所以推荐使用RSA2密钥,alipay_public_key最好是参照支付宝开放平台沙箱应用里的支付宝RSA2公钥页面填入,默认的配置可能不适用于沙箱环境。
- 为了验证我们之前的配置是否正确,我们还需要运行demo中的测试方法,只需要运行demo中Main类中的main方法:
控制台出现如下的结果就表示我们的配置没有问题了。
支付宝扫码功能集成到项目中
完成前期准备工作后就可以将扫码支付功能集成到我们的实际项目中了,将demo中的两个类和jar包复制到我们的项目中就可以了。实际应用可以参考本人的github项目,该项目也是基于支付宝的沙箱环境搭建。
github地址:https://github.com/techa03/goodsKill