支付步骤逻辑:

1. 小程序发起请求预支付

2. 服务端调用接口发起预支付信息

3. 微信小程序调起支付完成支付

1. 小程序发起请求预支付

2. 服务端调用接口发起预支付信息

服务端接收到请求后,调用微信的api接口,调用成功会得到一个prepay_id 这个就是相当于小程序的预支付id 过程中会生成签名,按照官方文档的实例参数生成即可,如果非必填可选择不填,然后向 api 发送一个xml

wx2421b1c4370ec43b

支付测试

10000100

1add1a30ac87aa2db72f57a2375d8fec

[url]http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php[/url]

oUpF8uMuAJO_M2pxb1Q9zNjWeS6o

1415659990

14.23.150.211

1

JSAPI

0CB01533B8C1EF103065174F50BCA001

需要注意sign 生成方式和公众号生成方式一致,下面是PHP生成签名方法, 可根据不同的框架修改,记得修改 key/**

* 生成签名

* @return 签名,本函数不覆盖sign成员变量,如要设置签名需要调用SetSign方法赋值

*/

public function MakeSign()

{

//签名步骤一:按字典序排序参数

ksort($this->_prepay);

$string = $this->ToUrlParams();

//签名步骤二:在string后加入KEY

$string = $string . "&key=".WxPayConfig::KEY;

//签名步骤三:MD5加密

$string = md5($string);

//签名步骤四:所有字符转为大写

$result = strtoupper($string);

return $result;

}

/**

* 格式化参数格式化成url参数

*/

public function ToUrlParams()

{

$buff = "";

foreach ($this->values as $k => $v)

{

if($k != "sign" && $v != "" && !is_array($v)){

$buff .= $k . "=" . $v . "&";

}

}

$buff = trim($buff, "&");

return $buff;

}调用统一下单api/**

* 统一下单调取返回值

* @return mixed

* $output['return_code'] 状态码 SUCCESS/FAIL

* $output['return_msg'] 返回信息,如非空,为错误原因 签名失败 参数格式校验错误

* $output['time'] 当前时间戳

* $output['nonceStr'] 随机字符串

* $output['prepay_id'] 预支付id

* $output['sign'] 签名

* */

public function pay_place_order()

