在访问支付宝服务窗口,修改支付宝网关时,总是提示应用网关响应异常等错误,无法查询问题。经过几轮调试,总结了一些经验。
主要分为以下几个步骤:
支付宝发送验证网关请求
当您后天提交要修改的服务窗口网关时,支付宝会向商户网关发送验证消息,消息正文如下:您可以在 demo 中记录的日志请求中看到以下参数。
POST: array ( 'sign' => 'ThtEacndm2asztki8thQeVaF3Xi0yyMQUJrot/HngIGECWyE7Vse48Fp8n8qxWW8D8H8rSkTC56grJm5dCXTC34UJNPTSwQvAWGG4YHFp3jGneAeJ7sLxO9aWffpodIufDpa/ZHEpIzRHaFkv8uD/v9BKrIQo1S9vverZ3izvB3=', 'biz_content' => '',
商户网关发出验证请求
从演示中的代码中可以看出,商户端需要先对支付宝发送的请求进行签名,验证的公钥使用配置上的支付宝公钥。
签名验证通过后,会回复支付宝中对应商户的公钥内容,详见:。XML 中的内容是商家的公钥,需要在支付宝上配置,并在商家系统中配置。
支付宝获取到商户返回的信息后,会使用支付宝上配置的公钥(配置入口在修改网关页面下行)检查商户返回的内容是否签名正确,内容是否正确,内容与支付宝上配置的公钥内容一致, 然后,成功修改 。
3. 常见错误
测试公网访问是否正常
在日志中找出支付宝发送的请求参数,将各个参数组装拼接,向商户网关发送 post 请求,还有很多工具可以模拟发送 post 请求,比如:插件 Rest 非常好用。