微信支付里目前已经不支持wap支付,在非微信浏览器手机网页中实现支付,可以开通H5支付。

H5支付是调用微信下单接口后返回微信的一个H5链接,前端跳转到这个H5链接,这个H5链接是个支付中间页,实现了和微信app通信,拉起微信支付,并回跳商户return_url的功能,而当用户返回时,会停留在这个支付中间页,会是空白,对于用户来说体验不好。

官方也不建议再用早期的wap支付,但实际我们可以通过下单接口获取的H5链接中提取出deeplink(实际支付中间页也是通过deeplink拉起的),直接在当前商户页面拉起微信支付,不需要通过支付中间页,返回时就不会出现空白,但也有不好的地方,是无法跳转到return_url

调用微信统一下单接口https://api.mch.weixin.qq.com/pay/unifiedorder(trade_type值为MWEB)后,向返回的mweb_url做一次CURL,通过正则匹配出deeplink,主要代码如下

  $ip = '获取当前客户端IP';
$headers = array("X-FORWARDED-FOR:$ip", "CLIENT-IP:$ip");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $mweb_url);
curl_setopt($ch, CURLOPT_HTTPHEADER , $headers);
curl_setopt($ch, CURLOPT_REFERER, '填写配置在微信商户后台的H5域名');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0.1; OPPO R11s Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36');
$output = curl_exec($ch);
curl_close($ch);
if (preg_match('/weixin:\/\/wap.*/',$output, $mweb_urls)) {
return json(
[
"code" => 200,
"data" => trim($mweb_urls[0],'"'),
"message" => "SUCCESS"
]
);
} else {
return json(
[
"code" => 400,
"data" => "",
"message" => "订单参数异常,请重新下单后再发起付款"
]
);
}

手机网页通过微信deeplink实现wap支付的更多相关文章

  1. html5手机浏览器启动微信客户端支付实例

    html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...

  2. 用MVC做支付宝手机网页支付问题

    支付宝支付接口手机网页支付 从官网扒下来的demo阿里做得还是相当不错的,只要参数改正确了基本上都是能跑通,WebForm的没什么大问题,这次要讲的主要是几个要注意的问题,因为是用MVC来做. 1.要 ...

  3. php支付宝手机网页支付类实例

    <?php $alipayConfig = array( 'key' => 'xxxxx', //买卖安全校验码,用于签名的32位密钥 'transport' => 'https', ...

  4. wap网页、微信内嵌网页在手机端页面窗口尺寸如何不缩放

    如何让wap网页.微信内嵌网页内容(尺寸和文字)在手机端页面窗口尺寸不被强制缩放 在head中加入: <meta http-equiv="Content-Type" cont ...

  5. 黄聪:微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付

    一.首先先确定H5支付权限已经申请! 二.开发流程 1.用户在商户侧完成下单,使用微信支付进行支付 2.由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB ...

  6. .NET接入UnionPay银联支付(一)手机wap支付

    最近呢,比较忙,公司在接入银联全渠道支付,博主接手的wap支付,发表一下博主在接入的时候遇到的坑和注意事项,方便大家学习接入,爬坑的路上更顺利一点~ 开发步骤 1. 以表单的方式组装要发送给银联全渠道 ...

  7. 支付宝Wap支付你了解多少?

    上几篇文章详细介绍了支付宝APP支付.微信APP支付 此文章来介绍下支付宝Wap支付(也叫作手机网站支付) 目录 1.创建应用并获取APPID 2.配置应用环境 3.配置沙箱环境 4.服务端实现(Ma ...

  8. 微信公众号H5支付遇到的那些坑

    简史 官方文档说的很清楚,商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程. 当然,最近微信支付平台也加入了纯H5支付,也就是说用户可以在微信以外的 ...

  9. 【第二十篇】C#微信H5支付 非微信内浏览器H5支付 浏览器微信支付

    微信开发者文档 微信H5支付官方文档   请阅读清楚  最起码把所有参数看一遍 这个地方也可以看看 微信案例 http://wxpay.wxutil.com/mch/pay/h5.v2.php,请在微 ...

  10. php支付走过的坑(微信篇 包含h5支付和app支付 注册 秘钥 环境等等配置)

    支付这东西,说容易也容易,说难也难 代码这玩意还比较好说 但是 如果没有demo 直接去看官方文档 十有八九一脸懵逼 今天就整理一下 支付这块走过的坑 涉及 微信h5支付 支付宝h5支付 (api文档 ...

随机推荐

  1. Windows下使用Qt复制文件夹(xcopy,非QFile)

    Windows下使用Qt复制文件夹(xcopy,非QFile) .h文件 #ifndef CXCOPY_H #define CXCOPY_H #include <QWidget> #inc ...

  2. javax.validation @Valid注解实现参数校验

      在 RESTful 的接口服务中,存在各种各样的请求参数.在跳入业务处理环节之前,通常会有一个基础的数据验证的机制,待验证通过,结果无误后,请求参数才会传递到正式的业务处理中. maven 依赖引 ...

  3. MyAuthWeb TianYe版预览

  4. 图扑软件 | 带你体验 Low Poly 卡通三维世界

    在三维场景搭建中,图扑软件提供了多样化的设计风格,以满足不同项目的视觉需求.无论是写实风格的细腻渲染.科幻未来的赛博质感,还是简约现代的几何美学,都能通过灵活的工具体系实现.而今天,我们将重点介绍一种 ...

  5. 什么?AI还是儿童百科全书呢

    本文由 ChatMoney团队出品 介绍说明 在孩子充满好奇与探索欲望的成长道路上,知识是他们最宝贵的财富.而我们的儿童百科全书智能体,就像一座知识的宝库,为孩子们打开了一扇通往世界的神奇大门. 儿童 ...

  6. 小车PID巡线调节

    PID巡线调节 1.双巡线P控制 KP可以先从0.2值调起,P比例主要控制小车能够在线上正常巡线, P比例说明:KP值越小,转弯幅度越大,会直接越过黑线.KP值越大,转弯幅度越小,能正常巡线,但是摆动 ...

  7. 国贸股份 x 袋鼠云:推进全链业务深度数字化,为产业综合服务插上数字化翅膀

    数据治理是推动大型集团企业转型升级.提升竞争优势.实现高质量发展的重要引擎.通过全链数据结构化,实现业务对象.业务规则.业务流程数字化,推进全链业务深度数字化,夯实数据运营底座. 厦门国贸集团股份有限 ...

  8. Vertx 实现webapi实战项目(一)

    关于Vertx的介绍在官方文档可以查看 https://vertx-china.github.io/docs/.网上也有许多介绍,这里就直接上项目. 一:使用idea搭建gradle项目.添加相关ve ...

  9. mysql索引优化解决方案

    mysql索引优化解决方案(在b站动力节点学习的) 可能因为这个视频是比较新的视频,评论区都没有什么笔记和文档.于是我就跟着视频边学边记录笔记.希望有些建表的代码,有需要的可以直接复制,减少了大家的无 ...

  10. taro小程序日期选择器

    taro-swiper-week taro-swiper-week 是一个基于 taro 的日期选择器控件. 可以用在h5.微信小程序等众多平台! 简体中文 | English 使用 先安装 npm ...