Results 15 comments of Ference

就是个文本文件,你编辑好了改下后缀名就行了,加上头尾,每64个字符一行。参考这个文件 test/pem/sandbox_ali_public.pem

@kevilen 证书格式不对造成的,你要格式化成标准的pem格式,另外编辑的时候使用Sublime Text之类的专业文本编辑器,不要用记事本编辑,记事本会额外添加字符

不是太明白你的意思,一般来说在客户端进行支付操作后应该进行一个支付结果验证过程,根据验证结果进行页面跳转就可以了。 验证过程包括:支付宝的签名验证、根据自身业务进行订单合法性验证(订单是否处理过、支付金额是否正确等等)

ali.signVerify(req.body); 这个是对的,其中req.body是支付宝返回的支付结果报文解析后的对象

你这个应该是接收支付宝结果通过的地址,在这里面你要验签,并校验订单是否正确。如果说你这里逻辑错误的话,那你就要在这里排查一下,看是哪一步出的错

你可以直接远程调试或者转成json字符串输出

这个页面是你给客户端使用的页面吧,如果是的话你要自己在这里控制是否跳转啊,你直接输出success自然是跳转不了的

如果是网关的话这样是对的,那你就是跟踪一下看看返回的结果是不是对的,是不是返回了success给支付宝

测试的结果显示你只处理了get的路由,没有处理post

检测下你的路由处理逻辑是不是有问题,发的post请求返回的是 {"isSuccess":false,"msg":"Not Found"},而从你发的代码上来看你只会返回success或fail。只有两种情况,要么你的路由没有经过这里,要么你是handleRecharge(order_no, res);这一步里提前返回了结果给支付宝