小言_互联网的博客

支付宝记---电脑网站支付(.NET)

247人阅读  评论(0)

根据商品信息和价格生成支付宝支付的二维码

2019年夏,张渔歌仄伏于家中。越明年,疫情依旧,渔歌隧研究支付宝支付。其中心酸不言表,属予作文以记之。

一、准备工作

1、支付宝开发平台https://open.alipay.com/。需要进行企业级的账号,需要注册主要是营业执照和法人手机。

注册地址:https://certifyweb.alipay.com/certify/reg/guide#/ 注册成功后登陆

2、支付宝商家其实就是支付宝。https://www.alipay.com/ 这个也得是企业用户。

3、支付宝开放平台开发助手,主要是生成公钥和秘94A5

4、电脑端支付demo,下载地址:SDK & Demo 获取 | 网页&移动应用

提供三种语言java net php。目前python还不支持。

二、操作流程

1、登陆支付宝开放平台,进入控制台。找到网页/移动应用,点击创建网页/移动应用。

创建完成后如下图。

应用创建完成后需要配置才可以,应用创建后会分配一个appID,在以后的开发中会使用。

2、配置创建的应用。点击应用会进入到应用的详细页面

2.1应用详情

该页面不需要配置,创建应用的时候已经设定完成

2.2开发设置

该页面是个关键页面,需要配置1处,配置的时候需使用“支付宝开放平台开发助手”

我用的是net所以用的是非java

将生成的公钥配置到开发设置【接口加签方式(密钥/证书)】中即可。其他配置根据自己服务器和软件要求进行相应的配置就可以。

2.3 产量绑定

该页面是核心页面需要配置应用的各项能力,支付宝提供了几十种。我们这里使用电脑网站支付。

选电脑网站支付然后点击确定,这时候在产品绑定页面显示未开通。

点击去开通,这时候跳转至支付宝平台。每个支付的开通不大一样,我这里是电脑网站支付。

网站备案要注意与企业法人的关系而且网站备案的身份信息要准确。

提交后大概1个多小时就审核完毕。审核通过后产品绑定页面也显示已开通。

到这里核心配置就完成了,其实一点也不难,这就是传说中的

会了不难,难了不会~

我研究了进1个月才搞定,当然我仅仅是隔三差五的研究一下 ,也踩了不少的坑这里分享一下。

  1. 支付宝要是企业级的个人的不行
  2. 注册支付宝的时候个人的和企业的要分清
  3. 企业法人也可以注册支付宝但是个人的与企业的要分清
  4. 网页网站上生成产品二维码是电脑端支付,电脑端与手机端支付及其类似一定要分

三、实战

1、咱们先看看支付宝提供的demo

https://opendocs.alipay.com/open/270/106291

 我们下载NET的。alipay.trade.page.pay-DoNet-UTF-8.zip这个文件解压后使用vs2022不能运行,我就自己新建了个项目运行结果看一下。

