.NET C# 支付寶支付功能

//注意引用AopSdk NuGet程序包
#region 字段
 /// <summary>
/// 沙箱地址
/// </summary>
//serverUrl = "http://openapi.alipaydev.com/gateway.do";

 /// <summary>
/// 線上地址
/// </summary>
//public string serverUrl = "https://openapi.alipay.com/gateway.do";
/// <summary>
/// 應(yīng)用ID
/// </summary>
public string appId = "";
/// <summary>
/// 合作身份者ID
/// </summary>
public string partner = "";
/// <summary> 
/// 商戶的私鑰
/// </summary>
public string private_key = @"";
/// <summary> 
///支付寶的公鑰,無需修改該值
/// </summary>
public string public_key = @"";

/// <summary>
/// 字符編碼格式 目前支持 gbk 或 utf-8
/// </summary>
public string input_charset = "utf-8";

/// <summary>
/// 簽名方式,選擇項(xiàng):RSA、DSA、MD5、RSA2、
/// 切記一定要注意選擇的加密方式是RSA,還是RSA2。因?yàn)檫@兩種方式生成的支付寶公匙是不一樣的。RSA2對應(yīng)的是2048位支付寶公匙。在配置類Config中,要根據(jù)加密方式配置支付寶公匙
/// </summary>
public string sign_type = "RSA2";

/// <summary>
/// 支付寶消息驗(yàn)證地址
/// </summary>
private string Https_veryfy_url = "https://mapi.alipay.com/gateway.do?service=notify_verify&";
#endregion

/// <summary>
/// 支付寶支付
/// </summary>
/// <param name="order_no">商品訂單號</param>
/// <param name="money">金額</param>
/// <returns>返回結(jié)果</returns>
public AlipayTradeAppPayResponse AlipayPay(string order_no, int money)
{
  bool isUrl = false;
  //正式購買地址 沙盒購買地址
  string url_buy = "https://openapi.alipay.com/gateway.do";
  string url_sandbox = "http://openapi.alipaydev.com/gateway.do";
  string url = isUrl == false ? url_sandbox : url_buy;
  IAopClient client = new DefaultAopClient(url, appId, private_key, "json", "1.0", sign_type, public_key, input_charset, false);
  //實(shí)例化具體API對應(yīng)的request類,類名稱和接口名稱對應(yīng),當(dāng)前調(diào)用接口名稱如:alipay.trade.app.pay
  AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
  //SDK已經(jīng)封裝掉了公共參數(shù),這里只需要傳入業(yè)務(wù)參數(shù)。以下方法為sdk的model入?yún)⒎绞?model和biz_content同時(shí)存在的情況下取biz_content)。
  var MainPath = System.Web.Configuration.WebConfigurationManager.AppSettings["MainPath"].ToString();
  AlipayTradeAppPayModel PayModel = new AlipayTradeAppPayModel();
  PayModel.Body = "我是測試數(shù)據(jù)";
  PayModel.Subject = "App支付測試DoNet";
  PayModel.TotalAmount = money + "0.00";
  PayModel.ProductCode = "QUICK_MSECURITY_PAY";
  PayModel.OutTradeNo = order_no;
  PayModel.TimeoutExpress = "30m";
  request.SetBizModel(PayModel);
  request.SetNotifyUrl(MainPath + "app/AliSecurity/notify_Url.aspx");//設(shè)置AOP的異步請求地址
  // request.SetReturnUrl("www.baidu.com");
  //這里和普通的接口調(diào)用不同,使用的是sdkExecute
  return client.SdkExecute(request);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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