代码拉取完成,页面将自动刷新
组件名 | 说明 | 版本号 |
---|---|---|
Alipay.AopSdk.Core3.1 | ASP.NET 项目可以单独安装此组件。服务端SDK,封装了支付宝开放平台的所有API | |
Alipay.AopSdk.F2FPay.Core3.1 | ASP.NET Core3.1 项目可以单独安装此组件。服务端SDK的ASP.NET Core组件 |
支付宝(Alipay)服务端SDK,采用.NET Standard 2.0,支持.NET Core >= 3.1,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,且用法几乎一样,代码都可参考官方文档代码。。由于精力有限,所以只做了几个Demo,但是其他功能可以参照官方的Demo来使用。可以使用官方文档中的示例代码。如有问题请加微信(wufeixiangba)有偿解答。
本项目代码基于官方.NET Framework 代码重构而来以及加入了ASP.NET Core的扩展支持。
Alipay.AopSdk.Core3.1
Alipay.Config -->>AlipayConfig.cs
public static string alipay_public_key = "";
//开发者私钥
public static string merchant_private_key = "MIICXQIBAAKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQABAoGBALrKLjBXyRrCFryxA2zyIZBO0TcaZ1T/4UKm/LDNL9hJB6wJOcBuFTQb0MFntkLALmOo2DYHQj4EzS+Xy2jp6pMsvCKG63XbU/7d7w1/ejTYxz+MX4ZzG6Ro5CmbpY1inbithQIfN3noK0h+PE7lkvOy43mTR4a+ceAtCh3gU2HpAkEA+XMqxbirmuhjRtHU4+YAOu0fY3JrXA1oErLiF0tJc1HhsWQuMv8v++peku4wWLhpM/8dpiWmf29zMcXBkNNWDQJBAM3ERi014EzIN91Dkdd6Kl4lfXEG62h0f2j5kvJGcZCTWKMLNyt7pjVYy4RRrrLLZiyGNqSKTzVDoaNWGGrTxoMCQQDavL54+uKfx7+mTkGcRgdVpLCth5vU8HyeSPYw7vfNg7Og1fQdC+CLyox70xnZ8ntt+PuKweEqRhSBRKPj1y3RAkAYjjzFtnE/GIG6MQ8dhOG7fIPc0jOTsptl3qrPqOJym3Lvei4qTUZHhYI8Fzde9PELjTTGLA9JzvliMasWTJGbAkB7UviY/ywp0GYCysV2QJZcakk5QZZ9mJwYJOh6hy6fBJJ8dq1F4aMRNbw/bTZqJuj4mmZUMrpK0JKeRjjFgzJF";
//开发者公钥
public static string merchant_public_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB";
//应用ID
public static string appId = "2013092500031084";
//支付宝网关
public static string serverUrl = "https://openapi.alipaydev.com/gateway.do";
public async Task<JsonResult> OrderCloses(string tradeno, string alipayTradeNo)
{
/*DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0",
Config.SignType, Config.AlipayPublicKey, Config.CharSet, false);*/
AlipayTradeCloseModel model = new AlipayTradeCloseModel();
model.OutTradeNo = tradeno;
model.TradeNo = alipayTradeNo;
AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
request.SetBizModel(model);
var response = await Configs.client.ExecuteAsync(request);
return Json(response.Body);
}
[HttpPost]
public void PayRequest(string tradeno, string subject, string totalAmout, string itemBody)
{
// 组装业务参数model
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.Body = itemBody;
model.Subject = subject;
model.TotalAmount = totalAmout;
model.OutTradeNo = tradeno;
model.ProductCode = "FAST_INSTANT_TRADE_PAY";
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
// 设置同步回调地址
request.SetReturnUrl("https://localhost:44396/waplay/callback");
//// 设置异步通知接收地址
//request.SetNotifyUrl("");
// 将业务model载入到request
request.SetBizModel(model);
var response = Configs.client.SdkExecute(request);
Console.WriteLine($"订单支付发起成功,订单号:{tradeno}");
//跳转支付宝支付
Response.Redirect(AlipayConfig.serverUrl + "?" + response.Body);
}
在Alipay.KeyGen.Tool下,运行start.bat
即可在keys目录下生成公钥和私钥,长度为2048。
这里生成的公钥和私钥,只需将私钥配置到配置文件文件中,公钥需要设置到支付宝后台。然后设置SignType
为RSA2
。配置文件中的公钥配置,不是我们自己生成的这个,需要到支付宝后台获取,这里需要注意一下。
官方文档:
实现支付、支付同步回调、支付异步通知、订单查询、退款、退款查询、订单关闭、扫码支付功能
Alipay.Core.Demo
沙盒测试推送的数据和异步回调的数据如下:
Notify:
{
"total_amount":"2.00",
"subject":"测试充值",
"body":"S_测试充值",
"out_trade_no":"NO20200708090330034",
"app_id":"20161013006279",
"gmt_create":"2020-07-08 09:03:43",
"charset":"utf-8",
"gmt_payment":"2020-07-08 09:03:54",
"notify_time":"2020-07-08 09:03:55",
"sign":"qexAWZhiXD/rIYQ==",
"buyer_id":"2088102179648860",
"invoice_amount":"2.00",
"version":"1.0",
"notify_id":"20200708002220355048860507255497",
"fund_bill_list":"[{\"amount\":\"2.00\",\"fundChannel\":\"ALIPAYACCOUNT\"}]",
"notify_type":"trade_status_sync",
"trade_status":"TRADE_SUCCESS",
"trade_no":"20200708220448860501305191",
"auth_app_id":"2016101067279",
"receipt_amount":"2.00",
"point_amount":"0.00",
"buyer_pay_amount":"2.00",
"sign_type":"RSA2",
"seller_id":"20881021793259"
}
PayRequest model------------------------------------------------------: {
"total_amount":"2"
"subject":"测试充值",
"body":"S_测试充值",
"out_trade_no":"NO20200708959169359",
"timeout_express":"10m",
"product_code":"FAST_INSTANT_TRADE_PAY",
"agreement_sign_params":null,
"disable_pay_channels":null,
"enable_pay_channels":null,
"extend_params":null,
"goods_detail":null,
"goods_type":null,
"integration_type":null,
"invoice_info":null,
"passback_params":null,
"promo_params":null,
"qr_pay_mode":null,
"qrcode_width":0,
"request_from_url":null,
"royalty_info":null,
"store_id":null,
"sub_merchant":null,
"time_expire":null,
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型