自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

當前位置:首頁 > 軟件開放 > 正文內(nèi)容

微信網(wǎng)站開發(fā)源代碼(微信網(wǎng)站開發(fā)源代碼是什么)

軟件開放6個月前 (07-08)423

緣起

今年公司某個項目需要全面接入微信支付 V3 版 API。起初覺得,2014 年微信支付就已上線了 V3 版 API,這都 2021 年了,就算官方不給力,怎么著社區(qū)也該有幾個造好的 .NET 的輪子了吧?于是興沖沖地到 NuGet 上開始搜索“微信支付”四個大字,結果……

倒不是沒有現(xiàn)成的輪子,但基本都是只包含一些簡單 API(如下單、查單、退款等等),與需求不符;偶爾有一些看似封裝全的,點進去一看卻是基于 V2 版 API 的。

沒辦法,自己動手,豐衣足食!

接入了微信支付后想著,既然微信支付都有了,為啥不把公眾號、小程序、企業(yè)微信之類的也接入了呢?

于是乎 SKIT.FlurlHttpClient.Wechat 這個項目就誕生了。

項目介紹

SKIT.FlurlHttpClient.Wechat 是一個基于 Flurl.Http 的微信 API HTTP 客戶端。

包含以下特性:

支持 .NET Framework 4.6.1+、.NET Standard 2.0+、.NET Core 2.0+、.NET 5。

支持 Windows / Linux / macOS 多平臺部署。

支持 System.Text.Json(默認)和 Newtonsoft.Json 兩種序列化方式。

異步式編程。

強類型接口模型。

提供攔截器功能。

提供微信 API 所需的 MD5、SHA-1、SHA-256、AES、RSA 等算法工具類。

完整、完善、完全的微信 API 封裝,同時可靈活自行擴展。

現(xiàn)有以下模塊:

公眾平臺(公眾號、小程序、小游戲、小商店) 開放平臺模塊: SKIT.FlurlHttpClient.Wechat.Api

商戶平臺(微信支付)模塊: SKIT.FlurlHttpClient.Wechat.TenpayV3

企業(yè)微信(企業(yè)號)模塊: SKIT.FlurlHttpClient.Wechat.Work

廣告平臺(廣點通)模塊: SKIT.FlurlHttpClient.Wechat.Ads

以接入微信支付為例,其他模塊的開發(fā)流程與之十分類似。

安裝: dotnet add package SKIT.FlurlHttpClient.Wechat.TenpayV3

初始化:

usingSKIT.FlurlHttpClient.Wechat;

usingSKIT.FlurlHttpClient.Wechat.TenpayV3;

usingSKIT.FlurlHttpClient.Wechat.TenpayV3.Settings;

/* 平臺證書管理器,具體用法請參見文檔 */

varcertManager = newInMemoryCertificateManager;

/* 僅列出必須配置項。也包含一些諸如超時時間、UserAgent 等的配置項 */

varoptions = newWechatTenpayClientOptions

{

MerchantId = "微信商戶號",

MerchantV3Secret = "微信商戶 v3 API 密鑰",

MerchantCertSerialNumber = "微信商戶證書序列號",

MerchantCertPrivateKey = "-----BEGIN PRIVATE KEY-----微信商戶證書私鑰-----END PRIVATE KEY-----",

CertificateManager = certManager

};

varclient = newWechatTenpayClient(options);

usingSKIT.FlurlHttpClient.Wechat.TenpayV3;

usingSKIT.FlurlHttpClient.Wechat.TenpayV3.Models;

/* 以 JSAPI 統(tǒng)一下單接口為例 */

varrequest = newCreatePayTransactionJsapiRequest

{

微信網(wǎng)站開發(fā)源代碼(微信網(wǎng)站開發(fā)源代碼是什么)

OutTradeNumber = "商戶訂單號",

AppId = "微信 AppId",

Deion = "訂單描述",

ExpireTime = DateTimeOffset.Now.AddMinutes(15),

NotifyUrl = "https://example.com",

Amount = newCreatePayTransactionJsapiRequest.Types.Amount

{

Total = 100

},

Payer = newCreatePayTransactionJsapiRequest.Types.Payer

{

OpenId = "微信 OpenId"

}

};

