|
|
1
3
我记得在文档中它指出复制是可能的——这就是互联网的本质。这就是为什么它会给你一个唯一的事务ID。如果你收到两次通知,你应该用它来防止不好的事情发生。
The docs 说“贝宝发送一个字回来,这要么是验证,如果消息来源于贝宝或无效,如果有任何与原来发送的不一致”。我猜你的代码两次意外地将“echo”发送回PayPak,其中一次格式不正确。也许他们都是相同的,但贝宝回应无效,如果它得到它两次。但不管怎样,对于一个特定的事务Id,一旦你得到验证,你就很好了。只需忽略所有后续响应。 编辑2 返回的url只是PayPal用来将用户重定向回您的站点。使用此页面感谢他们的购买,并通知他们,一旦处理完成,他们将收到通知。如果不想使用此功能,甚至可以将其设置为空字符串。当支付实际完成时(或者发现了一些问题),PayPal将调用notifyurl引用的脚本。在这里,你可以确保一切正常,处理重复通知,更新数据库,向用户发送电子邮件,说他们的付款已处理,等等。 |
|
|
2
0
在插入或更新mysql查询之前,请检查返回的事务id“$\u POST['txn\u id']”是否已存在于您的db表中,如果它不存在,请将其与其他$\u POST数据一起插入,因为paypal多次调用notify url。 |