搜尋
首頁微信小程式微信開發微信支付開發動態連結Native支付實例代碼

本篇文章主要介紹微信支付下的基於動態連結二維碼的Native支付實現流程,希望能給開發微信支付的小伙伴提供幫助

##注意:

微信支付現在分為v2版和v3版,2014年9月10號之前申請的為v2版,之後申請的為v3版。 V3版的微信支付沒有paySignKey參數。本文介紹的為微信支付v3。

一、產生商品資訊

動態連結支付過程中,是先生成商品交易進行,再來進行支付交易的。

1. 商品資訊準備

主要是先定義商品的名稱及價格,以及交易號。代碼如下。

include_once("../WxPayPubHelper/WxPayPubHelper.php");

  //使用统一支付接口
  $unifiedOrder = new UnifiedOrder_pub();
  
  //设置统一支付接口参数
  //设置必填参数
  //appid已填,商户无需重复填写
  //mch_id已填,商户无需重复填写
  //noncestr已填,商户无需重复填写
  //spbill_create_ip已填,商户无需重复填写
  //sign已填,商户无需重复填写
  $unifiedOrder->setParameter("body","贡献一分钱");//商品描述
  $timeStamp = time();
  $out_trade_no = WxPayConf_pub::APPID."$timeStamp";
  $unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商户订单号 
  $unifiedOrder->setParameter("total_fee","1");//总金额
  $unifiedOrder->setParameter("notify_url",WxPayConf_pub::NOTIFY_URL);//通知地址 
  $unifiedOrder->setParameter("trade_type","NATIVE");//交易类型
  //非必填参数,商户可根据实际情况选填
  $unifiedOrder->setParameter("device_info","100001");//设备号
上述參數最終封裝成如下類似XML參數

<xml>
 
 <out_trade_no></out_trade_no>
 <total_fee>1</total_fee>
 <notify_url></notify_url>
 <trade_type></trade_type>
 <device_info>100001</device_info>
 <appid></appid>
 <mch_id>1237905502</mch_id>
 <spbill_create_ip></spbill_create_ip>
 <nonce_str></nonce_str>
 <sign></sign>
</xml>

#2. 呼叫統一支付請求

將上述XML傳送給統一支付介面

https://api.mch.weixin.qq.com/pay/unifiedorder

# 得到以下XML資料

<xml>
 <return_code></return_code> 
 <return_msg></return_msg> 
 <appid></appid> 
 <mch_id></mch_id> 
 <device_info></device_info> 
 <nonce_str></nonce_str> 
 <sign></sign> 
 <result_code></result_code> 
 <prepay_id></prepay_id> 
 <trade_type></trade_type> 
 <code_url></code_url> 
</xml>
這樣就得到一個code_url

#程式將該code_url產生一個二維碼,然後提供給用戶掃

二、用戶支付

1. 用戶支付

用戶付款成功之後,微信將發送XML通知到notify_url中,內容如下

<xml>
 <appid></appid> 
 <bank_type></bank_type> 
 <cash_fee></cash_fee> 
 <device_info></device_info> 
 <fee_type></fee_type> 
 <is_subscribe></is_subscribe> 
 <mch_id></mch_id> 
 <nonce_str></nonce_str> 
 <openid></openid> 
 <out_trade_no></out_trade_no> 
 <result_code></result_code> 
 <return_code></return_code> 
 <sign></sign> 
 <time_end></time_end> 
 <total_fee>1</total_fee> 
 <trade_type></trade_type> 
 <transaction_id></transaction_id> 
</xml>
notify_url收到以後,再返回確認成功訊息給微信伺服器

<xml>
 <return_code></return_code>
</xml>
這樣,一個動態連結Native就完成了。

使用訂單查詢介面查詢該訂單,返回如下

##交易狀態:SUCCESS

裝置號碼:100001

使用者識別:oMNKHuBTW4YWgNGAVQW00tWK6auM
是否關注公眾帳號:N
交易類型:NATIVE
付款銀行:CFT
總金額:1
現金券金額:
貨幣類型:CNY
微信支付訂單號碼:1002750205201505310187709542
商家訂單編號: 100001_1433009089
商家資料包:Array
支付完成時間:20150531020837

以上就是對微信支付動態連結Native支付的資料整理,希望能幫助到開發微信支付的朋友。

以上是微信支付開發動態連結Native支付實例代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具