公众号支付代码详解(3)

final private function ReplyNotify($needSign = true) { //如果需要签名 if($needSign == true && $this->GetReturn_code($return_code) == "SUCCESS") { $this->SetSign(); } WxpayApi::replyNotify($this->ToXml()); }

$this->GetReturn_code($return_code) == "SUCCESS")

改为

$this->GetReturn_code() == "SUCCESS")

即可。
这样整个流程就结束了。上面提到了 传递订单参数

$input->SetAttach("test");

如果我设置 值为 test this is attach (其实只要有空格就会存在bug)

如图 传递的订单信息

公众号支付代码详解

可以看到 attach 信息正常,当然支付也是正常的没有任何问题。

但是发现总是会收到notify 通知,即意味着没有返回给微信服务器正确的结果通知。
打印服务器发来的通知数据

公众号支付代码详解

可以看到 attach 是 test+this+is+attach 即空格被转化为加号

打印接收到的签名和程序算出来的签名发现 签名不同,即认为接收结果异常。

所以我们要是想使用attach 这个值就不能有空格,要么干脆不使用这个参数

(等待微信修复这个bug, 也可能是我这边有哪个地方不会? - -#)

这样 微信支付的 JsApi支付就大致分析完成了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/99179957db2075e421b3cc707c361d2a.html