微信统一支付宝求助的传值问题求助

由于微信支付接口更新,本文档已过期,请查看新版微信支付教程。地址&
本文介绍如何使用JS API支付接口完成微信支付。
一、JS API支付接口(getBrandWCPayRequest)
微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效。微信提供getBrandWCPayRequest接口供商户前端网页调用,调用之前微信会鉴定商户支付权限,若商户具有调起支付的权限,则将开始支付流程。这里主要介绍支付前的接口调用规则,支付状态消息通知机制请参加下文。接口需要注意:所有传入参数都是字符串类型!
getBrandWCPayRequest参数如表6-5所示。
字符串类型
商户注册具有支付权限的公众号成功后即可获得;
字符串类型,32个字节以下
商户生成,从日00:00:00至今的秒数,即当前的时间,且最终需要转换为字符串形式;
随机字符串
字符串类型,32个字节以下
商户生成的随机字符串;
订单详情扩展字符串
字符串类型,4096个字节以下
商户将订单信息组成该字符串,具体组成方案参见接口使用说明中package组包帮劣;由商户按照规范拼接后传入;
字符串类型,参数取值"SHA1"
按照文档中所示填入,目前仅支持SHA1;
字符串类型
商户将接口列表中的参数按照指定方式迚行签名,签名方式使用signType中标示的签名方式,具体签名方案参见接口使用说明中签名帮劣;由商户按照规范签名后传入;
表6-5 getBrandWCPayRequest参数
&&& getBrandWCPayRequest返回值如表6-6所示。
get_brand_wcpay_request:ok& 支付成功
get_brand_wcpay_request:cancel 支付过程中用户取消
get_brand_wcpay_request:fail 支付失败
表6-6 getBrandWCPayRequest返回值
JS API的返回结果 get_brand_wcpay_request:ok 仅在用户成功完成支付时返回。由于前端交互复杂,get_brand_wcpay_request:cancel
get_brand_wcpay_request:fail 可以统一处理为用户遇到错误或者主动放弃,不必细化区分。
二、JS API支付实现
下面代码是微信官方提供的JS API支付demo
2 include_once("WxPayHelper.php");
5 $commonUtil = new CommonUtil();
6 $wxPayHelper = new WxPayHelper();
9 $wxPayHelper-&setParameter("bank_type", "WX");
10 $wxPayHelper-&setParameter("body", "test");
11 $wxPayHelper-&setParameter("partner", "");
12 $wxPayHelper-&setParameter("out_trade_no", $commonUtil-&create_noncestr());
13 $wxPayHelper-&setParameter("total_fee", "1");
14 $wxPayHelper-&setParameter("fee_type", "1");
15 $wxPayHelper-&setParameter("notify_url", "htttp://");
16 $wxPayHelper-&setParameter("spbill_create_ip", "127.0.0.1");
17 $wxPayHelper-&setParameter("input_charset", "GBK");
22 &script language="javascript"&
23 function callpay()
WeixinJSBridge.invoke('getBrandWCPayRequest',&?php echo $wxPayHelper-&create_biz_package(); ?&,function(res){
WeixinJSBridge.log(res.err_msg);
alert(res.err_code+res.err_desc+res.err_msg);
30 &/script&
32 &button type="button" onclick="callpay()"&wx pay test&/button&
33 &/body&
34 &/html&
将其中的微信支付参数修改成自己所申请得到的,然后将网页上传到微信支付目录下,给测试账号回复该网页地址。用户就可以实现一次JS API支付。
三、效果演示
下面是官方DEMO修改后,发起支付的页面图。
输入支付密码
阅读(...) 评论()iOS微信支付步骤以及出现的问题总结(三) - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了114323字,被461人关注,获得了450个喜欢
iOS微信支付步骤以及出现的问题总结(三)
这一篇文章主要是介绍配置各种参数的一个demo,并且与服务器接通,实现支付功能。想要参考更多的微信支付细节需要参考前一篇文章。 我会把大部分的代码,通过图片的形式,表现出来,只是没有demo,因为涉及到一些敏感参数。一、下面我先说一下大概的流程:1.首先你得搞清楚几个参数的意义。这些参数除了第二篇文章的调起微信支付的参数外,还有统一下单里面必须要填的参数。"必填"-&"是",这些参数也要准备好。上传的参数的地址:https://api.mch./pay/unifiedorder 。(微信的统一下单的地址)2.app端通过上传一些微信的公共的“统一下单”要填的参数,返回一些数据,得到支付的参数。。3.通过得到的参数,调起微信支付,完成支付。4.由于传递参数的 时候是xml格式,因此我们需要用NSXMLParser解析。5.在上传参数(统一下单里面的参数)的过程中,我们可以用微信自带的在线签名验证工具。 。通过NSLog打印出日志,然后对比,把要app端要上传的参数,填写到验证工具里面。注意:一个参数 的字母都不要少,参数的内容里面的字母,大小写都不要错。6.需要做两次签名,第一次签名是上传request请求时,拼接的字符串,创建一次sign;第二次签名是请求统一下单之后,主要是用返回的一个prepay_id的一个字符串,根据appid、noncestr、package、partnerid、prepayid、timestamp这些字符串的内容,重新创建一次sign,第二次的sign是为了调起微信支付用的。校验工具配置参数如下:
二、我先总结微信支付过程中,出现的问题:1.打印日志结果是:
分析:由于是上传到统一下单的接口的参数,缺少参数。这个时候需要打开微信的统一下单的界面,检查自己上传的参数缺少哪一个。2.打印日志结果:
这个的错误原因就是签名错误,整理错误的信息 如下:1&sign签名是否大写。2&拼接的字符串是否按照ASCII码,从小到大排列。(建议用代码实现排序,不要手动排序,不然很容易出错的)3&上传的参数格式"key=value&",这其中的key与value是否有错误(我就是因为一个参数的key少写了几个字母),包括是否少写了字母,写错了字母。4&是否拼接了商户自定义的密钥,也就是在微信商户平台里面自定义的密钥。并且判断是否与自己定义的密钥是否相同。
三、微信支付demo示例:1&这个demo是在前期的文章二中,继续添加文件。2&工程的目录如下图介绍:
工程的目录
3&加密工具:WXUtil.h
WXUtil.m文件
4&XMLParseManager.h 文件
XMLParseManager.h
XMLParseManager.m 文件
XMLParseManager.m
4&工程代码:上传参数,返回字符串的代码:
参数上传成功之后会出现以下日志:
调起微信支付的代码:
做了将近一个月的微信支付终于大功告成了,非常感谢我的好盆友-LucioLee,要是他不帮我,我也是不能这么快就搞定,最后一步,才是微信支付的最困难的一步,非常感谢他对我的帮助。如果还有什么问题没有解决,就给我留言,有时间我会解释的。
喜欢这篇文章,就点个喜欢,打赏随意喽~。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
想请教,微信支付成功后onResp没被调用到是怎么回事?支付成功了,但需要对支付的结果进行回传,这里没回调出来...
写的很好...不过我的问题还是存在,起调微信后只有一个确定按钮...试了很多方式,,没能解决
肯定是配置参数,出问题了,那个地方仔细检查,我当时错了一个大写字母,都问题多多。
下载的微信支付事例提示:微信接口返回xml数据签名错误
微信支付不能打开微信这是怎么回事啊
已经看了很多遍
但是在客户端的签名也成功了
调起微信支付的参数也检查很多遍了
就是跳转过去是一个确定按钮;我也找很多人看过了
都没发现什么问题;如果我直接调用官方demo里面的商户号返回json订单也没有任何问题;
希望博主能联系下,看看是什么问题
兄弟 写的很详细 帮助很大 3Q !已关注
有没有遇到过接入微信支付,提示该商户支付权限已被取消这样的,
赞赞赞 ~\(≧▽≦)/~
!想请教下
他日志给我返回的 是您没有app支付权限 是怎么回事
我现在支付成功了
我怎么去刷新订单状态啊
你好,请问最后一步的参数都是要我们自己申请到的嘛, 后台处理好参数一起传过来可以嘛
你好,我们是将获取prepayid和生成sign的步骤放在服务端完成,感觉将appsecret放在客户端不是很好,还有,想请问一下那个客户端怎么监听支付结果,你有做吗?
被以下专题收入,发现更多相似内容:
学习从点滴开始 !
(PS: 拒绝部分投稿的文章仅仅是由于专题内已收录相关知识点的文章, 并非是投稿的文章技术含量不够好, 望谅解.)
· 5961人关注
心情不好的时候问自己 :
我为何这么屌
心情好的时候问自己 : 为什么比我屌的这么多
· 3826人关注
至少比在眼前失去许多东西...还要好得多!只要是能做的事,我都要去做!--路飞
分享开发的点滴,大家共同进步!
· 281人关注
喜欢这篇文章,就点个喜欢,打赏随意喽~。
选择支付方式:}

我要回帖

更多关于 西工大统一支付平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信