微信H5支付 遇到坑的一些解决方法
解决办法
1. 商家参数格式有误,请联系商家解决
a.对于前后端分离的开发模式 前端发起请求 服务端请求微信h5支付统一下单接口 返回参数mweb_url 给前端 然后前端调起微信h5支付
b.注意的是 微信商户平台 开发配置 H5支付授权域名是一级域名 例:一级域名 mark.com
c. 前端的二级域名:web.mark.com 确保前端调用mweb_url时的 前端url地址 和 H5支付授权域名是同一个域名地址下的
d. 哈哈哈 微信h5文档说的是缺少referer 找了好久 这个家伙 原来是调起支付的二级域名错了 前端应该有个二级域名去调支付才行 后台是提供接口的 只有M层和C层 V层的家伙还是要前端去搞吧
微信h5支付新版详细的介绍可以看: https://www.cnblogs.com/txw1958/p/wxpayv3_h5.html
扩展 refer的解释: https://www.sojson.com/blog/58.html
2.微信支付回调地址的控制器打印数据为空的话 就应该是打印数据的位置不对 一般应该在NotifyProcess这个方法里打印$data数据 这样就有数据了
3.微信支付返回

a.这个时候 打印下 mweb_url 看看是不 prepay_id 为空值

b. 然后我们看微信H5支付文档 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1

c. 预支付交易会话标识 prepay_id 的解释:
微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时,针对H5支付此参数无特殊用途
d.解决办法
1.这个prepay_id 说的是第一次生成 然后两小时之内有效 可以在两个小时内生成 这个 prepay_id 两小时之后 这个订单号无法生成prepay_id的值 再调用 就会出现 支付失效请重新下单
2.操作场景一般是 用户调起微信支付 就已经生成一个prepay_id 但是没有支付的话 两个小时之后 这个订单号 就会失效
3.业务处理的话 建一个伪订单表 和 自己的真订单号的 id 绑定 如果链接的prepay_id为空的话 就给伪订单表里 加一条数据 然后通过伪订单号 进行调起订单 回调的时候 先判断有没有在伪订单表里 有的话 就去取真订单表的订单号 然后完成状态更改
微信H5支付 遇到坑的一些解决方法的更多相关文章
- 微信 H5 支付流程以及一些坑
原文:https://blog.niceue.com/front-end-development/wechat-h5-payment-process-as-well-as-some-pits.html ...
- 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)
问题分析 正常的H5支付流程如下 按照上面的支付流程会出现 App -> 微信 -> 支付 -> 点击 完成 -> safari访问redirect_url设置的URL,这种流 ...
- 微信H5支付坑一--手续费未结算
简单随笔小记: 场景:在微信H5支付的过程中,无论怎么支付完成,在微信商户后台查询手续费依然未扣除,当时手续费账户月为5元. 解决方法:起初无论怎么测试都不知道代码到底问题出在哪里了,想一下手续费账户 ...
- 微信h5支付出现“商家参数格式有误,请联系商家解决”
在浏览器进行微信h5支付时出现:
- 微信h5支付“网站域名ICP备案主体与商户号主体不一致”的解决方法,H5微信支付 授权函下载
如下图所示: 微信h5支付“网站域名ICP备案主体与商户号主体不一致”: 需提交H5微信支付 授权函 下载地址:https://download.csdn.net/download/a72400815 ...
- 微信支付之微信H5支付(坑,ajax不支持重定向跳转)
这里讲的是 微信h5支付, 是微信以外的手机浏览器调用微信h5支付 h5支付: H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起 ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- 黄聪:详解申请微信h5支付方法,开通微信h5网页支付接口(转)
版权声明:图文并茂的微信小程序教程!欢迎转载,请保留作者名字和链接:商业合作请联系子恒老师助理 QQ : 2334512685 https://blog.csdn.net/towtotow/artic ...
- 详解申请微信h5支付方法,开通微信h5网页支付接口(转)
现在大街小巷的商家都在使用微信支付,但是一些商家使用的是个人微信收款,这个虽然很便利,但是如果你想要数据统计汇总,让客户在网络上在线付款,就需要用到微信的h5支付. 微信h5支付 今天子恒老师跟你分享 ...
随机推荐
- Linux下安装oracle的步骤和一些问题
今天在Linux64位系统安装oracle数据库,折腾了一天,终于搞定了,现在把安装步骤梳理下,防止以后忘记: (以下内容来自http://blog.163.com/junwu_lb/blog/ ...
- SQL-存储过程-010
什么是存储过程? 可以理解为数据库中的方法,与C#中的方法一样,具有参数和返回值: 存储过程的优点? 提高运行速度:存储过程在创造是进行编译,以后运行存储过程都不需要再进行编译,极大化的提高了数据库的 ...
- sdn的相关学习系列之一mininet的安装
Ubuntu16.04安装mininet 1.安装git命令 sudo apt-get install git 2.从Github上下载Mininet官网的源码 git clone git://git ...
- webpack的知识内容
webpack的构建工具: 浏览器的兼容性? 转换ES6语法: 转化JSX: css
- js生成的验证码
例1 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title&g ...
- django admin 支持时间更改
from django.db import models import django.utils.timezone as timezone class Doc(models.Model): add_d ...
- [Android]-图片JNI(C++\Java)高斯模糊的实现与比較
版权声明:本文作者:Qiujuer https://github.com/qiujuer; 转载请注明出处,盗版必究! !! https://blog.csdn.net/qiujuer/article ...
- fges
基本用法: fgets函数用来从文件中读入字符串.fgets函数的调用形式如下:fgets(str,n,fp):此处,fp是文件指针:str是存放在字符串的起始地址:n是一个int类型变量.函数的功能 ...
- Delphi 10-10.2.2启动提示JS错误的解决办法
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\18.0\Known IDE Packages\ $(BDS)\Bin\CommunityToolbar240.b ...
- 简述Ajax原理及实现步骤
简述Ajax原理及实现步骤 1.Ajax简介 概念 Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML). 现在允许浏览器与务器通信 ...