varresponse = awaitclient.ExecuteCreatePayTransactionJsapiAsync(request);

if(response.IsSuccessful)

{

Console.WriteLine( "PrepayId:"+ response.PrepayId);

}

else

{

Console.WriteLine( "HTTP 狀態(tài):"+ response.RawStatus);

Console.WriteLine( "錯誤代碼:"+ response.ErrorCode);

Console.WriteLine( "錯誤描述:"+ response.ErrorMessage);

}

展開全文

/* 一般情況下可以跳過驗證響應的簽名 */

boolvalid = client.VerifyResponseSignature(response);

/* 字典結構,包含客戶端 JS-SDK 調(diào)起支付所需的完整參數(shù) */

varparamMap = client.GenerateParametersForJsapiPayRequest(request.AppId, response.PrepayId);

stringcallbackJson = "{ 微信商戶平臺發(fā)來的 JSON 格式的通知內(nèi)容 }";

stringcallbackTimestamp = "微信回調(diào)通知中的 Wechatpay-Timestamp 標頭";

stringcallbackNonce = "微信回調(diào)通知中的 Wechatpay-Nonce 標頭";

stringcallbackSignature = "微信回調(diào)通知中的 Wechatpay-Signature 標頭";

stringcallbackSerialNumber = "微信回調(diào)通知中的 Wechatpay-Serial 標頭";

boolvalid = client.VerifyEventSignature(callbackTimestamp, callbackNonce, callbackJson, callbackSignature, callbackSerialNumber);

if(valid)

{

/* 將 JSON 反序列化得到通知對象 */

/* 你也可以將 WechatTenpayEvent 類型直接綁定到 MVC 模型上,這樣就不再需要手動反序列化 */

varcallbackModel = client.DeserializeEvent(callbackJson);

if( "TRANSACTION.SUCCESS".Equals(callbackModel.EventType))

{

/* 根據(jù)事件類型,解密得到支付通知敏感數(shù)據(jù) */

varcallbackResource = client.DecryptEventResourceEvents.TransactionResource(callbackModel);

stringoutTradeNumber = callbackResource.OutTradeNumber;

stringtransactionId = callbackResource.TransactionId;

Console.WriteLine( "訂單 {0} 已完成支付,交易單號為 {1}", outTradeNumber, transactionId);

}

}

更多使用說明請閱讀項目倉庫中的開發(fā)文檔。

項目倉庫中還包含了一個示例項目,以供開發(fā)者快速掌握本庫的使用方法。

FAQ 1. Flurl.Http 是什么?

Flurl.Http 是一個輕量級 HTTP 庫,是 .NET 中最受歡迎擴展庫之一,在 NuGet 上的累計下載量超過 1700 萬、日均下載量超過 6 千、GitHub 2.6k Stars(數(shù)據(jù)統(tǒng)計截至 2021-06-01)。

與另一個流行的 HTTP 庫 RestSharp 相比, Flurl.Http 底層基于 System.Net.Http.HttpClient ,而 RestSharp 底層則基于 System.Net.HttpWebRequest ,前者在多核多線程環(huán)境下的性能基準測試中表現(xiàn)要遠優(yōu)于后者,同時也是微軟官方目前推薦的 HTTP 客戶端方案。

2. 本庫與盛派微信 SDK(Senparc.Weixin)有什么區(qū)別?

本庫 專注于 API 本身的封裝 ,捎帶提供了一些用于加解密、序列化的工具類, 使用更靈活 ;盛派微信 SDK 提供了大而全的功能,可與 MVC / WebAPI 深度集成。

本庫 遵循微軟官方推薦的 C# 屬性命名方式(大駝峰命名法) 對接口模型進行定義;盛派微信 SDK 提供的是微信接口本身的命名方式(蛇形命名法和小駝峰命名法混雜)。

