支付宝扫码支付-PC版(沙箱环境)

前言

最近开发了PC端支付宝扫码支付的功能,使用的是沙箱环境。所谓的沙箱环境,其实就是支付宝提供的测试环境(毕竟正式环境需要营业执照等信息进行注册,注册通过后还有一些流程,才能进行正式的扫码支付。对于学习来说,并没有必要)。下面做一个简单的小结。

业务流程

在这里插入图片描述

前端页面:
  1. 用户选择商品,点击购买,调用后台:生成商品支付二维码的接口。该接口返回二维码字符串。前台页面根据该字符串生成支付二维码(调用二维码生成组件)。
  2. 生成二维码后,页面以轮询的方式(3-5s一次,限定轮询次数),调用后台:查询订单支付状态接口。该接口会返回订单的支付状态。
  3. 如果到达轮询次数上限后,订单状态仍是未完成支付,则调用后台取消订单接口。取消该订单。
  4. 如果在轮询次数内,订单完成支付,则跳转到支付成功页面。
后台

后台需要提供三个接口:

  1. 生成支付宝支付二维码接口。核心在于调用:alipay.trade.precreate接口。该接口的详细参数,请参考蚂蚁金服开放平台。如果不清楚该如何调用该接口,请点击在线调试(沙箱环境),会有针对不同开发语言的示例代码。
    https://docs.open.alipay.com/api_1/alipay.trade.precreate
    在这里插入图片描述
  2. 查询订单支付状态接口。调用:alipay.trade.query接口。对于示例代码,同上。详情参考:
    https://docs.open.alipay.com/api_1/alipay.trade.query/
  3. 取消订单接口。调用:alipay.trade.cancel接口。参考:
    https://docs.open.alipay.com/api_1/alipay.trade.cancel/
  4. 后台根据查询接口返回的订单支付状态,做下一步操作,例如:轮询结果为支付完成时,进行扣减库存、生成订单等操作,具体结合实际的业务需求进行操作。

具体操作步骤

1.配置沙箱环境参数。请参考:
https://blog.csdn.net/abap_brave/article/details/79215081
2.引入SDK。由于项目是Maven项目,在POM.xml文件中配置Java版本的依赖。如下:

<!-- 阿里支付sdk -->
		<dependency>
        	<groupId>com.alipay.sdk</groupId>
        	<artifactId>alipay-sdk-java</artifactId>
        	<version>3.7.73.ALL</version>
       </dependency>

3.配置参数。示例代码如下:
config.properties

#支付宝扫码支付参数配置
#应用id
app_id=  沙箱环境中的appid
#测试号的私钥
merchant_private_key=  沙箱环境下生成的私钥
#支付宝公钥
alipay_public_key= 沙箱环境中的支付宝公钥
#支付宝网关
#沙箱环境
gatewayUrl=https://openapi.alipaydev.com/gateway.do
#真实环境
#gatewayUrl=https://openapi.alipay.com/gateway.do
#签名方式
sign_type = RSA2
#字符集编码
charset = utf-8

4.开发具体的后台代码,比如:AlipayController。在其中提供上面所说的三个接口即可。

总结

1.注意二维码只有被支付宝App扫码过后,才会在支付宝后台生成订单。在此之前,查询订单状态时,都会报:订单不存在的错误。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值