微信公众号支付

微信公众号 扫码支付 模式二 demo

雨燕双飞 提交于 2020-04-08 03:53:42
扫码支付 本文附有代码,在下方,如果不熟悉场景的可以看看下面的场景介绍 场景介绍 官网介绍地址: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 用户扫描商户展示在各种场景的二维码进行支付。 步骤1:商户根据微信支付的规则,为不同商品生成不同的二维码(如图6.1),展示在各种场景,用于用户扫描购买。 步骤2:用户使用微信“扫一扫”(如图6.2)扫描二维码后,获取商品支付信息,引导用户完成支付(如图6.3)。 图6.1 支付二维码 图6.2 打开微信扫一扫二维码 图6.3 确认支付页面 步骤(3):用户确认支付,输入支付密码(如图6.4)。 步骤(4):支付完成后会提示用户支付成功(如图6.5),商户后台得到支付成功的通知,然后进行发货处理。 图6.4 用户确认支付,输入密码 图6.5 支付成功提示 模式二与模式一相比,流程更为简单,不依赖设置的回调支付URL。商户后台系统先调用微信支付的统一下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。注意:code_url有效期为2小时,过期后扫码不能再发起支付。 业务流程时序图 图6.9 原生支付模式二时序图 业务流程说明: (1)商户后台系统根据用户选购的商品生成订单。 (2

微信公众号支付JSAPI,提示:2支付缺少参数:appId

我与影子孤独终老i 提交于 2019-12-29 14:41:18
因为demo中支付金额是定死的,所以需要调整。 所以在使用的JS上添加了参数传入。 这里的传入string类型的参数,直接使用是错误的,对于方法,会出现appid缺少参数的错误 //调用微信JS api 支付 function jsApiCall(jsStr) { WeixinJSBridge.invoke( 'getBrandWCPayRequest', jsStr,//存在问题的 //jsStr,//josn串 function (res) { WeixinJSBridge.log(res.err_msg); //由于官方申明:使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 //所以在返回ok的时候,只进行成功提示(即使是支付失败,但是返回是ok) $(".flsclose03").click(); if (res.err_msg == "get_brand_wcpay_request:ok") { $(".cmact_blackbg1").stop(true, true).fadeIn("fast"); $("#tip_success").stop(true, true).fadeIn("fast"); } else { $(".cmact_blackbg1").stop(true, true)

微信公众号支付JSAPI网页,total_fee错误不正确,header重定向参数丢失,无法获取订单号和金额解决

早过忘川 提交于 2019-12-29 14:41:07
微信公众号支付官方demo错误, 公众号支付只能用在微信里,也就是微信内部浏览器. 1.到WxPayHubHelper.php文件 JsApi_pub()类下createOauthUrlForCode($redirectUrl)方法, 第二个参数 改为 $urlObj["redirect_uri"] = urlencode($redirectUrl); //对$url变量进行url编码 不然header重定向时无法获取订单号和金额 2.wx.jsapi.php这个文件在header重定向后,get,post等方式传递的参数就没有了,不过重定向的URL里面有个STATE,可以把数据放里面,就OK了.具体看代码. 文件为wx.jsapi.php if (!isset($_GET['code'])) { //触发微信返回code码 $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL); //重定向的URL里面有个STATE,把GET到的数据参数放在一个数组后转换成json格式的字符串 $state = json_encode(array( "bill_no" => $data["bill_no"], //订单号 "title" => $data["title"], //标题 "return_url" =>

微信公众号支付(三):页面调用微信支付JS并完成支付

落爺英雄遲暮 提交于 2019-12-29 05:43:28
一、调用微信的JS文件 1.首先要绑定【JS接口安全域名】,“公众号设置”的“功能设置”中 2.引入JS文件  备注:支持使用 AMD/CMD 标准模块加载方法加载 1 <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 3. 通过config接口注入权限验证配置 1 wx.config({ 2 debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 3 appId: '', // 必填,公众号的唯一标识 4 timestamp: , // 必填,生成签名的时间戳 5 nonceStr: '', // 必填,生成签名的随机串 6 signature: '',// 必填,签名,见附录1 7 jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,这里只写支付的 8 }); 4. 通过ready接口处理成功验证 1 wx.ready(function(){ 2 wx.hideOptionMenu();//隐藏右边的一些菜单 3 }); 二、 wx.config 中的签名 1

微信公众号发起H5支付

寵の児 提交于 2019-12-06 20:14:19
1. 准备工作 ----> 微信提供的appid、 appSecret、payKey、 MchId、token 这些比较容易获取,过程此处省略..... ----->配置微信的OAuth2.0网页授权回调页面的域名。 这个比较难找,我看文档看了1天没有找到,郁闷致死。 最后登录到微信公众号点左侧菜单,基本所有的菜单都点了一遍才被我发现,当时哭的心都有了。所以直接上图,明确位置。如下图: 只需要点修改把自己的域名放进去就行。如m.baidu.com 或者 baidu.com -----> 配置微信公众号支付的授权目录 这个比较好找,直接上图:直接点修改,页面给的有提示。 以上工作都准备完毕 就剩下些代码了。 2. 功能实现 实现流程 --> 统一下单API查看微信提供的文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1 --> 页面授权获取openid 授权文档 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 甭看他们啰嗦 直接拉到页面的中部看目录部分。走到目录中的第二步就能获取用户的openid 第一步:重定向用户授权的URL。 控制器重定向一下地址: https://open.weixin.qq.com

【微信支付】公众号 JSAPI支付 HTML5(使用MUI前段框架)+WebApi 实现流程

我只是一个虾纸丫 提交于 2019-12-05 22:13:40
必要参数: 1) AppID,AppSecret : 在微信公众号后台管理—>(菜单栏)开发 —> 基本设置 2)商户号 :在 微信公众号后台管理—>(菜单栏)微信支付—> 商户号管理 3)商户秘钥 :在微信商户平台(可直接点击上图的“ 查看 ”)商户平台 —> 产品中心 —> 开发配置 基本配置: 1)IP白名单:a.测试电脑的ip地址,b.存放WebApi的服务器电脑ip地址 2)商户平台-->产品中心-->开发配置-->支付配置-->公众号支付:支付授权目录 注: a.前端页面的地址 b.后台支付方法的地址 (都是域名而不是IP) 具体步骤: 1)添加充值按钮 <div class="mui-content-padded" style="margin-top: 6%;"> <button id='login' class="mui-btn mui-btn-block mui-btn-primary">充值</button> </div> View Code 2)引用js 获取当前设备的IP地址: <script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 3)获取code ,openid 注:redirect_uri:是返回当前页面的 url

