C# 跨平臺的支付類庫ICanPay

姓名:尤學(xué)強(qiáng) 學(xué)號:17101223374

轉(zhuǎn)載自:http://mp.weixin.qq.com/s/qcee0hztkBMSdROPrHY4dQ

【嵌牛導(dǎo)讀】:支付軟件

【嵌牛鼻子】:支付軟件

【嵌牛提問】:支付軟件怎樣能更廣泛?

【嵌牛正文】:


ICanPay是一個支持多商戶多種支付方式的跨平臺網(wǎng)關(guān)處理類庫宰僧,使用ICanPay可以簡化訂單的創(chuàng)建亿扁、查詢勾邦、退款和接收網(wǎng)關(guān)返回的支付通知等操作序六。

目前支持的支付網(wǎng)關(guān)有:支付寶(Alipay)糕非、微信支付(Wechatpay)跃须、銀聯(lián)支付(Unionpay)

下面以支付寶為例站叼,其余兩種支付,請參考Wiki(https://github.com/Varorbc/ICanPay/wiki)

一回怜、配置商戶數(shù)據(jù)

1大年、在Startup中添加商戶數(shù)據(jù)

services.AddICanPay(a =>

{

var gateways = new Gateways();

var merchant = new Merchant

{

AppId = "",

NotifyUrl = "",

ReturnUrl = "",

AlipayPublicKey = "",

Privatekey = ""

};

gateways.Add(new AlipayGateway(merchant));

return gateways;

});

2换薄、在Startup中使用ICanPay

app.UseICanPay();

以上就簡單的完成了對ICanPay的配置操作

二、支付

ICanPay支持多種支付方式翔试,下面就來講解如何使用

1轻要、獲取支付網(wǎng)關(guān)

private readonly IGateways gateways;

public YourController(IGateways gateways)

{

this.gateways = gateways;

}

2、創(chuàng)建訂單

var order = new Order()

{

Amount = 0.01,

OutTradeNo = "訂單號",

Subject = "測試",

};

3垦缅、設(shè)置支付方式

var gateway = gateways.Get(GatewayTradeType.Web);

4冲泥、支付

gateway.Payment(order);

特殊說明:GatewayTradeType.Barcode支付方式,需要再實現(xiàn)PaymentSucceed和PaymentFailed事件

三壁涎、異步通知

1凡恍、獲取支付網(wǎng)關(guān)

private readonly IGateways gateways;

public NotifyController(IGateways gateways)

{

this.gateways = gateways;

}

2、實現(xiàn)支付通知事件

PaymentNotify notify = new PaymentNotify(gateways);

notify.PaymentSucceed += Notify_PaymentSucceed;

notify.PaymentFailed += Notify_PaymentFailed;

notify.UnknownGateway += Notify_UnknownGateway;

private void Notify_PaymentSucceed(object sender, PaymentSucceedEventArgs e)

{

// 支付成功時時的處理代碼

/* 建議添加以下校驗怔球。

* 1嚼酝、需要驗證該通知數(shù)據(jù)中的OutTradeNo是否為商戶系統(tǒng)中創(chuàng)建的訂單號,

* 2竟坛、判斷Amount是否確實為該訂單的實際金額(即商戶訂單創(chuàng)建時的金額)闽巩,

*/

if (e.GatewayType == typeof(AlipayGateway))

{

var notify = (Notify)e.Notify;

}

}

private void Notify_PaymentFailed(object sender, PaymentFailedEventArgs e)

{

// 支付失敗時的處理代碼

}

private void Notify_UnknownGateway(object sender, UnknownGatewayEventArgs e)

{

// 無法識別支付網(wǎng)關(guān)時的處理代碼

}

3、接收支付通知

await notify.ReceivedAsync();

四担汤、輔助接口

1涎跨、查詢

var notify = (Notify)gateway.Query(new Auxiliary

{

OutTradeNo = "訂單號"

});

2、撤銷

var notify = (Notify)gateway.Cancel(new Auxiliary

{

OutTradeNo = "訂單號"

});

3崭歧、關(guān)閉

var notify = (Notify)gateway.Close(new Auxiliary

{

OutTradeNo = "訂單號"

});

4隅很、退款

var notify = (Notify)gateway.Refund(new Auxiliary

{

OutTradeNo = "訂單號",

RefundAmount = 123,

OutRefundNo = "退款單號"

});

5率碾、退款查詢

var notify = (Notify)gateway.RefundQuery(new Auxiliary

{

OutTradeNo = "訂單號"叔营,

OutRefundNo = "退款單號"

});

6、對賬單下載

gateway.BillDownload(new Auxiliary

{

BillType = "trade",

BillDate = "2017-10-31"

});

以上就簡單的講解了如何使用ICanPay,如果有什么問題播掷,也可以在Github上提問审编。

項目地址:ICanPay(https://github.com/Varorbc/ICanPay)

來源:Varorbc

cnblogs.com/varorbc/p/7890331.html

經(jīng)過6年多的發(fā)展,LSGO軟件技術(shù)團(tuán)隊在地理信息系統(tǒng)歧匈、數(shù)據(jù)統(tǒng)計分析垒酬、計算機(jī)視覺領(lǐng)域積累了豐富的研發(fā)經(jīng)驗,也建立了人才培養(yǎng)的完備體系件炉。

歡迎對算法設(shè)計與實現(xiàn)感興趣的同學(xué)加入勘究,與我們共同成長進(jìn)步。

本微信公眾平臺長期系統(tǒng)化提供有關(guān)機(jī)器學(xué)習(xí)斟冕、軟件研發(fā)口糕、教育及學(xué)習(xí)方法、數(shù)學(xué)建模的知識磕蛇,并將以上知識轉(zhuǎn)化為實踐景描。拒絕知識碎片化十办、耐心打磨技能、解決實際問題是我們的宗旨和追求超棺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末向族,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棠绘,更是在濱河造成了極大的恐慌件相,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氧苍,死亡現(xiàn)場離奇詭異夜矗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)让虐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門紊撕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澄干,你說我怎么就攤上這事逛揩。” “怎么了麸俘?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惧笛。 經(jīng)常有香客問我从媚,道長,這世上最難降的妖魔是什么患整? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任拜效,我火速辦了婚禮,結(jié)果婚禮上各谚,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好尝艘,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布椎侠。 她就那樣靜靜地躺著,像睡著了一般膀息。 火紅的嫁衣襯著肌膚如雪般眉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天潜支,我揣著相機(jī)與錄音甸赃,去河邊找鬼。 笑死冗酿,一個胖子當(dāng)著我的面吹牛埠对,可吹牛的內(nèi)容都是我干的络断。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼项玛,長吁一口氣:“原來是場噩夢啊……” “哼妓羊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起稍计,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤躁绸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后臣嚣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體净刮,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年硅则,在試婚紗的時候發(fā)現(xiàn)自己被綠了淹父。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡怎虫,死狀恐怖暑认,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情大审,我是刑警寧澤蘸际,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站徒扶,受9級特大地震影響粮彤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜姜骡,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一导坟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧圈澈,春花似錦惫周、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谅将,卻和暖如春漾狼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饥臂。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工逊躁, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人隅熙。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓稽煤,卻偏偏與公主長得像核芽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酵熙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容