{

$xml = '

'.$this->_prepay['appid'].'

'.$this->_prepay['mch_id'].'

'.$this->_prepay['nonce_str'].'

'.$this->_prepay['notify_url'].'

'.$this->_prepay['openid'].'

'.$this->_prepay['out_trade_no'].'

'.$this->_prepay['spbill_create_ip'].'

'.$this->_prepay['total_fee'].'

'.$this->_prepay['trade_type'].'

'.$this->MakeSign().'

';

//调用api,自定义对参数进行处理,改请求方式是自定义方式

$xml_result = post_request_https('https://api.mch.weixin.qq.com/pay/unifiedorder', $xml);对返回的参数从新生成sign,得到一个新的sign,返回小程序

注意: 生成返回小程序签的名参与生成的签名的字段有下图,记得拼接key ,使用的是调取api 返回的值

3. 微信小程序调起支付完成支付

注意: 支付成功后微信回调通知签名验证,需要的参数是所有返回的参数字段除去sign字段,生成签名 = 返回字段中的sign(签名)

php微信小程序支付流程,微信小程序支付流程相关推荐

  1. 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现

    小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...

  2. 小程序下单账号与支付账号不一致不让支付_微信小程序支付流程

    微信支付之小程序支付 微信的支付方式有以下几种,不同的支付方式适用于不同的支付场景,而今天要给大家讲的就是 小程序支付 方式 说到支付功能就要涉及到金钱交易,必定是有比较严格的规范及流程,如要求小程序 ...

  3. 微信小程序(6)说说微信小程序的支付流程?

    一.前言 微信小程序为电商类小程序,提供了非常完善.优秀.安全的支付功能 在小程序内可调用微信的API完成支付功能,方便.快捷 场景如下图所示: 用户通过分享或扫描二维码进入商户小程序,用户选择购买, ...

  4. 微信小程序开发之微信支付

    概述 最近这段时间接了一个蓝牙车位锁的项目:项目中包括APP和微信小程序:其中涉及在线支付功能,这里记录下微信小程序在线支付完功能 小程序在线支付流程 1.微信小程序登陆微信获取code 调用接口wx ...

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

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

  6. jsapi支付签名_小程序开发之微信支付

    1. 小程序之微信支付 虽然我们现行的小程序版本中没有支付这块功能,但是作为移动互联网中非常重要的一个功能还是需要了解下(老版本的小程序中有微信支付相关的功能代码在serviceList.js中). ...

  7. 微信小程序(登录、分享、支付)

    一.微信优势 1.什么场景下使用微信分享 ● 线下推广.线上传播 ● 分享渠道:h5.小程序.APP ● 分享方式:微信好友.朋友圈.QQ好友.QQ空间.微博 2.微信分享带来的收益 ● 拉新 ● 留 ...

  8. 微信支付之微信小程序支付

    今天给大家介绍一下微信小程序是如果实现支付的流程,在开发之前我们首先要获取到商户的appId和mchId最后就是商户的key值了.这些值在商户申请成功之后都会通过邮件的形式发送给商户,所以如果还没有拿 ...

  9. 微信小程序如何接入微信支付

    本文阐述如何从零开始接入小程序支付,尤其适合没有微信支付接入经验的开发者. 1. 申请微信支付 小程序认证以后,可以在小程序后台,微信支付菜单栏,申请微信支付. 填写企业信息和对公账户,微信支付会打一 ...

  10. 微信怎么制作小程序?制作微信小程序流程

    现在即使小程序已经非常普及了,依然也是有很多人加入到小程序的大队伍中,纷纷制作自己的微信小程序.那么微信怎么制作小程序?制作微信小程序流程又是什么呢?今天就带大家一起来看看. 微信怎么制作小程序?制作 ...

最新文章

  1. 使用霍夫变换检测车道线
  2. 注册与验证码php源代码,一个简单的PHP验证码实现代码
  3. SYSAUX表空间使用率高问题处理
  4. Servlet: server applet与执行原理
  5. xhprof 安装使用(windows linux混版)
  6. 通用数据库管理工具_了解为什么这个直观的工具是您团队的通用团队管理工具...
  7. python actor_Python定义一个Actor任务
  8. C++ BigEndian::FromLocal(uint_16)
  9. 使用 Python 和 Flask 实现 RESTful services
  10. N1网络命令-ping
  11. 在线教育平台HTML代码,在线教育学习管理平台html前端源码模板
  12. 附合导线近似平差计算
  13. 贪吃蛇程序设计报告python_贪吃蛇程序设计报告
  14. 遇到问题--java--mac版本的idea在控制台中使用mvn命令not found
  15. 鼠标指针下总出现一个滚动条似的方框,怎么办?有图
  16. js计算两个时间相差的年、月、日、时、分、秒。
  17. 删除windows搜索框中的搜索记录
  18. old DIB in res XXX ico pass it through SDKPAINT 错误
  19. Linux的常用命令有哪些?
  20. 操作系统——文件分配和空间管理

热门文章

  1. 保龄球游戏的获胜者、找出叠涂元素----2023/4/30
  2. 报数,报数啦!(讲义)
  3. 第11周 oj 日期妙算星座
  4. [记错]weblogic启动是报错***/AdminServer.lok. Server may already be running
  5. 《口吃者的自我治疗》(1.关于自我治疗)
  6. 关于HTML能做什么
  7. 孟岩:怎么看待Coin与Token的关系?
  8. 恒生关闭HOMS系统开立功能
  9. 基于 Docker Compose 容器化搭建 Wordpress
  10. 微信公众号 扫码自动回复消息