微信公众号支付流程

项目背景:

1、前后端分离,前端是jquery 获取后端接口 (php)

开发流程:

1、配置

进入微信公众平台,申请开通微信支付,不开通就别进行下一步了。开通后,进入左侧的微信支付,点击开发配置,公众号支付授权目录,一般为H5页面的上一级目录。记得写‘/’

2、前端js 使用微信接口获取code

具体接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect (静默授权,用户感知不到)

REDIRECT_URI 为当前页面  这个页面要做打开页面的操作,真正的打开,不是请求参数,不然坑死你没商量。微信服务器会302调回到REDIRECT_URI 传来的页面,后面会附带参数code和state  ,成功获取。

3、前端将获取的code发送给后端,getOpenId()  主要实现的功能为通过code换取网页授权access_token 和需要付款时调起很关键的openId

public function getOpenId(){

//$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code ';

$code = I('param.code');

if(empty($code)){

die;

}

$appId = 'wx1234123412341234';

$secret = '3434212331234123235345';

$s = 'CODE';

$result = file_get_contents('https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appId.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code');

后端代替前端获取openId会比较安全,因为涉及到secret,不应该在前端存储。

4.下面开始正式预订单 前端传递参数 后端来处理

前端传递一些必要的订单号,金额等,后端获取 注意大小写,原生php的项目使用官方的demo挺合适的。不然使用一些网上分享的类来做也可以。这一块的文章太多了,只要按照文章来做,一定可以获取到prepay_id 的

if ($wx_result['return_code'] === 'SUCCESS' && $wx_result['return_msg'] === 'OK' && $wx_result['result_code'] === 'SUCCESS' )

都正常那就开始业务逻辑,生成订单等等

5,二次签名

//二次签名

$sign_array = array();

$sign_array['appId'] = $wx_result['appid'];

$sign_array['nonceStr'] = $wx_result['nonce_str'];

$sign_array['package'] = 'prepay_id='.$wx_result['prepay_id'];

$sign_array['signType'] = 'MD5';

$sign_array['timeStamp'] = time();

这块注意下大小写,$wx_result数组是第四步传来的。 挑选有用的来加密,实现调起微信公众号支付。

6、前端获取 返回的json数据,调起

 jsApiCall() 括号内一定要加上data!!!!!!!!弄了三天,你懂得。

7、支付成功后,微信会通知服务器,开始后台逻辑xxxx

其实没有那么多的坑,微信的文档仔细看仔细看仔细看

差不多就这样了。

php公众号支付后的微信通知,关于微信公众号支付细数我踩过的坑相关推荐

  1. 微信支付后“自动”绑定用户手机号与公众号

    微信支付后"自动"绑定用户手机号与公众号 说明: 这里的微信支付是指 微信网页支付(h5) 微信支付的内容必定是和手机号码有关联的(当然交易中涉及的其他用户信息也是可以用同样的办法 ...

  2. 微信公众号java模拟登录_【微信公众平台改版后】Java模拟登录微信平台,主动推送消息给用户...

    一.简要说明 在博文<Java模拟登录微信公众平台,主动推送图文消息给用户>中提到使用Java语言登录微信公众平台,然后发送图文消息给用户,基本可以符合使用要求,但是在今年10月23日,微 ...

  3. 微信开店细则曝光:门槛高 支付费率0.6%起

    12月25日消息,亿邦动力网日前获得一份微信店铺系统的招商文件,该文件不仅明确开始招募商户(包括综合B2C商城.垂直B2C商城和品牌商)开通微信店铺,而且公布了微信支付的接入条件.微信支付的手续费率. ...

  4. 草料二维码提交数据自动通知企业微信

    草料二维码自动通知场景简介:通过草料二维码,可以快速的生成二维码,适用于疫情统计.人员信息认证.设备巡检等场景.当表单填写新数据.状态发生变化时,如何更高效的通知企业微信?通过腾讯云HiFlow场景连 ...

  5. 微信支付后默认关注公众号与推荐关注公众号规则

    推荐关注规则指微信支付内部制定,推荐关注框和默认勾选能否出现的规则和判断逻辑,当前线上生效的逻辑有: 1.刷卡支付默认有推荐关注 2.九宫格业务默认不勾选推荐关注 3.粉丝数大于50W支付金额大于等于 ...

  6. 浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)

    本文是[浅析微信支付]系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处. 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 微信支付是集成在微信客户 ...

  7. 支付宝H5,微信H5,微信公众号支付回调

    业务场景 应公司需求,需要在项目中接入支付宝h5支付,微信h5支付和微信公众号支付功能,本编主要讲述支付踩坑和h5支付后跳转的回调问题 微信h5支付 微信h5支付时需要校验下单域名,微信从refere ...

  8. 微信jsapi支付获取code_微信开发之微信公众平台开发之JSAPI公众号支付

    本文将带你了解微信开发微信公众平台开发之JSAPI公众号支付,希望本文对大家学微信有所帮助. 一:配置参数 申请成功后,获取接口文件, 将所有文件放入项目根目录weixin下,在WxPay.ub.co ...

  9. 微信小程序服务器支付sdk,微信小程序之支付后如何调用SDK的异步通知

    微信小程序之支付后如何调用SDK的异步通知 发布时间:2021-07-05 10:47:33 来源:亿速云 阅读:57 作者:小新 这篇文章主要介绍微信小程序之支付后如何调用SDK的异步通知,文中介绍 ...

最新文章

  1. 读书:有趣 -- 酒鬼与圣徒
  2. Linux Socket基础介绍
  3. MPB:南土所冯有智组-基于微量热曲线的微生物群落代谢特征分析
  4. 如何解决弹出窗口固定大小及内容的问题
  5. 00018计算机应用2018年4月,全国2019年4月自考00018《计算机应用基础》试题及答案...
  6. c语言第四版课后答案第三章3.4,算法与数据结构C语言版课后习题答案(机械工业出版社)第3,4章 习题参考答案...
  7. 前端学习(3289):object.define2
  8. 最详细的U-BOOT源码分析及移植
  9. 解决maven项目没有Maven Dependencies
  10. PHP上传大文件 分割文件上传
  11. HDU 5410 CRB and His Birthday
  12. python request发送用户名密码_Python3 利用requests 库进行post携带账号密码请求数据的方法...
  13. Android截图功能
  14. 探索Perl的世界(更新到第十七章57集)
  15. 北理工计算机学院沈建斌,中国高校计算机大赛-团体程序设计天梯赛全国总决赛获奖.doc...
  16. 【调剂】山东大学控制科学与工程学院生物医学实验室课题组招收硕士研究生...
  17. 二维图像中Mat::setp、Mat::step1理解
  18. DOS 之for循环
  19. HotSpot的新生代三区划分好在哪?
  20. java多态性_深入理解java多态性

热门文章

  1. 中顶汽车美容管理系统
  2. 网络营销师职业前景如何?
  3. WAF原理及绕过(成功绕过某狗)
  4. 我所理解的OpenSocial
  5. windows优化大师怎么用_windows7怎么使用便签?可以和苹果手机一块儿用吗
  6. Java的comparator接口中compare方法比较原理
  7. casili计算机按音乐,CASILI计算器怎么按反对数
  8. 计算机考试应该注意些什么问题,全国计算机二级C考试要注意哪些问题?
  9. [办公软件教程] Excel迷你图在哪里?Excel迷你图怎么设置
  10. windows搭建nexus私服