知识点
相关文章
更多最近更新
更多微信支付开发(11) Native支付
2019-03-02 00:51|来源: 网路
关键字:微信公众平台 微信支付 Native原生支付
作者:方倍工作室
原文:http://www.cnblogs.com/txw1958/p/wxpay-native.html
在这篇微信公众平台开发教程中,我们将介绍如何开发实现微信支付的Native功能。
本文分为以下三个部分:
- 生成Native支付URL
- 生成二维码
- 生成Package
一、生成Native支付URL
Native(原生)支付URL是一系列具有weixin://wxpay/bizpayurl?前缀的URL,同时后面紧跟着一系列辨别商户的键值对。Native(原生)支付URL的规则如下:
weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXXX&productid=XXXXXX×tamp=XXXXXX&noncestr=XXXXXX
生成代码如下
1 <?php 2 include_once("WxPayHelper.php"); 3 $wxPayHelper = new WxPayHelper(); 4 echo $wxPayHelper->create_native_url("1234567890"); 5 ?>
其中productid是商品唯一id,开发人员需要定义并维护自己的商品id,这个id与一张订单等价,微信后台凭借该id通过POST商户后台获取交易信息。
上述代码生成的URL如下:
weixin://wxpay/bizpayurl?appid=wxb489e8caeabcdefg&noncestr=BBvdr5atZ9D7s08X&productid=1234567890&sign=e15d2466a85cd62b530e2f690604e7502f67ccb5×tamp=1408025996
二、生成二维码
生成二维码可以用第三方接口,也可以使用自己的代码或插件,这里介绍PHP QR Code。
PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。
其生成二维码的语法非常简单,直接填入URL当参数即可。范例如下
include 'phpqrcode.php'; QRcode::png('http://www.cnblogs.com/txw1958/');
这样就生成了一个支付的二维码。
三、生成Package
当用户扫描上述二维码的时候,会调用Native支付URL,URL需要调用订单信息Package返回给用户,而该Package由WxPayHelper类的create_native_package()实现,调用代码如下:
1 <?php 2 include_once("WxPayHelper.php"); 3 4 $commonUtil = new CommonUtil(); 5 $wxPayHelper = new WxPayHelper(); 6 $wxPayHelper->setParameter("bank_type", "WX"); 7 $wxPayHelper->setParameter("body", "方倍工作室微信支付开发教程"); 8 $wxPayHelper->setParameter("partner", "1900000109"); 9 $wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr()); 10 $wxPayHelper->setParameter("total_fee", "1"); 11 $wxPayHelper->setParameter("fee_type", "1"); 12 $wxPayHelper->setParameter("notify_url", "htttp://www.baidu.com"); 13 $wxPayHelper->setParameter("spbill_create_ip", "127.0.0.1"); 14 $wxPayHelper->setParameter("input_charset", "GBK"); 15 echo $wxPayHelper->create_native_package(); 16 ?>
当用户扫描二维码后,将直接跳到商品页面,如下所示
这样一个Native支付就形成了。
转自:http://www.cnblogs.com/txw1958/p/wxpay-native
相关问答
更多-
java开发的网站如何调用微信接口,进行支付呢?[2023-12-22]
我刚做了一个调用接口生成一个二维码 在自己网站内展示,通过微信扫描 二维码支付。 -
java开发了一个网站,想要一个微信支付的功能。[2023-05-04]
微信支持以下银行卡: 工商银行、中国银行、农业银行、建设银行、邮政储蓄、上海银行、平安银行、华润银行等 如果你绑定的是以上这些银行卡,绑定不了,你可以联系一下微信客服。 -
请问,java语言开发微信公众号支付时。提示验签失败[2022-10-30]
ipc备案完会给一个验证文件,放到域名能直接访问的地方就可以。如你的域名是www.test.com,ipc给你的文件名为ipc.txt,则http://www.test.com/ipc.txt要能直接访问到。实际文件名大概是8位有字母数字组成的随机数。ipc备案需要单独申请。我们微网站是项目经理做的备案,备案自己查一下流程。微信api明确说要ipc备案。做完备案再测试可能就好了。 -
大神帮看看,微信支付里这个java方法说的是什么意思?[2024-03-19]
先是排序 排序是根据key的值来排 因为他重载了compare方法 并且用一个map中的key值作比较 然后for循环那里是字符串拼接 拼接成key=value&key=value&key=value...这样的字符串然后返回 下面那个if判断 是把最后一个&截取掉 -
求一份java版本,微信扫码支付native模式 demo一份[2023-04-23]
刚发现可以上传附件 -
微信支付接口开发[2022-12-11]
用户扫描商户展示在各种场景的二维码进行支付。 步骤1:商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。 步骤2:用户使用微信“扫一扫”扫描二维码后,获取商品支付信息,引导用户完成支付。 步骤(3):用户确认支付,输入支付密码。 步骤(4):支付完成后会提示用户支付成功,商户后台得到支付成功的通知,然后进行发货处理。 -
滴滴出行怎么用微信支付[2022-03-21]
滴滴出行可以在微信钱包中选择目的地之后使用或者在滴滴出行的APP中结算的时候选择微信支付都是可以使用微信支付的 -
微信公众号原文链接怎么设置能出现在线支付[2022-02-27]
这类专业的技术问题涉及到了代码的层面,您在网上询问肯定是得不到完美的解决的,建议您可以下载一下开发者文档 该文档在您申请了微信商家之后就可以下载的 然后根据文档里面的技术规范进行调整和开发 -
微信支付开发流程有哪些?[2022-02-07]
开发的流程总结的话起来就三步,第一步:进入公众平台注册公众号,而且把它升级成服务类型的公众号,之后完成微信认证。第二步:到公众平台的服务中心里面申请开通它,这里的话就不是那么简单了,需要提交到一些基本资料,而且还需要经过审核,一般为三到七个工作日就可以完成审核,在审核过程中可以在开发环境先模拟一下支付,第三步:审核通过后登录到商户平台验证(平台账户会通过联系邮箱发给你的)验证完成后就可以在线签订协议了,之后就可以正常使用了。 -
php 微信支付重定向后session失效[2022-02-02]
跨域失效肯定的。 如果不是。那就是跳转的地方没有开启session 建议 get 传参数 不对 微信支付好像是异步 。。你自己看下是异步同步 。