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

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

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

从支付宝官方下载的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)

原文地址:https://www.cnblogs.com/youmingkuang/p/14036594.html