1、官方文档地址:

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1

2、逻辑分析:

  生成支付二维码-》用户扫码支付-》成功后支付回调完成业务功能

3、准备工作

一个生成图片二维码的文件(phpqrcode)

二、代码


require_once '../librarys/wx/wx_pay/lib/WxPay.Api.php';
require_once '../librarys/wx/wx_pay/lib/WxPay.Config.php';
require_once '../librarys/wx/wx_pay/lib/WxPay.NativePay.php';
 1  /**
2 * 微信支付,扫码支付
3 * @return string
4 * @throws \yii\base\Exception
5 */
6 public function actionWxPayNative()
7 {
8 $body = $this->_getRequestValue('body');//主题
9 $attach = $this->_getRequestValue('attach');//备注信息
10 $trade_no = $this->_getRequestValue('trade_no', Yii::$app->security->generateRandomString(8));//订单号
11 $total_fee = $this->_getRequestValue('total_fee');//支付金额
12 $notify_url = $this->_getRequestValue('notify_url');//支付成功后的回调地址
13 $app_id = $this->_getRequestValue('app_id');//公众号的app_id
14 $mch_id = $this->_getRequestValue('mch_id');//商户id
15 $mch_key = $this->_getRequestValue('mch_key');//商户key
16
17 $pay_config = ['APPID' => $app_id, 'MCHID' => $mch_id, 'MCHKEY' => $mch_key];
18
19 $attach = json_encode($attach);
20 $notify = new \NativePay();
21 $input = new \WxPayUnifiedOrder();
22 $input->SetBody($body);
23 $input->SetAttach($attach);
24 $input->SetOut_trade_no($trade_no);
25 $input->SetTotal_fee($total_fee);
26 $input->SetTime_start(date("YmdHis"));
27 $input->SetTime_expire(date("YmdHis", time() + 600));
28 // $input->SetGoods_tag("test");
29 $input->SetNotify_url($notify_url);
30 $input->SetTrade_type("NATIVE");
31 $input->SetProduct_id($trade_no);
32
33
34 $result = $notify->GetPayUrl($input, $pay_config);
35
36 if (isset($result['result_code']) == 'SUCCESS' && $result['return_code'] == 'SUCCESS') {
37 $data = ['app_id' => $result['appid'], 'mch_id' => $result['mch_id'], 'code_url' => $result['code_url'], 'trade_type' => $result['trade_type']];
38 return $this->renderJson($data);
39 }
40
41 $data = ['return_msg' => $result['return_msg']];
42
43 $log_id = Yii::$app->session->get(self::RequestBaseApiLogId);45
46
47 return $this->renderJson($data, 1, '生成扫码支付失败');
48 }

页面

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019-01-10
* Time: 17:52
*/
?> <div class="message-cz">
<div class="top">支付金额 <b class="font-red">¥0.01</b></div>
<div class="zxzf">
<div class="ewm">
<img alt="扫码支付" src="<?php echo \yii\helpers\Url::to(['common/qr-code', 'qr_code' => $code_url]); ?>"
style="width:220px;height:220px;"/>
</div>
</div>
<p>在微信右上角点击"扫一扫"</p>
<a href="javascript:;" class="btn_close"></a>
</div> <script type="text/javascript">
$('.btn_close').click(function () {
$('.inside-alert-wrapper').hide();
clearInterval(ref);
}); var data = {};
data.record_id = "<?= $record_info['id'] ?>"; var count = 0;
ref = setInterval(function () {
count++;
if(count >= 300) {
clearInterval(ref);
} requestJson('check-recharge-status', data, false, function (responseJson) {
if (responseJson.data == '1') {
infoDialog('支付成功');
clearInterval(ref);
$('.inside-alert-wrapper').hide();
window.location.reload();
}
})
}, 2000);
</script>