本庫 封裝了目前微信官方提供的所有 API ;盛派微信 SDK 只提供了常用的 API。

直接原因是本庫的依賴庫最低支持到 .NET Framework 4.6.1。

間接原因是為了支持跨平臺的 .NET Standard 2.0,只能兼容到 .NET Framework 4.6.1。

根本原因是微軟官方已于 2016 年 1 月 12 日終止了對 .NET Framework 4.6.1 以下版本的技術支持。也就是說,微軟已經(jīng)不再為此提供安全更新,在大部分技術合規(guī)要求中這一點都是扣分項,所以建議各位開發(fā)者目標框架能升級就升級。

倉庫

GitHub:https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat

Gitee:https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat

以上倉庫地址同步更新,均可接受 Issue 或 Pull Request。

掃描二維碼推送至手機訪問。

版權聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.thonggone.com/post/118052.html

分享給朋友:

“微信網(wǎng)站開發(fā)源代碼(微信網(wǎng)站開發(fā)源代碼是什么)” 的相關文章

軟件開發(fā)報價(軟件開發(fā)報價方案)

軟件開發(fā)報價(軟件開發(fā)報價方案)

今天給各位分享軟件開發(fā)報價的知識,其中也會對軟件開發(fā)報價方案進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、開發(fā)一款app軟件需要多少錢? 2、開發(fā)一套軟件的價格多少錢? 3、軟件開發(fā)怎么計價的? 4、開發(fā)一個軟件多少錢? 開發(fā)一款app軟件需...

油猴屏蔽網(wǎng)頁廣告腳本(瀏覽器去廣告腳本)

油猴屏蔽網(wǎng)頁廣告腳本(瀏覽器去廣告腳本)

今天給各位分享油猴屏蔽網(wǎng)頁廣告腳本的知識,其中也會對瀏覽器去廣告腳本進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、油猴上腳本已啟動,點開學習通視頻卻沒自動跳過怎么回事 2、如何刪除網(wǎng)頁中殘余的油猴腳本? 3、安卓adguard用不了油猴腳本 4...

如何修改apk安裝包安裝路徑(手機如何更改安裝包安裝路徑)

如何修改apk安裝包安裝路徑(手機如何更改安裝包安裝路徑)

今天給各位分享如何修改apk安裝包安裝路徑的知識,其中也會對手機如何更改安裝包安裝路徑進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、如何更改安裝默認路徑 2、如何修改apk游戲文件 3、安裝軟件如何更改路徑? 4、如何修改apk 數(shù)據(jù)包路徑...

易語言反編譯工具(易語言反編譯器)

易語言反編譯工具(易語言反編譯器)

本篇文章給大家談談易語言反編譯工具,以及易語言反編譯器對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、易語言怎么將一個文件寫入exe文件(文件是易語言編譯的)里且寫完后exe文件可以繼續(xù)運行 2、怎樣把DLL反編譯成易語言源碼 3、.net,java都能被反編譯...

最新版baby直播APP下載(BABY直播app下載)

最新版baby直播APP下載(BABY直播app下載)

今天給各位分享最新版baby直播APP下載的知識,其中也會對BABY直播app下載進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、798u小寶貝直播怎么下載app 2、愛尚app直播官網(wǎng)怎么下載 3、電流電壓極性對功率方向繼電器的影響 4、大草莓...

如何在剪映上傳自己制作的模板(怎么把作品上傳到剪映,自己做的模板怎么上傳到剪映)

如何在剪映上傳自己制作的模板(怎么把作品上傳到剪映,自己做的模板怎么上傳到剪映)

本篇文章給大家談談如何在剪映上傳自己制作的模板,以及怎么把作品上傳到剪映,自己做的模板怎么上傳到剪映對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、剪映專業(yè)版如何將視頻嵌入模板 2、剪映怎么做模板讓別人用? 3、剪映怎樣做模板出售 4、用剪映怎樣制作放假通知模...