微信公众号支付开发

匿名 (未验证) 提交于 2019-12-03 00:29:01
微信公众号支付开发 微信公众号支付业务流程如下: 设置授权域名 参考: 微信公众号支付设置支付目录 统一下单 授权登录,获取openid 下单之前,前端要先判断是否有openid,如果没有,需要首先调用后台授权接口得到openid。我们可以使用第三方SDK来做授权操作,这样比较简单。参考: 微信公众号支付授权登录 。 首先,项目中引入第三方SDK的依赖: < dependency > < groupId > com.github.binarywang </ groupId > < artifactId > weixin-java-mp </ artifactId > < version > 3.0.0 </ version > </ dependency > 授权登录需要商户的AppId和AppSecret,可以通过配置文件注入。首先在application.yml中配置这两个属性: myAppSecret: 075419ce8d3f95a3b49304d84d98cee5 然后创建一个类用来存放这些属性的值: @Component @ConfigurationProperties (prefix = "wechat" ) @Data public class private String myAppId private String myAppSecret private

微信公众号支付如何结算对私?

匿名 (未验证) 提交于 2019-12-02 23:36:01
第一种方式:以自然人,或个体户资质进件,然后在微信公众号获取预支付订单时,appId传入支付服务商的appId即可。个体户有申请公众号的,也可以传自有的appId发起支付。 第二种方式:有限公司的资质进件的,可以使用分账接口。在支付后,将金额分账结算到商户指定的结算卡。 如果有什么不明或疑问的,要吧直接扣我:一零四九参二陆陆四 并说明是 csdn的! 文章来源: https://blog.csdn.net/qq_35987373/article/details/90607504

微信支付――&gt;公众号支付

匿名 (未验证) 提交于 2019-12-02 21:53:52
      公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有: ◆ 用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付 ◆ 用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付 ◆ 将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付       微信开发者文档链接地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 开发流程     第一步:   你得明白自己需要做的微信支付是什么一个需求,具体的场景规划是什么。   第二步:   打开微信公众号支付开发文档,查看一下具体的开发步骤,在上面都有一一的介绍的,不过记得是微信商户平台(pay.weixin.qq.com)   第三步:   这个图主要介绍了微信的开发流程,我觉得这个得看懂了,才好开发,对今后的设计什么的,有很大的帮助,脑子里有一个大致支付的概念轮廓。      第四步:     微信提供的SDK,自己在仔细琢磨一下,结合上面一系列的步骤,很快就知道如何去操作了,关键需要认真去阅读微信提供的SDK源码,了解深入其中。   多去注意查看一下微信支付文档提供的参数列表看看其中你的一些定义,一些坑就出现在其中。 

微信公众号支付

左心房为你撑大大i 提交于 2019-11-27 20:42:42
一、微信公众号支付 1、获取微信授权 详情查看 微信文档 ,用户同意授权后, 获取code, 根据code获取 access_token , 因为 access_token 的时效性及安全级别系数比较高,因此我们将code传给后台, 由后台获取到 access_token ,并获取到用户信息返回。 2.引入微信jssdk var jweixin = require('@/common/jweixin-module'); 因为项目有一个公众号,多商户支付的需求, 我们在后台设置配置商户的商户号以及密钥。多商户支付, 需要在同一公众号下, 因此appId为统一公众号的appId, 且所有的商户必须要申请授权在该公众号下支付。 3. 通过config接口注入权限验证配置 jweixin.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: ['chooseWXPay'] // 必填