记录一下,使用支付宝网页支付踩过的坑
调试错误,请回到请求来源地,重新发起请求
从支付宝官方下载的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 试试”
引用完之后发现,问题竟然好了,又反编译一下
这次发现参数是对的。 这个坑,本坑已填。有坑继续补充。。。