這篇文章主要介紹了如何開發實現微信支付的Native功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、生成Native支付URL
Native(原生)支付URL是一系列具有weixin://wxpay/bizpayurl?前綴的URL,同時后面緊跟著一系列辨別商戶的鍵值對。Native(原生)支付URL的規則如下:
weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXXX&productid=XXXXXX×tamp=XXXXXX&noncestr=XXXXXX
生成代碼如下
<?php include_once("WxPayHelper.php"); $wxPayHelper = new WxPayHelper(); echo $wxPayHelper->create_native_url("1234567890"); ?>
其中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()實現,調用代碼如下:
<?php include_once("WxPayHelper.php"); $commonUtil = new CommonUtil(); $wxPayHelper = new WxPayHelper(); $wxPayHelper->setParameter("bank_type", "WX"); $wxPayHelper->setParameter("body", "方倍工作室微信支付開發教程"); $wxPayHelper->setParameter("partner", "1900000109"); $wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr()); $wxPayHelper->setParameter("total_fee", "1"); $wxPayHelper->setParameter("fee_type", "1"); $wxPayHelper->setParameter("notify_url", "htttp://www.baidu.com"); $wxPayHelper->setParameter("spbill_create_ip", "127.0.0.1"); $wxPayHelper->setParameter("input_charset", "GBK"); echo $wxPayHelper->create_native_package(); ?>
當用戶掃描二維碼后,將直接跳到商品頁面,如下所示
這樣一個Native支付就形成了。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何開發實現微信支付的Native功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。