调试错误,请回到请求来源地,重新发起请求

记录一下,使用支付宝网页支付踩过的坑

调试错误,请回到请求来源地,重新发起请求

从支付宝官方下载的demo,配置好公钥发现运行如下错:

 

官方代码 .net demo

 

项目中引用 AOPSDK.DLL

 

 

首先说明一下,我是使用秘钥证书的版的,所有配置完之后还是报错的。

参考官方文档 服务端 SDK(老版) - 支付宝开放平台 (alipay.com)

复制代码
//设置证书相关参数
CertParams certParams = new CertParams
{
    AlipayPublicCertPath = "支付宝公钥证书路径",
    AppCertPath = "商户应用证书路径",
    RootCertPath = "支付宝根证书路径"
};
IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", "utf-8", false, certParams);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.open.public.template.message.industry.modify 
AlipayOpenPublicTemplateMessageIndustryModifyRequest request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.BizContent="{" +
"    \"primary_industry_name\":\"IT科技/IT软件与服务\"," +
"    \"primary_industry_code\":\"10001/20102\"," +
"    \"secondary_industry_code\":\"10001/20102\"," +
"    \"secondary_industry_name\":\"IT科技/IT软件与服务\"" +
"  }";
AlipayOpenPublicTemplateMessageIndustryModifyResponse response = client.CertificateExecute(request); 
//调用成功,则处理业务逻辑
if(response.isSuccess()){
    //.....
}
复制代码

 

项目中引用如上,结果代码报错了

 

 官方的Demo居然报参数类型错误。DefaultAopClient 类怎么会报错呢?于是反编译了一下看看究竟是什么原因。

 

 这明显参数类型不对呀。

于是在求助在线阿里技术,阿里工程师一时间也不知道什么情况(这里就不上图了),过了10分钟。给回复说:“您引用AlipaySDKNet.dll 试试”

 

 

 

引用完之后发现,问题竟然好了,又反编译一下

 

 这次发现参数是对的。  这个坑,本坑已填。有坑继续补充。。。

 在补个链接RSA2和公钥证书签名验签的区别 (alipay.com)

posted @   幽冥狂_七  阅读(4359)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
历史上的今天:
2019-11-25 10个图标下载网站
2016-11-25 JS window对象的top、parent、opener含义
2016-11-25 js代码中的parent,top和self有什么区别
点击右上角即可分享
微信分享提示