AlipayHelper.cs 5.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Aop.Api;
  2. using Aop.Api.Domain;
  3. using Aop.Api.Request;
  4. using Aop.Api.Response;
  5. using BizCom;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.Specialized;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Web;
  13. namespace SiteCore
  14. {
  15. public class AlipayHelper
  16. {
  17. //private string APPID = "2017060507421835";
  18. public static string APPID = "2017060507421835";
  19. private static string APP_PRIVATE_KEY = "MIIEogIBAAKCAQEArjU7ZfePsHFsRzA8fd2RTeKIa9JPurmUYlJsLgeSRDWrPi5xsjxabwEefcZWq9Y4TvS0UInO/jWGHZNgfqw1wTKJFqjmiMTlzeNFP4YWJHXhxEweJhuOhdidMQVlb71LaOxC72G5yVPk5BJJb6p9gJ2pb/z5PcyePdhxlQoIeBZJxo1HxqMw4Nzw6Za9/NmFXoqoVj/4eIJ18ojn97eZpSd0Sgob4QCxYtQk6OrHNcPaHYR5kFhGWjEnrUzhxWPK7MKcp6+tRrOaBxFoTFoUXKD9FUXwuRZNSOaNpsWvx5kbRnSTEANuKflb05W8VYuHNAhmi91Wr5UtqX0IuB3HwQIDAQABAoIBADx+k7/W9fjJilY2M+tpU5n+Pm1ivPkUlKiIArUBQBObp3mSWz0PpD/D3bjDdTl6zFbutub40/6Gy6ndkbarSodqaxyJTnTUGxEiCNwEThAfN2UZIacODrIABKYPP6hLzbIDyUKjZwa4sVVZ3FKAm9Bb74jKCishsRm83cRplYNNd1N77GcRo9qpZy4Wja8PYmGBkTafkajIGL7Dt1LRXFgCMM8kG9M1p/wRzuuq8X3pomm3O/fX2CxNbjsgP3jSjeFRlRp+gXFDiqizb2o/bBy0Cppgo/C80jrjdrsWy3kCbR6D6qYjNBaPp0nIBcKJz0Se8R8+QFIRkbv0JZF+pyECgYEA2peWUdLV1B1w16ZKa8fS5Eau1f1Ux+mJo72bAKe/2TKOzhqsGGp/wkI9yMj1UC56on2X1UqO9Vs2dWn7jZlykyfniwKm3Md0CrU6phTj5JSgJ6kBZKY6l1uPF5Bmi2YriNwqrE09ruEe4PjxZR/nThLkRthVHRa8pUgwaY9taw0CgYEAzAUx82BgA4MWaDwxH8WbGNw9nE5WBwvnXkod6ZQgtO+b/fplyW1DUoCQehM0SaQmI8/H3JgsteVhqWpHMrprTehz9S8yTPqRp4Y8FiLd8QL3ut79z6nUubuDUDe9q67pLBXpPRsfQzaLFm5kLsZrFNvHWMDKTif/yxF6rf0nUoUCgYBFXOy6MijgEieIhp/+632kKjm4dZa9iQHAD55r6s8Z4M0n4ZbSeJjpz5NDb2FIfDc18JyJdgs/GB6Dy4mjORn+UB9NIR5J2JCeBTwDD4XxNqhLbXmfso/ND6SsWYnwmg8ecp6n5iq4n37o7JXM/P6s65m8UVFQ1bIu0GVsWbLi0QKBgDA0pgnIYsdRqPC2EDFeonfsSg5tn/wIPwHTZ1/yZQv7dZM8H+LJE1giEoEVmowv4eciSCoCNsY/zaSW/P2qeIIvA38SSMNRjSrVF8tvL5urxNb9q2Du0tmTycIheYpgSK3m+3Y5u1hJQfHp4Xf/3/tMtrxsySBQaSsVFTSZFTp1AoGAI/9SCDZvyG2669Lc1+oCGzB0UYGf2jOSB0xz+u7/VsxmbERRX/loKfcnUJd1RWzDhjhUeIT3ajBM+609MCG56zBN+xOPkPckwsa1h37WtTXWpAIeHxAoP6GAh8kw1IqfrCzDJNBbTs/v4dxTwIi6nduEv0dMpI6p/ZmLAmxGh+Q=";
  20. private static string APP_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArjU7ZfePsHFsRzA8fd2RTeKIa9JPurmUYlJsLgeSRDWrPi5xsjxabwEefcZWq9Y4TvS0UInO/jWGHZNgfqw1wTKJFqjmiMTlzeNFP4YWJHXhxEweJhuOhdidMQVlb71LaOxC72G5yVPk5BJJb6p9gJ2pb/z5PcyePdhxlQoIeBZJxo1HxqMw4Nzw6Za9/NmFXoqoVj/4eIJ18ojn97eZpSd0Sgob4QCxYtQk6OrHNcPaHYR5kFhGWjEnrUzhxWPK7MKcp6+tRrOaBxFoTFoUXKD9FUXwuRZNSOaNpsWvx5kbRnSTEANuKflb05W8VYuHNAhmi91Wr5UtqX0IuB3HwQIDAQAB";
  21. public static string ALIPAY_SELL_ID = "2088721190992112";
  22. public static string ALIPAY_SELL_EMAIL = "2826755149@qq.com";
  23. public static string ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg8iVnQ6vqmVxV7AWgzptzn+5xGMQMbAcaLUgc4rGVa+bLaLDrdcgrKL+hXp//nP0gNS5YgrIkLVXban/Dtrsj8mejAZeFDSNEe4bQRMb15onPB1k/Tx2oUkgf+oaR+cuZhsesU2hzZ3Yd7fZh6I76qijV6qbvRagje9sVXBt9PS/hSS+Eox0mfR9aKWBYKhU7AFz6OgYgHvhKUhVuNYsbIMJDo1iLdzIw9sn7b3E0K/2MdGwY4uwfi+oxIWiy3SSwh7Jwen5iNGrl5QRGy9j8BYNyJ327d8mFuJO3YEQnbCObOqVwiHXCDLFIid7uYip9RkTuGpyyY3u6Tbu1mzYawIDAQAB";
  24. //public static string ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg8iVnQ6vqmVxV7AWgzptzn+5xGMQMbAcaLUgc4rGVa+bLaLDrdcgrKL+hXp//nP0gNS5YgrIkLVXban/Dtrsj8mejAZeFDSNEe4bQRMb15onPB1k/Tx2oUkgf+oaR+cuZhsesU2hzZ3Yd7fZh6I76qijV6qbvRagje9sVXBt9PS/hSS+Eox0mfR9aKWBYKhU7AFz6OgYgHvhKUhVuNYsbIMJDo1iLdzIw9sn7b3E0K/2MdGwY4uwfi+oxIWiy3SSwh7Jwen5iNGrl5QRGy9j8BYNyJ327d8mFuJO3YEQnbCObOqVwiHXCDLFIid7uYip9RkTuGpyyY3u6Tbu1mzYawIDAQAB";
  25. public static string CHARSET = "utf-8";
  26. public static string GetSign(string subject,string amount,string tradeno)
  27. {
  28. IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false);
  29. //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay
  30. AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
  31. //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
  32. request.SetNotifyUrl("http://www.ifireant.com/alipayreturn");
  33. AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
  34. model.Body = subject;
  35. model.Subject = subject;
  36. model.TotalAmount = amount;
  37. model.ProductCode = "QUICK_MSECURITY_PAY";
  38. model.OutTradeNo = tradeno;// getOutTradeNo();
  39. model.TimeoutExpress = "30m";
  40. request.SetBizModel(model);
  41. //这里和普通的接口调用不同,使用的是sdkExecute
  42. AlipayTradeAppPayResponse response = client.SdkExecute(request);
  43. //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
  44. //XLog.SaveLog(0, response.Body);
  45. return response.Body;
  46. //Response.Write(HttpUtility.HtmlEncode(response.Body));
  47. //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。
  48. }
  49. }
  50. }