`
brandNewUser
  • 浏览: 447015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信APP支付整体流程记录备忘

阅读更多
 
 
商户系统和微信支付系统主要交互说明:
 
 
  • 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
  • 步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
  • 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
  • 步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
  • 步骤5:商户后台接收支付通知。api参见【支付结果通知API】
  • 步骤6:商户后台查询支付结果。api参见【查询订单API】
 
原来一直以为微信APP支付是跟公众号支付一样,使用同样的APPID以及商户ID(mch_id),经过尝试才发现并不是这样。对于微信APP支付,需要在微信开放平台中注册,并提交审核:https://open.weixin.qq.com/,在微信~开放平台中进入管理中心,创建移动应用,并提交审核申请微信支付权限(过程很漫长,而且需要¥300)。
 


 

 
 
根据上图中可以看出微信支付能力已经获得。
 
注意由于是属于APP支付,还需要提供iOS平台的BundleID,以及Android平台的包名和应用签名
 
注:APP支付相关信息如下:
 

开发信息

 

应用官网    http://www.xxxx.com
应用平台
iOS平台
          应用下载地址:未填写
          Bundle ID:com.xxxxApp
Android平台
          应用下载地址:未填写
          应用签名:78:C3:71:00:DA:B7:19:9B:26:5F:0F:F6:61:57:EE:18:D9:F8:0A:1F
 
          包名:com.xxxx
 
 
以后支付采用的APPID和AppSecret是在开放平台上已经注册的,与微信公众号无关,商户ID和初试密码会通过邮件的方式发送过来,还需要重新设置商户的APISecret(登录后设置)。
 
 



 
 
 
与微信公众平台稍微有所不同的就是统一下单接口是会有所不同。
 
商户后台在收到用户支付单之后,需要调用微信支付统一下单接口:
 
 
统一下单接口与公众平台微信支付比较类似,但是也有很多不同之处,返回正常的prepay_id之后,需要重新生成签名(公众号不需要),生成签名的算法为:
 
 
参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay,partnerId使用mchid即可。
 
进行统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId(微信商户id),prepayId(预付订单id),nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
 
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
文档中的步骤3,简直是在骗人!在APP发起支付后,返回的总是错误数据,能够进入微信界面,但最后发现其中只有一个确定按钮,返回的错误码为-2,这就是签名造成的错误!
 
注意!参与签名的字段必须都为小写,不能存在大写字段!坑了我们好几天,经过google后才能找出对应的问题!
 
 
具体可以参考下面的文档内容:
 
 
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
此外,支付结果回调需要能够支持app的支付结果回调,回调的方法中如果确认成功,需要返回一段XML,才能让微信服务器确认已经接受到notify消息,否则微信服务器会多次retry调用我们的接口。
 
<xml>
     <return_code><![CDATA[SUCCESS]]></return_code>
     <return_msg><![CDATA[OK]]></return_msg>
</xml>
 
 
在xml中可以看到CDATA标签, CDATA 区段(CDATA section)中的文本会被解析器忽略,这样可以保证既能够让xml工具正常解析,又可以在其中放置一些特殊字符串,例如<等,在其中不需要再次转义。
 
好在iOS以及Android端均存在对应的开发文档,而且没有什么坑:
 
  • 大小: 66.7 KB
  • 大小: 48.9 KB
  • 大小: 66.7 KB
分享到:
评论

相关推荐

    微信中运行的备忘录小程序开发源码.rar

    微信中运行的备忘录小程序开发源码,用来记录你需要做的事,并可设置提醒时间、提醒方式等,在Android机中,有不少类似的APP应用,不过本源码主要是面向微信小程序开发的,对刚接触微信小程序开发的新手,或许会从中...

    微信小程序 备忘录/笔记本ant_noteBook-master.zip

    微信小程序 &lt;蚂蚁记事本&gt; 备忘录/笔记本ant_noteBook-master.zip

    微信小程序之备忘录范例源码.rar

    小程序之备忘录开发的源码,微信的react的特性使它很适合用来开发这种单机版简单交互的备忘录。在本示例中,初始时页面只有一个简简单单的欢迎词和文本框,当聚焦文本框开始输入文字,下方出现提交及重置按钮,默认...

    微信小程序家庭财务收支平台app设计后端SSM可升级SpringBoot

    管理员角色包含以下功能:登录系统,管理家庭成员用户信息,管理收入和支出类型,管理维护收入记录和支出记录,维护支付方式,发布新闻等。 用了技术框架:微信小程序客户端 + Java后台服务器端,api接口通信 + ...

    微信小程序家庭财务收支平台app设计后端SSM+源代码+文档说明+数据库.zip

    微信小程序家庭财务收支平台app设计后端SSM可升级SpringBoot毕业源码案例设计 功能说明: 用户角色包含以下功能:注册登录,修改个人信息,登记收入信息,登记支出信息,管理自己的收入和支出信息,查询新闻公告等...

    太极刷机大师找回误删的通讯录、备忘录、短信和通话记录方法.docx

    太极刷机大师找回误删的通讯录、备忘录、短信和通话记录方法.docx

    微信小程序实例-智能小时钟.zip

    页面基于WEUI组件库,微信原生视觉体验,支持在app.json中以拓展库方式引入: "useExtendedLib": { "weui": true }, 部署源码: - git clone git@github.com:realyao/realyao/WXminiprogram-Focus-clock.git - ...

    移动开发微信小程序设计(99+套毕业设计源码打包)

    wechat-app-xiaoyima-master.zip 滑动选项卡.zip 京东白条.zip 京东首页demo.zip 和茶网.zip 大好商城.zip 猫眼.zip 环球小镇.zip 阿姨帮.zip 零食商城.zip 商城.zip 淘票票.zip 生鲜商城.zip 五洲到家.zip 同乐居...

    13:微信小程序设计-毕业设计源码(188套).rar

    wechat-app-xiaoyima-master.zip 滑动选项卡.zip 京东白条.zip 京东首页demo.zip 和茶网.zip 大好商城.zip 猫眼.zip 环球小镇.zip 阿姨帮.zip 零食商城.zip 商城.zip 淘票票.zip 生鲜商城.zip 五洲到家.zip 同乐居...

    备忘录小程序源码.zip

    小程序源码,亲测可用!!

    工资查查移动工资条 v1.0.1

    工资查查独立版特点:基于H5开发,客户端无需安装PC与移动设备自动适应,设备无关可集成于微信公众号可集成于微信小程序可集成于App操作简单可批量导入工资可单条录入工资自定义工资表结构无限量工资数据服务器端...

    工资查查移动工资条 v1.0.1.zip

    大部分的工资还是以打印工资条的形式进行,偶有公司使用邮件发放工资条,而工资条的现代形式应该是移动工资条,以实现信息的备忘、到达、管理、对帐、环保、高效等需求……,用户已经习惯使用手机(或以其它移动方式...

    2000个小程序精选源码(包含49个行业)

    │ │ 备忘录.zip │ │ 手势解锁.zip │ │ 搜索框.zip │ │ 查拼音.zip │ │ 步步高字典.zip │ │ 生活圈.zip │ │ 画布:时钟.zip │ │ 番茄时钟.zip │ │ 简易计算器.zip │ │ 蝌蚪签到.zip │...

    19个小工具类的小程序源码开发使用

    带搭建效果图片,目录结构和大多数小程序一样,app.js 文件的主要作用是充当微信小程序的脚本文件,适合新手开发使用,手把手带你玩转微信小程序二次开发,属于自己的小程序,开发能力强的话可对接开通流量主代码-...

    TAPKeyboardPop(iPhone源代码)

    来源:github/TAPKeyboardPopLicence:MIT作者:CoTap, Inc. ... 我们可以在iPhone上试试iMessage和备忘录这两个App,就看得出两种键盘隐藏方式的不同。这份代码实现的是iMessage这种键盘隐藏方式。

    iOS应用逆向工程(第2版)高清版 沙梓社 吴航 著

    6.2.1 从现象切入App,找出UI函数 162 6.2.2 以UI函数为起点,寻找目标函数 173 6.3 LLDB的使用技巧 203 6.3.1 寻找函数调用者 203 6.3.2 更改进程执行逻辑 208 6.4 小结 211 第四部分 实 战 篇 第7章 ...

Global site tag (gtag.js) - Google Analytics