得引用aopsdk.dll。引用完成后就把配置文件配置一下就可以了。我这里是BaseUI.cs类。内容如下:


  
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. namespace AliPayMobile
  6. {
  7. public class BaseUI : System.Web.UI.Page
  8. {
  9. // 应用ID,您的APPID
  10. public static string app_id = "";
  11. // 支付宝网关沙箱使用网关:https://openapi.alipaydev.com/gateway.do
  12. // 正式环境使用网关:https://openapi.alipay.com/gateway.do
  13. public static string gatewayUrl = "https://openapi.alipay.com/gateway.do";
  14. // 商户私钥,您的原始格式RSA私钥
  15. public static string private_key = "2021003N3/hKFEJpOaexLRsSDKliLUw9vRSE2SnC4xdNHGLcNlY05VwIDAQABAoIBAHsUo3GY6N45jLFoyse/v52Z7tokpKDJSk+VJEEA6lQAaDyDte2UUQpVYIMeYdPUIGdY3YGnk1e283KAJZKnnOhxv8obI9iKmJXi6cYgwbrmVQRk/yxVR2NWpXzN9FjRnvmWYqUe7EzAI3qJqVc1bSG9DOQSgPargakmPw7i3iZREtr++c+GpsZojTQT/2i6qCutDNcLjf+04ODIeG7GnUWScCX9mI41gmW7HnsUl4ak0+csPeUZRKhUP6Byj4v1UYOV0HIVuMS4+4d19GOnijCOIvO6BHVUY1J9+IrochDlmH35ObXDNGjrKKVuvj20XPgx74QH2lBSKUnVw5uadoECgYEAxzFNOkeEU/D+OSazHT7d5alMMSVO9bNQVSEEuZ72friHKJoPAPDWNmbdXCgeA51A0H4SeSaeo3NaBmC/otGaFRVStmy+pwJhamGVTZC4aGfs79dsVqbTPN1vL0Oh55jSj8flBGxTc0YfDNTF12g0ROouubAvsRPJIN8GcCnxrOcCgYEAuqCGnE9k+FUoZWA0UHytLaOrz5lbPTl2GWl76CKuzulB+EtOBL/FyFY1mzKLz3bKUVNOL63plSB4HhW9PbCnIVct/bXKWTt3wHdLAQYlx88q7sQghxv8//Q2/jMsnswGjv5YLbBoVSKo9SR8GoWVV3ZA9rjbtAU7fbctjq9TkhECgYEAq3O6P4GzWvVCPTscTP4BzV5toJe2YTIY4U1sXcF/9g8q9z2z0GF8YJMl0d8OBppiYZNCn1kojxQI1xiLmr/DWoZiDXeImwQniYO5GWyJ7gQWI1NPgz5Q8EDBJPOX9lrKUswCSk5bfgtLSqYSLJka9H6F/Xqzcj3PjyWoyv6vcN0CgYEAsykV8QsbEHeYDzI7JqV6Dx1X/DTp7S2znZOxWtmo3YP6S+XnIRIFSlzQm4v7wg/1C/ugTI91dS81gRQ3lvh2icBKq4yQk/dN8BvVikcfj+DnA06PN4V77S/Cd2gjRtLw3Od5OWtnzYs3jhcXeNKS2uLwXKp8aCa5xOdMOfVAkjECgYBi097XwqqHzxZoaCxmknxsHTAoQlH4MCd7A70UFbLhtxaRSfWJO/qEJZ9+SoHlhuel0WOVe+Ag19VdZyRAaXFMJcUEM1zR2NrMF3e3jDNdqR+aZjEXAMuy2W0t/WixosRDVFmMX8Ld67O82T4tfUw2hNomHLHGrqwwns0ybfRDNw==";
  16. // 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
  17. public static string alipay_public_key = "2021003Xcfvj+DXaZ+4qTxRC6j7oPNJdlNQTYokz010j9CB21ZXavHsHAWrttNQrIqR/un+MsihjrDiQIDAQAB";
  18. // 签名方式
  19. public static string sign_type = "RSA2";
  20. // 编码格式
  21. public static string charset = "UTF-8";
  22. }
  23. }

配置项写自己的就可以了。wappay.aspx这个页面是demo的页面原样抄袭就行。

 有图有真相。

2、实践到项目

我的网站地址:亚丁号

实际实现地址:分享116个PHP源码,总有一款适合你

其实需要注意的就是回调地址,其他的和demo中一样。

第一步、引入dll

第二步、编程配置文件

第三步、编写业务文件


  
  1. DefaultAopClient client = new DefaultAopClient(gatewayUrl, app_id, private_key, "json", "1.0", sign_type, alipay_public_key, charset, false);
  2. //return Content(ARTICLE_CODE);
  3. OrderinfoDataAccess order = new OrderinfoDataAccess();
  4. string total_amount = articleViewModel.Article.ARTICLE_HID_PRICE.ToString();
  5. string transaction_no = order.GenerateOrderCode( ARTICLE_CODE);
  6. string subject = articleViewModel.Article.ARTICLE_TITLE;
  7. // 组装业务参数model
  8. AlipayTradePagePayModel model = new AlipayTradePagePayModel();
  9. model.Body = subject; 商品描述
  10. model.Subject = subject;
  11. model.TotalAmount = total_amount;
  12. model.OutTradeNo = transaction_no;
  13. model.ProductCode = "FAST_INSTANT_TRADE_PAY";
  14. AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
  15. // 设置同步回调地址
  16. request.SetReturnUrl( "http://192.168.3.170:9103/pay/alireturn");
  17. // 设置异步通知接收地址
  18. request.SetNotifyUrl( "");
  19. // 将业务model载入到request
  20. request.SetBizModel(model);
  21. AlipayTradePagePayResponse response = null;
  22. try
  23. {
  24. response = client.pageExecute(request, null, "post");
  25. //Response.Write(response.Body);
  26. //return Content(response.Body);
  27. ViewData[ "PaymentBody"] = response.Body;
  28. return View();
  29. }
  30. catch (Exception exp)
  31. {
  32. throw exp;
  33. }

到此全部结束。谢谢大家!送老铁一首打油诗

学习知识费力气,

收集整理更不易。

知识付费甚欢喜,

为咱码农谋福利。


转载:https://blog.csdn.net/zy0412326/article/details/127803316
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场