微信支付(公众号)爬坑记,包含 total_fee 失败和 JSAPI 签名验证失败等等
做商城类网站不免会需要做支付功能,目前在中国大陆通用的做法就是使用支付宝支付和微信支付,上一篇博文已经讲个支付宝支付。
这篇文章来讲一讲微信支付,微信支付的方式有很多种,本文主要讲 JSAPI 支付的前端部分。
- 各种配置不细讲。
 - 后台需要生成各种签名后返回给前台调用。
 - 前台调用,微信浏览器提供一个方法 WeixinJSBridge.invoke, 但是这个还需要加上 window 来执行不然会报错, 无法通过。
 - 前端严格按照微信提供的 demo 来写一个字符都不能错,参数一次为:appId, timeStamp,nonceStr,package,signType,paySign 需要仔细确认。
 - 后台返回的数据格式也得按照 demo 中提供的格式来,不然会报各种各样奇怪的报错返回( 微信返回的提示不友好请反复确认传入的参数格式 )。
 - 一旦确认参数没有问题,但是还报错那么后台需要确参与签名的几个参数分别为:appId、timeStamp、nonceStr、package、signType 确认无误即可通过。
 
总之微信支付前端需要做的工作很少,切记各种参数要正确。需要反复确认,做支付得细心。另外还需要仔细阅读文档。
具体参见微信支付 JSAPI 开发文档
微信支付(公众号)爬坑记,包含 total_fee 失败和 JSAPI 签名验证失败等等的更多相关文章
- JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)
		
写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了.本以为网上的微信开发教程 ...
 - 微信支付公众号支付redirect_uri域名与后台配置不一致,错误码10003
		
最近弄微信支付,微信支付公众号支付redirect_uri域名与后台配置不一致,错误码10003,最容易出错两个地方 1,appid 对应不到 2,开发者网页授权 填写域名 文章来自http://ww ...
 - 微信支付-公众号支付H5调用支付详解
		
微信公众号支付 最近项目需要微信支付,然后看了下微信公众号支付,,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验. 一. ...
 - 企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET
		
先看效果 1.本文演示的是微信[企业号]的H5页面微信支付 2.本项目基于开源微信框架WeiXinMPSDK开发:https://github.com/JeffreySu/WeiXinMPSDK 感谢 ...
 - 微信支付---公众号支付和H5支付区别
		
微信支付分为如下几种:(来源https://pay.weixin.qq.com/wiki/doc/api/index.html) 本文主要讲解公众号支付和H5支付,两者均属于线上支付比较常用的方式: ...
 - 初涉node.js做微信测试公众号一路填坑顺便发现个有趣的其他漏洞
		
[微信测试公众号] 半年前耍着玩搭起来的“微信简历”,是LAMP版的,很皮毛. 微信的官方文档在这 http://mp.weixin.qq.com/wiki/index.php 1.获取access ...
 - 亲历H5移动端游戏微信支付接入及那些坑(二)——获取Openid和授权
		
第一篇中将一些坑说明,那么这篇开始正式进入接入步骤.具体的参数说明,我不会列出,毕竟微信官方文档都有,我想大家都看的懂,而且这接口也有可能微信会变动,所以不列出来,也是不想引起大家的误解,接入步骤只起 ...
 - 亲历H5移动端游戏微信支付接入及那些坑(四)——参考文档
		
写完三篇后,我觉得微信支付的文档确实比较乱,所以在此做一个整理汇总 支付流程相关文档 一下文档已经按照接入顺序排列,请依次参考阅读 微信公众号网页授权两种access_token区别,获取用户open ...
 - atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制
		
atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制 1. token机制and session保持状态机制 1 ...
 
随机推荐
- 什么是云服务器ECS
			
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务.云服 ...
 - leecode刷题(23)-- 合并两个有序链表
			
leecode刷题(23)-- 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2-> ...
 - 分布式---Raft算法
			
6.Raft Raft也是分布式一致性协议,主要是用来竞选主节点. 单个Candidate的竞选 有三种节点:Follower,Candidate和Leader.Leader会周期性的发送心跳 ...
 - C#中的编译为什么不叫Compile而叫build
			
是因为Build包含了compile,build既compile了你自己的代码,又把你compile的Assembly和引用别人的Assembly放在一起buiid.
 - Mysql学习(二)之通过homebrew安装mysql后,为什么在系统偏好设置里没有mysql
			
原因 用brew install packagename是用来安装命令行工具的,一般不可能影响到图形界面. mysql官方文档是通过dmg文件安装的: The MySQL Installation P ...
 - 第一篇 HTML 认识HTML
			
认识HTML 学习一门语言,我们要先了解它,可以不用太资深,但要做到别人问,你能回答得出来! 注:推荐大家去网址:www.w3school.com.cn 前端学习手册(免费的) HTML(超文本标记语 ...
 - electron localStorage的bug
			
在更新 electron 后有可能会读不到 localStorage 里的数据 推测是 localStorage 写在 Chromium 内核里,更新 electron 同时会更新 Chromium, ...
 - pytorch简单框架
			
网络搭建: mynn.py: import torchfrom torch import nnclass mynn(nn.Module): def __init__(self): super(mynn ...
 - 从FBV到CBV三(权限)
			
丛FBC到CBV三(权限) span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0 ...
 - Laying out a webpage is easy with flex
			
Flex写起来省劲很多,只用加上flex-wrap:wrap在container上.Html5 playground