PayPal PHP自适应PayPal IPN通知

PayPal PHP自适应PayPal IPN通知,php,paypal,sdk,paypal-adaptive-payments,Php,Paypal,Sdk,Paypal Adaptive Payments,我目前正在尝试通过Paypal进行延迟链支付,一切似乎都按预期进行,但我意识到在支付授权后,通知url似乎不会触发,因此如果用户不返回返回url,我无法将支付交易详细信息记录到db中 $payRequest = new PayRequest(new RequestEnvelope("en_US"), 'PAY_PRIMARY', $this->input->post('cancel_return'), $this->input->post('currency_code')

我目前正在尝试通过Paypal进行延迟链支付,一切似乎都按预期进行,但我意识到在支付授权后,通知url似乎不会触发,因此如果用户不返回返回url,我无法将支付交易详细信息记录到db中

$payRequest = new PayRequest(new RequestEnvelope("en_US"), 'PAY_PRIMARY', $this->input->post('cancel_return'), $this->input->post('currency_code'), $receiverList, $this->input->post('return').'?payKey=${payKey}');

$payRequest->ipnNotificationUrl = site_url('ipnlistener');
我的ipnlistener目前只是在数据库中插入一行虚拟数据,当我手动访问它时,它似乎可以正常工作。你知道可能是什么问题吗?或者我可以尝试的任何解决方法

添加了payRequest数据

字符串(545)“requestEnvelope.errorLanguage=en_US&actionType=PAY_PRIMARY&cancelUrl=http%3A%2F%2Flocalhost%2Fweb%2Fclient%2Fmakepayment%2Frere·cyCode=SGD&ipnNotificationUrl=http%3A%2F%2Flocalhost%2Fweb%2Fclient%2Ftesto&receiverList.receiver(0)。金额=8934.26&receiverList.receiver(0)。电子邮件=test%40hotmail.com&receiverList.receiver(0).primary=1和receiverList.receiver(1)。amount=7344和receiverList.receiver(1)。email=testtest%40hotmail.com和returnUrl=http%3A%2F%2folocalhost%2Fweb%2Fclient%2Fmakepayment%2Frere%3FpayKey%3D%24%7BpayKey%7D”


你有没有检查你的IPN历史,看看它是否显示IPN正在被发送,然后,如果他们出现,确保得到200 OK的响应?好的,我刚刚检查了一下,它似乎将IPN发送到了我在paypal沙箱acc中设置的默认通知url。因此,似乎IPN通知url设置没有在我的项目中注册,我正在使用我的本地主机,这是原因吗?通知URL http://*已删除*/http响应代码200已发送的传递状态重试次数0事务ID 35926848R532924K IPN类型事务@Andrew Angellth在代码中的步骤不能执行您认为的操作。应该有一种方法可以看到原始XML请求被生成并发送到PayPal。需要检查一下,看看它是否被包括在所有,也许被包括不正确。包括在我的第一篇文章的请求数据。似乎包含了ipnNotificationUrl,但没有任何效果@Andrew Angellth这不是原始要求。它应该是一个XML字符串。您是否在此处屏蔽了IPN URL的值?