1. 下载支付宝的Demo,这里采用扫码支付

https://opendocs.alipay.com/open/399/106844/
image.png

2. 解压扫码支付的Demo

image.png
看到如下的几个文件

  • readme.txt 文档结构目录说明
  • -TradePayDemo - 支付宝当面付DEMO
  • -TradePaySDK - 支付宝SDK
  • -当面付调用流程说明文档(java).docx

    3. 创建一个工程,将SDK中的内容复制到本工程中

    image.png

    4. 导入相关依赖

    导入了GSON,生成二维码的工具,以及alipay的sdk工具包 ```xml com.google.code.gson gson
com.google.zxing core 3.4.0

com.alipay.sdk alipay-sdk-java 4.10.97.ALL

  1. <a name="pKKYj"></a>
  2. # 5. 将zfbinfo.properties 文件复制到 resources目录下,并修改对应的内容
  3. <a name="p6c6K"></a>
  4. ## 需要修改的内容有如下几个
  5. <a name="qyXEc"></a>
  6. ### open_api_domain 网关地址
  7. 原地址是非沙箱环境下的网管地址,需要修改成 [https://openapi.alipaydev.com/gateway.do](https://openapi.alipaydev.com/gateway.do)<br />如果不修改将会报如下的错误

{ “alipay_trade_precreate_response”:{ “code”:”40002”, “msg”:”Invalid Arguments”, “sub_code”:”isv.invalid-app-id”, “sub_msg”:”无效的AppID参数” } }

  1. <a name="EgzKG"></a>
  2. ### pid 用户id
  3. <a name="zawlS"></a>
  4. #### 查看步骤如下
  5. 选择账户中心<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599206924243-60dfc97c-ab1e-4626-9078-b1731544daf2.png#align=left&display=inline&height=203&margin=%5Bobject%20Object%5D&name=image.png&originHeight=203&originWidth=189&size=7177&status=done&style=none&width=189)<br />进入之后,复制对应的账户id 即可<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599207004564-eb91c239-d438-4cab-9ec0-544bbdb8df2d.png#align=left&display=inline&height=163&margin=%5Bobject%20Object%5D&name=image.png&originHeight=326&originWidth=875&size=21808&status=done&style=none&width=437.5)
  6. <a name="FWaCH"></a>
  7. ### appid 应用id
  8. 在这个网址: [https://openhome.alipay.com/platform/appDaily.htm?tab=info](https://openhome.alipay.com/platform/appDaily.htm?tab=info)<br />找到这个对应的 APPID 就行<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599207127397-ff828606-ec49-481b-a169-fd47ae5db21b.png#align=left&display=inline&height=129&margin=%5Bobject%20Object%5D&name=image.png&originHeight=258&originWidth=570&size=18414&status=done&style=none&width=285)
  9. <a name="gTyK8"></a>
  10. ### private_key 账户私钥
  11. 生成公私钥的方法,参见
  12. > [https://opendocs.alipay.com/open/291/106130](https://opendocs.alipay.com/open/291/106130)
  13. <a name="rdof4"></a>
  14. #### 生成之后,将会在当前目录下,生成如下的几个文件
  15. - app_private_key.pem
  16. - app_private_key_pkcs8.pem
  17. - app_public_key.pem
  18. 将 app_private_key_pkcs8.pem 中的内容,去除掉 最前面的 --- 那一行,以及最后面的 --- 那一行的所有内容<br />写入zfbinfo.properties 中
  19. <a name="3SO3Q"></a>
  20. ### public_key 账户公钥
  21. 将app_public_key.pem中的内容,跟上面一样,写入 zfbinfo.properties中
  22. <a name="okCPe"></a>
  23. ### alipay_public_key 支付宝公钥
  24. 在沙箱的设置页面,点击修改RSA2的密钥<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599207465193-aa2ac21f-20d1-49bc-af99-267f7218ca7f.png#align=left&display=inline&height=70&margin=%5Bobject%20Object%5D&name=image.png&originHeight=70&originWidth=380&size=6771&status=done&style=none&width=380)<br />复制 app_public_key.pem 中的内容,贴入 窗口中,保存设置即可<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599207524625-20f0c30b-5f7e-4270-983d-f544ff3bd4d4.png#align=left&display=inline&height=233&margin=%5Bobject%20Object%5D&name=image.png&originHeight=465&originWidth=706&size=69915&status=done&style=none&width=353)<br />设置完成之后,即可看到应用公钥以及支付宝公钥<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1538293/1599207576133-e6716d84-86e9-4af4-8368-7201bc4a1915.png#align=left&display=inline&height=260&margin=%5Bobject%20Object%5D&name=image.png&originHeight=519&originWidth=714&size=28807&status=done&style=none&width=357)<br />再将支付宝公钥的内容,写入 alipay_public_key 中即可
  25. <a name="RB6nq"></a>
  26. ### 其余的内容,不需要进行改动,默认即可
  27. <a name="C0N5q"></a>
  28. # 6. 修改完成之后,即可进行测试
  29. <a name="DP8Yf"></a>
  30. ## 打开Main.java,打开 如下代码的注释
  31. ```java
  32. main.test_trade_precreate()

以及图片的存放路径通过ZxingUtils写入二维码文件的注释

  1. String filePath = String.format("/home/xxx/Desktop/qr-%s.png",
  2. response.getOutTradeNo());
  3. log.info("filePath:" + filePath);
  4. ZxingUtils.getQRCodeImge(response.getQrCode(), 256, filePath);

运行Main函数即可

如果一切顺利,将会看到控制台的如下输出

image.png

你就可以去对应的目录(/home/ifan/Desktop/)寻找 qr-tradeprecreate15992068012742378698.png 图片

例如如下的图片
image.png

7. 如果二维码生成成功的话,可以下载沙箱钱包,进行支付的测试

下载地址,选择沙箱钱包
https://openhome.alipay.com/platform/appDaily.htm?tab=tool
然后登录左侧菜单栏的沙箱账号中的买家信息
image.png

登录完成之后,扫描这个二维码,看是否能够成功支付,如果成功,则沙箱环境测试ok