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
  • asp之家 软件编程 m.aspxhome.com