Heim  >  Artikel  >  Backend-Entwicklung  >  Die Verwendung der Zahlungsschnittstelle von Alipay in .net

Die Verwendung der Zahlungsschnittstelle von Alipay in .net

巴扎黑
巴扎黑Original
2017-08-14 11:36:271713Durchsuche

In diesem Artikel wird hauptsächlich die Zahlungsschnittstelle von .net zu Alipay vorgestellt. Interessierte Freunde können darauf verweisen.

Die mobile Website von H5 ist mit der von Alipay verbunden Zahlungsschnittstelle. Für eine schnelle Entwicklung wird empfohlen, das von Alipay bereitgestellte SDK zu verwenden 🎜>Die Homepage muss einige Konstanten definieren

Ich habe die app_id, den Merchant_private_key und den alipay_public_key hier nicht aufgeführt. Die Methode zum Erhalten dieser Konstanten erfordert: Gehen Sie zur Alipay-Plattform um einige Vorgänge abzuschließen, um es zu erhalten

Wenn der Benutzer auf die Website klickt, um zu bezahlen, müssen wir Alipay aktivieren, um die Zahlung durchzuführen
using Aop.Api;
using Aop.Api.Request;
using Aop.Api.Response;
using Aop.Api.Util;


Speziell senden Bitte überprüfen Sie die Parameter für Alipay selbst
 static string serverUrl = "https://openapi.alipaydev.com/gateway.do";
    static string app_id = "**";  //开发者的应用ID
    static string format = "JSON";
    static string charset = "utf-8";
    static string sign_type = "RSA2"; //签名格式
    static string version = "1.0";
    string UID = "2088102169707816";//卖家支付宝账户号
    //商户私钥
    static string merchant_private_key = "***";
    //支付宝公钥
    static string alipay_public_key = "***";

Nach der Ausführung der Methode gibt der Käufer zum Bezahlen sein Alipay-Konto-Passwort ein. Wenn die Zahlung erfolgreich ist, fordert Alipay asynchron Ihre SetNotifyUrl-Adresse im Formular an des Beitrags

Die Adresse von SetNotifyUrl muss vom externen Netzwerk aus zugänglich sein, damit Alipay-Anfragen eingehen können

Käufer zahlen erfolgreich, Händler ändern Bestellstatus und Datenbankvorgänge, alles wird in asynchronen Anfragen ausgeführt

public string H5RequestPayWay(OrderPO order)
    {
      IAopClient client = new DefaultAopClient(serverUrl, app_id, merchant_private_key, format, version, sign_type, alipay_public_key, charset, false);
      AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
      string address= "http://m." + PathLogic1.RootDomain;
      request.SetReturnUrl(address+ "/WebPay/AlipayPayResult");//同步请求
      request.SetNotifyUrl(address + "/WebPay/AsyncPay");//异步请求
      var lstDetail = Context.Data.OrderDetail.Where(x => x.OrderNo == order.OrderNo).ToSelectList(x=>new { x.SkuName});
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < lstDetail.Count(); i++)
      {
        sb.Append(lstDetail[i].SkuName + ",");
      }
      request.BizContent = "{" +
  "\"body\":\""+sb.ToString().Substring(0,sb.Length-1)+"\"," +
  "\"subject\":\"袋鼠巴巴商品支付\"," +
  "\"out_trade_no\":\""+order.OrderNo+"\"," +
  "\"timeout_express\":\"90m\"," +
  "\"total_amount\":"+(order.TotalAmount.Value+order.TotalFreight.Value)+"," +
  "\"product_code\":\"QUICK_WAP_PAY\"" +
  " }";

      AlipayTradeWapPayResponse response = client.pageExecute(request);
       return response.Body;
    }
Synchronisierungsanfrage


Asynchrone Anfrage:
public ActionResult AlipayPayResult()
    {
      ViewBag.result = "success";
      return View("PayResult");
    }


     /// <summary>
    /// 验证通知数据的正确性
    /// </summary>
    /// <param name="out_trade_no"></param>
    /// <param name="total_amount"></param>
    /// <param name="seller_id"></param>
    /// <returns></returns> 
private SortedDictionary<string, string> GetRequestPost()
    {
      int i = 0;
      SortedDictionary<string, string> sArray = new SortedDictionary<string, string>();
      NameValueCollection coll;
      //Load Form variables into NameValueCollection variable.
      coll = Request.Form;

      // Get names of all forms into a string array.
      String[] requestItem = coll.AllKeys;

      for (i = 0; i < requestItem.Length; i++)
      {
        sArray.Add(requestItem[i], Request.Form[requestItem[i]]);
      }

      return sArray;
    }

Das obige ist der detaillierte Inhalt vonDie Verwendung der Zahlungsschnittstelle von Alipay in .net. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn