前面讨论了微信支付,接下来聊聊支付宝的APP支付(新款支付宝支付)。其实这些支付原理都一样,只不过具体到每个支付平台,所使用的支付配置参数不同,返回至支付端的下单参数也不同。
话不多说,直接上代码。
在App.Pay项目中使用NuGet管理器添加引用Alipay.AopSdk,也可以不添加引用,将官方SDK源码放至项目中。
添加完引用后,我们就可以开工了,新建文件夹AliPay,在文件夹中新建AliPayConfig类,存放支付宝APP支付所需的参数,同样,这些参数我也放在了配置文件中。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Web.Configuration; 7 8 namespace App.Pay.AliPay 9 { 10 public class AliPayConfig 11 { 12 //支付宝网关地址 13 public static string serviceUrl = WebConfigurationManager.AppSettings["aliServiceUrl"].ToString(); 14 15 //应用ID 16 public static string appId = WebConfigurationManager.AppSettings["aliAppId"].ToString(); 17 18 //开发者私钥,由开发者自己生成 19 public static string privateKey = WebConfigurationManager.AppSettings["aliPrivateKey"].ToString(); 20 21 //支付宝的应用公钥 22 public static string publicKey = WebConfigurationManager.AppSettings["aliPublicKey"].ToString(); 23 24 //支付宝的支付公钥 25 public static string payKey = WebConfigurationManager.AppSettings["aliPayKey"].ToString(); 26 27 //服务器异步通知页面路径 28 public static string notify_url = WebConfigurationManager.AppSettings["aliNotifyUrl"].ToString(); 29 30 //页面跳转同步通知页面路径 31 public static string return_url = WebConfigurationManager.AppSettings["aliReturnUrl"].ToString(); 32 33 //参数返回格式,只支持json 34 public static string format = WebConfigurationManager.AppSettings["aliFormat"].ToString(); 35 36 // 调用的接口版本,固定为:1.0 37 public static string version = WebConfigurationManager.AppSettings["aliVersion"].ToString(); 38 39 // 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 40 public static string signType = WebConfigurationManager.AppSettings["aliSignType"].ToString(); 41 42 // 字符编码格式 目前支持utf-8 43 public static string charset = WebConfigurationManager.AppSettings["aliCharset"].ToString(); 44 45 // false 表示不从文件加载密钥 46 public static bool keyFromFile = false; 47 48 // 日志记录 49 public static string LogPath = WebConfigurationManager.AppSettings["AliLog"].ToString(); 50 } 51 }