C# 專案中【支付寶】介面開發整合案例
.net專案中用於支付寶線上充值案例(即時到賬型別)
1、在官網下載支付寶C#版本demo 下載demo
2、找到其中的c#版本案例
3、開發站內整合程式碼,支付寶線上充值即時到賬服務,主要流程就是站內提交對接引數到支付寶介面,支付寶自主進行線上支付充值,回撥站內提供的回撥介面,接收支付寶的通知資訊,完成站內的充值業務。
4、程式碼參考
#region 支付寶即時到賬充值請求 Get["/alipayRequest"] = parameters => { if (Page.AnalystHasLogin || Page.UserHasLogin) { string alipayTotalFee = ObjectHandlers.Get("alipayTotalFee"); string rechangeType = ObjectHandlers.Get("rechangeType"); string alipaySubject = DateTime.Now.ToString("yyyyMMddHHmmssffff", DateTimeFormatInfo.InvariantInfo); string alipayBody = DateTime.Now.ToString("yyyyMMddHHmmssffff", DateTimeFormatInfo.InvariantInfo); //支付型別 string payment_type = "1"; //伺服器非同步通知頁面路徑,需http://格式的完整路徑,不能加?id=123這類自定義引數 string notify_url = aplipayURL + "/alipay/alipayNotifyUrl"; //頁面跳轉同步通知頁面路徑,需http://格式的完整路徑,不能加?id=123這類自定義引數,不能寫成http://localhost/ string return_url = aplipayURL + "/alipay/alipayReturnUrl"; //賣家支付寶帳戶 string seller_email = alipaySellerEmail; //商戶訂單號,商戶網站訂單系統中唯一訂單號,必填 string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssffff", DateTimeFormatInfo.InvariantInfo); //訂單名稱 string subject = alipaySubject; //付款金額 string total_fee = alipayTotalFee; //訂單描述 string body = alipayBody; //商品展示地址,需以http://開頭的完整路徑 string show_url = "http://xxxxx/"; //防釣魚時間戳,若要使用請呼叫類檔案submit中的query_timestamp函式 string anti_phishing_key = Submit.Query_timestamp(); //客戶端的IP地址,非區域網的外網IP地址,如:221.0.0.1 string exter_invoke_ip = ""; //把請求引數打包成陣列 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>(); sParaTemp.Add("partner", zhuge.Alipay.Config.Partner); sParaTemp.Add("_input_charset", zhuge.Alipay.Config.Input_charset.ToLower()); sParaTemp.Add("service", "create_direct_pay_by_user"); sParaTemp.Add("payment_type", payment_type); sParaTemp.Add("notify_url", notify_url); sParaTemp.Add("return_url", return_url); sParaTemp.Add("seller_email", seller_email); sParaTemp.Add("out_trade_no", out_trade_no); sParaTemp.Add("subject", subject); sParaTemp.Add("total_fee", total_fee); sParaTemp.Add("body", body); sParaTemp.Add("show_url", show_url); sParaTemp.Add("anti_phishing_key", anti_phishing_key); sParaTemp.Add("exter_invoke_ip", exter_invoke_ip); //建立請求,此方法支付寶demo已經提供,不在此提現了就 string sHtmlText = Submit.BuildRequest(sParaTemp, "get", "確認"); //新增充值記錄 //本站記錄使用者充值記錄,後續支付寶回撥你的站內通知介面 return sHtmlText; } else { return Response.AsRedirect("/ErrorMsg"); } }; #endregion
5、上一步會自動提交到支付寶平臺,完成充值後,會呼叫你的回撥地址
//伺服器非同步通知頁面路徑,需http://格式的完整路徑,不能加?id=123這類自定義引數 string notify_url = aplipayURL + "/alipay/alipayNotifyUrl";6、回撥地址方法程式碼參考
#region 支付寶即時到賬充值 alipayReturnUrl Get["/alipayReturnUrl"] = parameters => { SortedDictionary<string, string> sPara = GetRequestGet(); if (sPara.Count > 0)//判斷是否有帶返回引數 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, ObjectHandlers.Get("notify_id"), ObjectHandlers.Get("sign")); if (verifyResult)//驗證成功 { //商戶訂單號 string out_trade_no = ObjectHandlers.Get("out_trade_no"); //支付寶交易號 string trade_no = ObjectHandlers.Get("trade_no"); //交易狀態 string trade_status = ObjectHandlers.Get("trade_status"); //更新站內訂單中的支付寶訂單資訊 //此步驟更新4步中記錄中的資訊,當做充值備份 if (ObjectHandlers.Get("trade_status") == "TRADE_FINISHED" || ObjectHandlers.Get("trade_status") == "TRADE_SUCCESS") { //更新站內充值訂單狀態為已完成 //此步驟用於更新4步中的充值記錄狀態 //更新站內使用者積分即可 } else { HttpContext.Current.Response.Write("trade_status=" + ObjectHandlers.Get("trade_status")); } } else//驗證失敗 { HttpContext.Current.Response.Write("驗證失敗"); } } else { HttpContext.Current.Response.Write("無返回引數"); } return null; }; #endregion7、以上程式碼只做為業務開發的流程參考,程式碼不做開發用,各位看官還是要結合自己的站內業務開發
8、支付寶支援本地除錯,這個很方便,後續會增加網銀介面的實現
由龐順龍最後編輯於:4年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- IDEA支付寶小程式開發流程——專案搭建Idea
- 玩轉 iOS 開發:整合 AliPay – 支付寶iOS
- 支付寶介面對接開發過程
- SAP Business ByDesign 和支付寶與釘釘整合的一個原型開發案例原型
- [後端開發]支付寶支付介面除錯 (Python v3.6)後端除錯Python
- Django呼叫支付寶支付介面Django
- iOS使用Stripe整合支付寶Alipay支付iOS
- SpringBoot 配置支付寶介面Spring Boot
- Django對接支付寶Alipay支付介面Django
- IDEA支付寶小程式開發流程——支付Idea
- 基於 golang 的支付寶支付小案例Golang
- 基於.NetCore開發部落格專案 StarBlog - (26) 整合Swagger介面文件NetCoreSwagger
- 支付寶支付產品介面文件地址和支付寶代金券理解
- 支付寶介面呼叫 -- JAVA版Java
- pay-spring-boot 開箱即用的Java支付模組,整合支付寶支付、微信支付SpringbootJava
- 微信和支付寶的支付流程,以及開發中遇到的坑?
- hadoop專案開發案例舉例Hadoop
- 關於支付寶以及微信支付的整合
- 如何在Spring Boot專案中整合微信支付V3Spring Boot
- 專案開發必備API介面API
- 專案實戰介面開發SpringBootSpring Boot
- 支付寶新版介面曝光:支付寶小程式或迎來重磅入口
- PayPal支付介面開發java版Java
- IDEA基於支付寶小程式搭建springboot專案IdeaSpring Boot
- android 整合微信支付和支付寶支付其實很簡單Android
- 專案開發必備API介面集合API
- 支付寶介面的數字簽名
- 支付寶小程式開發準備工作
- 支付寶數字經營專案的優勢在哪?
- 仿支付寶滑動驗證碼案例
- 現有Android專案中整合Flutter/Flutter混合開發實戰(一)AndroidFlutter
- Laravel 整合 EasyAlipay 實現支付寶手機網站 Wap 支付Laravel網站
- RedisStack部署/持久化/安全/與C#專案整合Redis持久化C#
- XorPay 個人支付平臺【支援個人微信支付和支付寶支付介面】
- springboot+vue前後端分離專案-專案搭建13-支付寶付款Spring BootVue後端
- 對iOS端支付寶和微信支付程式碼進行整合iOS
- SpringBoot 2.x 開發案例之整合MinIo檔案服務Spring Boot
- 支付寶支付