首頁  >  文章  >  微信小程式  >  微信支付開發 Native支付

微信支付開發 Native支付

高洛峰
高洛峰原創
2017-02-28 10:00:313209瀏覽

在這篇微信公眾平台開發教學中,我們將介紹如何開發實現微信支付的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

# 產生程式碼如下##

<?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&timestamp=1408025996

二、產生二維碼

產生二維碼可以用第三方接口,也可以使用自己的程式碼或插件,這裡介紹PHP QR Code。

PHP QR Code是一個PHP二維碼生成類別庫,利用它可以輕鬆產生二維碼,官網提供了下載和多個演示demo,查看地址:http://phpqrcode.sourceforge.net /。

其產生二維碼的語法非常簡單,直接填入URL當參數即可。範例如下

include &#39;phpqrcode.php&#39;; 
QRcode::png(&#39;http://www.cnblogs.com/txw1958/&#39;);

這樣就產生了一個支付的二維碼。

 

三、產生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支付就形成了。

更多微信支付開發 Native支付相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn