支付demo
/// <summary>
/// 支付
/// </summary>
/// <returns></returns>
[Route("UpdatePaymentOrder")]
[HttpPost]
public async Task<Robj<string>> UpdatePaymentOrder()
{
Robj<string> result = new Robj<string>();
//商户订单号,商户网站订单系统中唯一订单号,必填
string out_trade_no = "NO000001";
//订单名称,必填
string subject = "商品支付";
//付款金额,必填
string total_fee = "100";
//商品描述,可空
string body = "";
//把请求参数打包成数组
SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();
sParaTemp.Add("service", ConfigPay.service);
sParaTemp.Add("partner", ConfigPay.partner);
sParaTemp.Add("seller_id", ConfigPay.seller_id);
sParaTemp.Add("_input_charset", ConfigPay.input_charset.ToLower());
sParaTemp.Add("payment_type", ConfigPay.payment_type);
sParaTemp.Add("notify_url", ConfigPay.notify_url);
sParaTemp.Add("return_url", ConfigPay.return_url);
sParaTemp.Add("anti_phishing_key", ConfigPay.anti_phishing_key);
sParaTemp.Add("exter_invoke_ip", ConfigPay.exter_invoke_ip);
sParaTemp.Add("out_trade_no", out_trade_no);
sParaTemp.Add("subject", subject);
sParaTemp.Add("total_fee", total_fee);
sParaTemp.Add("body", body);
//其他业务参数根据在线开发文档,添加参数.文档地址:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.O9yorI&treeId=62&articleId=103740&docType=1
//如sParaTemp.Add("参数名","参数值");
//建立请求
string text = Submit.BuildRequest(sParaTemp, "get", "确认");
result.Code = RCode.Success;
result.Result = text;
return await Task.FromResult(result);
}
/// <summary>
/// 支付成功返回更新订单
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Robj<int>> UpdateOrder()
{
Robj<int> result = new Robj<int>();
int i = 0;
var sPara = new SortedDictionary<string, string>();
NameValueCollection coll = (NameValueCollection)HttpContext.Request.Form;
String[] requestItem = coll.AllKeys;
for (i = 0; i < requestItem.Length; i++)
{
sPara.Add(requestItem[i], HttpContext.Request.Form[requestItem[i]]);
}
//判断是否有带返回参数
if (sPara.Count > 0)
{
Notify aliNotify = new Notify();
bool verifyResult = aliNotify.Verify(sPara, HttpContext.Request.Form["notify_id"], HttpContext.Request.Form["sign"]);
if (verifyResult)//验证成功
{
//商户订单号
string out_trade_no = HttpContext.Request.Form["out_trade_no"];
//支付宝交易号
string trade_no = HttpContext.Request.Form["trade_no"];
//交易状态
string trade_status = HttpContext.Request.Form["trade_status"];
if (HttpContext.Request.Form["trade_status"] == "TRADE_SUCCESS")
{
//请不要修改或删除
await HttpContext.Response.WriteAsync("success");
}
else
{
//验证失败
await HttpContext.Response.WriteAsync("fail");
}
}
else
{
await HttpContext.Response.WriteAsync("无通知参数");
}
}
return await Task.FromResult(result);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)