PHP微信三方平台-微信支付(扫码支付)的更多相关文章

  1. Java微信公众平台开发之扫码支付模式一

    官方文档点击查看准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败)借鉴了很多大神的文章,在此先谢过了大体过程:先扫码(还没有确定实际要支付的金额),这个码是商品的二维码,再生 ...

  2. Java微信公众平台开发之扫码支付模式二

    官方文档点击查看 准备工作:已通过微信认证的公众号,域名可以不通过ICP备案借鉴了很多大神的文章,在此先谢过了大体过程:根据固定金额和商品的ID先生成订单,再生成二维码,客户扫一扫付款模式二支付的流程 ...

  3. Java之微信支付(扫码支付模式二)案例实战

    摘要:最近的一个项目中涉及到了支付业务,其中用到了微信支付和支付宝支付,在做的过程中也遇到些问题,所以现在总结梳理一下,分享给有需要的人,也为自己以后回顾留个思路. 一:微信支付接入准备工作: 首先, ...

  4. (实用篇)微信支付扫码支付php版

    本文实例为大家分享了php微信扫码支付源码,供大家参考,具体内容如下 代码中包含四个文件createUrl.php.ArrayToXML.php.returnGoodsUrl.php.notifyUr ...

  5. ThinkPHP 整合微信支付 扫码支付 模式二 图文教程

    这篇文章主要介绍扫码支付场景二. 目前有两种模式,模式一比模式二稍微复杂点,至于模式一与模式二的具体内容,流程,微信开发文档都有详细介绍,这里就不多说废话,接下来赶紧上教程! [title]下载SDK ...

  6. 微信开放平台PC端扫码登录功能个人总结

    最近公司给我安排一个微信登录的功能,需求是这样的: 1.登录授权 点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录:    若当前账号未绑定微信账号,扫描后提示“ ...

  7. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  8. C# 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付            今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候 ...

  9. ASP.NET Core Web 支付功能接入 微信-扫码支付篇

    这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入微信-扫码支付及异步通知功能. 开发环境:Win 10 x64.VS2017 15.6.4..NET Core SDK ...

  10. 【转载】ASP.NET Core Web 支付功能接入 微信-扫码支付篇

    转自:http://www.cnblogs.com/essenroc/p/8630730.html 这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入微信-扫码支付及异步 ...

随机推荐

  1. iframe 嵌套别的系统不显示,父窗口不响应

    显示不全,没有登录界面,检查了代码渲染了,只是display:none :换了网址 ,别的都可以,只有这个不行 搜索 复制

  2. oracle修改表中的列

    declare v_Count1 int := 0; v_Count2 int := 0; v_Count3 int := 0; v_Count4 int := 0; v_Count5 int := ...

  3. 1903021126 申文骏 Java 第二周作业 代码编写及运行

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java第二周作业 博客名称 1903021126 申文骏 Java 第二周作业 代码编写及运行 要求 每道题要有题目,代码(使用插入代 ...

  4. curl下载远程图片到服务器

    <?php //curl下载远程图片到服务器 方法 function download($url, $path = 'images/'){ $ch = curl_init(); $names = ...

  5. Esp32 arduino 编译报 hwcrypto/aes.h: No such file or directory 错误

    由于hwcrypto/* 在新版中移动到了 esp32/*. 编译会出现hwcrypto/aes.h: No such file or directory 的错误 解决方案如下: arduino 中E ...

  6. 从NCBI中下载各物种参考基因组

    1. 打开NCBI 2. 输入物种名,以HPV为例: 搜索,到genomes分栏下面选择Assembly点击进去 3. 进去下面的界面,再点击RefSeq进入下载界面 4. 进入下载界面: HPV参考 ...

  7. 狐漠漠养成日记 Cp.00001 开始养成计划

    开始养成计划 今天是我开始这个"狐漠漠养成计划"的第一天(划掉). 看来是昨天出门前忘记保存了,昨天写的几百字内容全都没有了,今天其实已经是计划开始的第二天了. 因为昨天晚上出去喝 ...

  8. linux学习之vi

    vi 删除当前行dd 删除当前行及下面内容 dG 删除第2行到第3行2d 3d 删除指定行,删除第5行  5dd 删除当前行以下3行  d3

  9. 2vue

    事件 v-on:click="handle" @click="handle" handle创建在methods里 <!DOCTYPE html> & ...

  10. 第十二组 -摩天脆脆冰淇淋队-第四次团队作业:Git实战

    这个作业属于哪个课程 至诚软工实践F班 - 福州大学至诚学院 - 班级博客 - 博客园 (cnblogs.com) 这个作业要求在哪里 第四次团队作业:Git实战 - 作业 - 至诚软工实践F班 - ...