支付寶支付功能(使用支付寶sdk)


1、准備參數

       新建一個公共參數配置類NewAlipayconfig (可將參數存放到config配置文件中讀取)

        

    public class NewAlipayconfig
    {
        public NewAlipayconfig()
        {
            //
            // TODO: 在此處添加構造函數邏輯
            //
        }
        // 應用ID,您的APPID
        public static string app_id = "1231213";

        // 支付寶網關
        public static string gatewayUrl = "https://openapi.alipay.com/gateway.do";

        // 支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。 
        public static string alipay_public_key = "MIIBIjANBgkqhk+ng8kcURzCNMuyOGIUsssQM66m6hNBU6BXqCPcKZDEZVdlXW3it4jqDveq1utRAoYNPj9wwSFiXxmmjA4/7LhlOMxwJ28R+7aB4tDgiYjixcuQIDAQAB";

        // 商戶私鑰,您的原始格式RSA私鑰
        public static string private_key = "00j7jSssF8+2QdNcIbIhAoGBAPYCd+PLanGuNHMDzumBQ==";

        // 簽名方式
        public static string sign_type = "RSA2";

        // 編碼格式
        public static string charset = "UTF-8";

        //同步回調地址
        public static string AliPayReturn_url = "同步回調地址:即支付成功之后,跳轉的頁面";

        //異步回調通知地址
        public static string AliPayNotify_url = "異步回調通知地址:即支付成功,會主動調用該地址";
    }

 

      注意:1、以上參數app_id、gatewayUrl可直接在支付寶商戶平台獲取

                 2、通過支付寶RSA簽名驗簽工具生成一對商戶公鑰和秘鑰,商戶秘鑰保存(即private_key,簽名時使用),然后通過商戶公鑰到支付寶商戶平台設置,來獲取支付寶公鑰

                 3、建議將商戶系統業務狀態的修改,通過異步通知地址來更新,以異步通知的地址為准

         

 

 

2、支付寶PC端支付

       

                DefaultAopClient client = new DefaultAopClient(NewAlipayconfig.gatewayUrl, NewAlipayconfig.app_id, NewAlipayconfig.private_key, "json", "1.0", "RSA2", NewAlipayconfig.alipay_public_key, "utf-8", false);
                // 外部訂單號,商戶網站訂單系統中唯一的訂單號
                string out_trade_no = 100001;
                // 訂單名稱
                string subject = "購買商品";
                // 付款金額
                string total_amout = 0.01;// 商品描述
                string body = "支付寶商品支付";

                // 組裝業務參數model
                AlipayTradePagePayModel model = new AlipayTradePagePayModel();
                model.Body = body;
                model.Subject = subject;
                model.TotalAmount = total_amout;
                model.OutTradeNo = out_trade_no;
                model.ProductCode = "FAST_INSTANT_TRADE_PAY";


                AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
                // 設置同步回調地址
                request.SetReturnUrl(NewAlipayconfig.AliPayReturn_url);
                // 設置異步通知接收地址
                request.SetNotifyUrl(NewAlipayconfig.AliPayNotify_url);
                // 將業務model載入到request
                request.SetBizModel(model);

                AlipayTradePagePayResponse response = null;
                try
                {
                    response = client.pageExecute(request, null, "post");
                    Response.Write(response.Body);
                }
                catch (Exception exp)
                {
                    throw exp;
                }

通過以上代碼即可實現PC端支付寶支付功能,建議首次接入支付寶支付功能時,先將支付寶沙箱環境測通(支付寶支付測試環境)

2、移動端支付寶支付

        

                DefaultAopClient clientWap = new DefaultAopClient(NewAlipayconfig.gatewayUrl, NewAlipayconfig.app_id, NewAlipayconfig.private_key, "json", "1.0", NewAlipayconfig.sign_type, NewAlipayconfig.alipay_public_key, NewAlipayconfig.charset, false);

                // 外部訂單號,商戶網站訂單系統中唯一的訂單號
                string out_trade_no_wap = 100002;

                // 訂單名稱
                string subject_wap = "購買商品";

                // 付款金額
                string total_amout_wap = 0.01;// 商品描述
                string body_wap = "支付寶商品支付";

                // 支付中途退出返回商戶網站地址
                string quit_url = "";//如果用戶中途退出 則跳轉到該頁面

                // 組裝業務參數model
                AlipayTradeWapPayModel modelWap = new AlipayTradeWapPayModel();
                modelWap.Body = body_wap;
                modelWap.Subject = subject_wap;
                modelWap.TotalAmount = total_amout_wap;
                modelWap.OutTradeNo = out_trade_no_wap;
                modelWap.ProductCode = "QUICK_WAP_WAY";
                modelWap.QuitUrl = quit_url;

                AlipayTradeWapPayRequest requestWap = new AlipayTradeWapPayRequest();
                // 設置支付完成同步回調地址
                requestWap.SetReturnUrl(NewAlipayconfig.AliPayReturn_url);
                // 設置支付完成異步通知接收地址
                requestWap.SetNotifyUrl(NewAlipayconfig.AliPayNotify_url);
                // 將業務model載入到request
                requestWap.SetBizModel(modelWap);

                AlipayTradeWapPayResponse responseWap = null;
                try
                {
                    responseWap = clientWap.pageExecute(requestWap, null, "post");
                    Response.Write(responseWap.Body);
                }
                catch (Exception exp)
                {
                    throw exp;
                }

 下面提供支付寶.net版sdk和簽名生成工具:鏈接:https://pan.baidu.com/s/1BCW69nfS2uPhqmlThZOvhw  提取碼:z404

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM