事情背景
刚入职的萧然前几天收到了上级安排的新需求,让我重新弄出一套和以前一样的微信,支付宝的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端进行支付操作,然后回调,后台进行回掉后的操作。

APP支付(微信、支付宝)相关推荐

  1. Android App支付:支付宝SDK接入详细指南(附官方支付demo)

    Android App支付:支付宝SDK接入详细指南(附官方支付demo) 前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多 ...

  2. uni-app 微信小程序支付/公众号支付/h5支付宝/h5微信/支付宝app支付/微信app支付

    思路: 先判断是app/h5/微信小程序 如果是h5,判断是微信内打开还是微信外 app.vue onLaunch: function() {uni.setStorageSync('h5Type', ...

  3. 免签接口 个人二维码收款系统/微信支付支付宝支付二维码监听自动发货/个人免签系统/个人免签支付 微信.支付宝 个人支付监控

    开源个人收款码免签系统 服务端和监控端全部开源,自建支付平台,安全更放心,二开更方便 没有中间商赚差价,买家扫多少,商家收多少 一.系统特色 1.1 支持 支付宝个人收款的推送通知 支付宝商家二维码的 ...

  4. 在线支付——微信支付宝二维码合一

    微信支付与支付宝支付二维码合一的原理是:用户扫描二维码,打开我们自己做的页面,在这个页面里面判断用户打开该页面的客户端是微信还是支付宝,如果是微信,则调用微信支付,如果是支付宝,则调用支付宝支付. 具 ...

  5. APP支付之支付宝支付

    #java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写springboot架构 一. 流程步骤 官方文档链接:https://docs.open.alipay.com. 1 ...

  6. 第三方支付 - 微信/支付宝 - 学习/实践

    1.应用场景 主要用于学习与使用微信/支付宝支付, 了解熟悉第三方平台支付流程,将其用在项目中. 2.学习/操作 1.文档阅读 PHP实战天龙八部之微信支付视频教程-免费在线视频教程-php中文网  ...

  7. 个人支付接入-个人app支付微信支付、支付宝支付接入(2分钟完成接入)

    作为一个个人开发者,一开始在个人的应用中接入广告,慢慢的这种方式越来越被摒弃了,下面简单介绍一下我最近使用的一款感觉很不错的个人聚合支付的平台的接入流程,其实很简单,分为两步即可. 贝贝支付官网:ht ...

  8. 手机APP支付--整合支付宝支付控件

    长话短说,本文根据支付宝官方说明文档,简单总结下,并且说明下开发过程碰到的问题以及该如何解决. 整合步骤: 1 登录商家服务网站,下载开发包,地址:https://b.alipay.com/order ...

  9. fastadmin 微信支付宝整合插件 支付宝APP支付 ALIN10146

    1.调试微信支付宝整合插件支付宝APP支付,支付宝支付一直报错 ALIN10146调了6个小时 我使用的是 微信支付宝整合插件,以下为我调用支付的代码 $params = ['amount'=> ...

  10. 支付宝手机网页唤醒app支付

    请直接看原文 下面链接是新版本的RSA2加密方式,这篇介绍的是老版本的手机网站唤醒app支付 新版支付宝手机网站唤醒app支付.支付宝pc支付.支付宝无密退款实现 http://blog.csdn.n ...

最新文章

  1. css布局中的百分比布局
  2. vc获取n卡编号_电脑入门知识:通过显卡型号中字母和数字判断显卡性能
  3. Spring AOP编程-传统AOP开发切点表达式写法介绍
  4. python大气校正_Sentinel-2卫星影像的大气校正方法
  5. linux内核配置usb虚拟串口,Linux USB虚拟串口设备
  6. Gerrit的用法及与gitlab的区别
  7. 转: Linux Grep 命令说明
  8. LeetCode 674 最长连续递增子序列
  9. java读取word文档内容_Python读取PDF信息插入Word文档
  10. WinForm自适应的相关代码
  11. 计算机维护教程自学,【电脑维修教程】自学维修电脑.pdf
  12. python推荐系统算法朴素贝叶斯_Java实现的朴素贝叶斯算法示例
  13. Java读取文件方法大全
  14. iPhone手机屏幕尺寸分辨率一览
  15. python 蓝桥杯排序
  16. 什么是透明数据加密(TDE)?
  17. 零跑股价纳入港股通,是被低估了的新势力
  18. mysql数据库行列矩阵调换位置(行与列调换)
  19. python中,除法运算后取整数的几种情况
  20. 压缩工具Bandizip

热门文章

  1. 如何使用QQ邮箱账号发送加密邮件
  2. pg客户端连接报错:不支援 10 验证类型。请核对您已经组态  ..
  3. 数据库性能优化--超详细
  4. 6.(cesium之家)cesium点编辑点修改
  5. Python with as用法详解
  6. android画布橡皮,Android画板开发之橡皮擦功能
  7. python arp断网攻击_arp断网攻击,教您arp断网攻击怎么解决
  8. php ip138获取,php通过调用ip138数据库获取IP及网络类型
  9. 计算机学生如何规划好大学四年的学习?
  10. web前端页面优化详解