APP支付(微信、支付宝)

事情背景
刚入职的萧然前几天收到了上级安排的新需求,让我重新弄出一套和以前一样的微信,支付宝的app支付,我慌的一批,因为从来没接触过,不过最后还是按时完成了任务,等到周末赶快记录一下。因为我是后台开发,只来说明一下我操作部分的思路。

二话不说先摆上官方文档时序图及说明
在这里插入图片描述

  • 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
  • 步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。
  • 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay
  • 步骤4:商户APP调起微信支付。
  • 步骤5:商户后台接收支付通知。
  • 步骤6:商户后台查询支付结果。

简单来说就是:
1.当用户在app端点击进行操作时,app端调用我提供的支付接口,这个接口的目的就是创建预支付订单,通过统一下单api生成预订单,将预订单id等信息返回给app端
①调用接口
在这里插入图片描述
②调用统一下单api生成预支付订单
这里要注意设置回调地址(内网测试环境下,别忘记配置内网穿透)
在这里插入图片描述
③将预订单信息返回
在这里插入图片描述
这里面有的appid商户id,还有生成签名需要的微信api秘钥都需要提前在平台配置创建好
在这里插入图片描述
2.回调,然后进行后续操作。在这里说明一下app端的一些操作,容易更好的理解。当app端调用我们支付接口,得到预订单信息后,app端会发起支付,进行一系列操作,当完成交易后,微信会走两个回调。一个是app端的同步回调,我们无需关心。一个是后台的异步回调,我们需要根据支付结果进行后续的一系列操作。回调的接口就是我们生成预定单时设置的回调地址
设置的回调地址
在这里插入图片描述
回调接口
在这里插入图片描述
回调接口里都要干啥呢?
在这里插入图片描述
就是解析数据,然后进行对应支付成功的操作,比如你买了会员,你就要给他加时间。你买了工具就要给他加使用次数。

那这样就结束了吗?
当然还有,刚才提到app端会收到一个同步回调,得到的只是交易结果,但这能代表交易成功吗?不能,比如我买会员付完钱,但是会员时间没增加,交易当然不算成功,所以我就要有对应的查询校验。因为我这个支付类型有工具和会员,所以我后台也有相应的查询校验。
在这里插入图片描述
在这里插入图片描述
这样一个支付就差不多完成了,其实还有退款等其他逻辑,因为项目内的会员和工具都没有退款一说,所以在这里就没去了解。只是把我用到的方面记录了一下。后续有时间再好好去研究一下。

微信支付就说到这,再就是支付宝支付,其实万变不离其宗,都差不多这个样子。
开发平台
在这里插入图片描述
配置关键参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体怎么配官网都有很详细的教程,我的记录只是想更好去理解。

app端调用支付后端发起接口,得到签名后的订单信息
在这里插入图片描述
然后app端进行支付操作,然后回调,后台进行回掉后的操作。

猜你喜欢

转载自blog.csdn.net/qq_43386941/article/details/106170558