使用ASP开发时,如果不导入证书,会遇到 的问题。如图所示:
出现这个问题,是因为 调用微信支付接口时,没有导入 微信证书导致。如果不导入证书,程序调用微信支付接口,会收到服务器要求证书的请求,像其他语言可以忽略,而asp 会直接报出:请求证书完成客户验证 的错误。
解决也非常简单,导入证书就可以了。如果不清楚导入流程,可以参考之前我也写过一篇微信证书导入的文章 微信支付ASP下证书安装说明(网址:http://www.miaoqiyuan.cn/p/winhttpcertcfg-mmpay)。
asp实现微信支付是完全可行的。之前我写的 ASP微信支付类(网址:http://www.miaoqiyuan.cn/p/asp-wechat-pay),就提供了完整的 实现代码。导入微信证书成功后,只要通过 SetClientCertificate 方法 指定 证书 (“LOCAL_MACHINE\My\MMPay”),然后就可以成功调用,不再提示请求证书完成客户验证了。相关代码如下:
1
2
|
Set
xmlhttp = Server.CreateObject(
"WinHttp.WinHttpRequest.5.1"
)
xmlhttp.SetClientCertificate(
"LOCAL_MACHINE\My\MMPay"
)
|
为了方便 同行 调用,我还提供了一个 asp微信支付的 测试地址:http://wechatpay.demo.miaoqiyuan.cn/,完全是asp实现的。这个演示站点的所有代码已经开源,发布到了gitee,网址:https://gitee.com/mqycn/WechatASP/。