C#支付宝新版支付请求接口调用
作者:lwpoor123 时间:2023-02-23 15:50:45
本文实例为大家分享了C#支付宝新版支付请求接口调用的具体代码,供大家参考,具体内容如下
因为支付宝已经集成了完整的SDK,所以可以使用SDK直接调用API,这里获取SDK源码。
首先我们需要引用支付宝SDK集成 AopSdk.dll。
添加相关引用:
using Aop.Api;
using Aop.Api.Domain;
using Aop.Api.Request;
using Aop.Api.Response;
需要用到商户私钥,支付宝公钥,请求地址等公共参数,所以可以新建一个config文件:
public class newalipayconfig
{
public newalipayconfig()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
// 应用ID,您的APPID
public static string app_id = "";
// 支付宝网关
public static string gatewayUrl = "https://openapi.alipay.com/gateway.do";
// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static string alipay_public_key = "";
// 商户私钥,您的原始格式RSA私钥
public static string private_key = "";
// 签名方式
public static string sign_type = "RSA2";
// 编码格式
public static string charset = "UTF-8";
}
支付请求处理页面:
DefaultAopClient client = new DefaultAopClient(newalipayconfig.gatewayUrl, newalipayconfig.app_id, newalipayconfig.private_key, "json", version, newalipayconfig.sign_type, newalipayconfig.alipay_public_key, newalipayconfig.charset, false);
if (order != null)
{
// 支付中途退出返回商户网站地址
string quit_url = "www.alipay.com";
// 组装业务参数model
AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
model.Body = body; //商品描述
model.Subject = subject; //商品名称
model.TotalAmount = total_amount; ////订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]
model.OutTradeNo = out_trade_no; //商户网站唯一订单号
model.ProductCode = "QUICK_WAP_WAY";//销售产品码,商家和支付宝签约的产品码。
model.QuitUrl = quit_url;
AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
// 设置支付完成同步回调地址
request.SetReturnUrl(AlipayConfig.Call_back_url);
// 设置支付完成异步通知接收地址
request.SetNotifyUrl(AlipayConfig.Notify_url);
// 将业务model载入到request
request.SetBizModel(model);
AlipayTradeWapPayResponse response = null;
try
{
response = client.pageExecute(request, null, "post");
Response.Write(response.Body);
}
catch (Exception exp)
{
throw exp;
}
}
来源:https://blog.csdn.net/lwpoor123/article/details/79019427
标签:C#,支付宝
0
投稿
猜你喜欢
详解Android运行时权限及APP适配方法
2021-06-15 11:06:17
java注解的全面分析
2023-11-25 11:28:50
java中JVM中如何存取数据和相关信息详解
2023-08-10 03:49:46
使用Java的Lucene搜索工具对检索结果进行分组和分页
2022-07-27 05:21:17
Java TreeSet实现学生按年龄大小和姓名排序的方法示例
2023-01-09 15:25:18
Android App自动更新之通知栏下载
2023-11-07 16:56:45
Spring @Conditional注解原理解析
2022-10-04 16:09:51
浅谈SpringBoot中的@Conditional注解的使用
2021-12-07 16:47:04
Go Java算法之累加数示例详解
2023-03-16 00:43:31
Java项目开发命名规范(动力节点Java学院整理)
2021-06-24 07:16:56
Java中遍历Map的六种方法实现
2022-03-21 13:30:58
基于Java数组实现循环队列的两种方法小结
2023-06-30 16:09:01
Android 使用压缩纹理的方案
2023-09-26 12:25:23
SpringBoot一个非常蛋疼的无法启动的问题解决
2023-12-12 15:24:36
Android同步屏障机制sync barrier实例应用详解
2023-04-24 05:27:04
java创建线程的两种方法区别
2023-11-11 09:17:52
使用CursorLoader异步加载数据
2021-10-06 12:17:31
maven工程中jar包瘦身的五种方法
2023-11-04 05:01:54
一文了解Java读写锁ReentrantReadWriteLock的使用
2023-10-12 19:28:21
Java多线程的临界资源问题解决方案
2021-12-29 07:44:35