使用開源庫MAGICODES.WECHAT.SDK進行微信公衆號支付開發

 

 

  1. 概要

    博客使用Word發博,發佈後,排版會出現不少問題,敬請諒解。可加羣獲取原始文檔。 git

本篇主要講解微信支付的開發流程,相關業務基於MAGICODES.WECHAT.SDK實現。經過本篇教程,您能夠很方便的快速完成微信公衆號支付的開發。github

  1. 關於Magicodes.WeChat.SDK

MAGICODES.WECHAT.SDK爲心萊團隊封裝的輕量級微信SDK,現已所有開源,開源庫地址爲:https://github.com/xin-lai/Magicodes.WeChat.SDKapi

更多介紹,請關注後續博客。服務器

官方博客:http://www.cnblogs.com/codelove/ 微信

相關開源庫地址:https://github.com/xin-lai 異步

 

  1. 微信公衆號支付

用戶已有商城網址,用戶經過微信消息、微信掃描二維碼、微信自定義菜單等操做在微信內打開網頁時,能夠調用微信支付完成下單購買流程。函數

  1. 支付流程

微信的支付流程圖太複雜,這裏我畫了一個相對簡單的:測試

  1. 開發實踐

    1. 開發流程圖

  1. 配置微信支付受權目錄

  • 首先,須要登陸公衆號後臺,而後進入【微信支付】頁面

  • 設置【開發配置】

發起支付的頁面目錄必須與設置的精確匹配。並將支付連接發到對應的公衆號會話窗口中才能正常發起支付測試。注意正式目錄必定不能與測試目錄設置成同樣,不然支付會出錯。微信支付

注意:若是是使用測試目錄的地址,必定要記得把我的測試微信號添加到白名單。另外,請注意紅框內說明,不然很容易掉坑裏。 spa

  1. 配置OAUTH域名以及JSSDK

使用微信支付,須要經過OAUTH獲取用戶的OPENID,由於要調用JS API,那麼JSSDK受權也是須要的。

相關配置界面以下:

  1. 引用Magicodes.WeChat.SDK而且註冊相關配置

Magicdoes.WeChat.SDK能夠經過Nuget包來引用,引用以後,須要先作一些初始化設置。

  • 初始化SDK配置

這裏初始化了SDK配置,而且註冊了相關函數。好比獲取支付配置函數,這裏能夠編寫本身的獲取支付配置的邏輯。

若是是使用Magicodes.WeiChat或者是Magicodes.Shop,那麼能夠在相關設置界面設置微信支付相關參數,以下所示:

  • 設置微信配置

打開Magicodes.WeiChat設置界面,配置微信支付相關參數。支付配置模型以下所示:

public interface IWeChatPayConfig

{

/// <summary>

/// 證書相對路徑

/// </summary>

string PayCertPath { get; set; }

 

/// <summary>

/// 證書密鑰(與微信商戶平臺商戶MchID一致)

/// </summary>

string CertPassword { get; set; }

 

/// <summary>

/// 支付密鑰

/// </summary>

string TenPayKey { get; set; }

 

/// <summary>

/// 商戶Mch_ID

/// </summary>

string MchId { get; set; }

 

/// <summary>

/// 支付完成後的回調處理頁面

/// </summary>

string Notify { get; set; }

}

 

  1. 添加支付頁,設置支付參數

在開始支付以前,咱們須要建立一個支付頁。而且生成支付相關參數,以下面代碼所示:

關於OPENID的獲取,Magicodes.WeiChat能夠經過在Action上添加[WeChatOAuth]來獲取粉絲信息,包括OPENID。

  1. 調用JS Api進行支付

微信頁面,咱們須要編寫業務邏輯並調用JS API進行支付,相關JS代碼以下所示:

注意:調用JS api須要JSSDK權限。Magicodes.WeiChat用戶只需使用"ViewBag.UseJSSDK=true"便可啓用並註冊JSSDK權限。

而後,咱們只須要綁定JS按鈕事件便可,如:

$('#btnPay').on('click',function(){

callpay();

});

 

  1. 接收微信服務器事件通知,處理支付業務

微信支付完畢後,微信服務器會異步通知咱們的Web服務器,通知地址咱們在上面的支付配置中已經配置過了。

使用Magicodes.WeChat.SDK的話,處理起來比較簡單,相關關鍵代碼以下所示:

在支付成功的函數中,咱們能夠編寫成功邏輯,好比訂單狀態的變動,支付日誌的記錄等等。

至此,整個微信公衆號開發均已完成。

相關文章
相關標籤/搜索