2016-06-08 254 views
1

,所以我需要PayPal支付在我的网站整合。我没有太多的Paypal集成经验。如果你能提供帮助,那将非常棒。 所以我通过这个 Tutorial如何PayPal支付过程中验证事务ID(TXN)

我已经创建了两个PAYPAL沙箱帐户。一个为买方,另一个为卖方。 我可以用这些付款。 但问题是在success.php页面 我在哪里需要验证付款。

我做什么,如果交易ID在数据库中已存在被选中。但问题在于success.php使用GET方法,事务ID可以在GET方法中编辑。因此将事务ID更改为任何内容(随机字符串)将验证数据库中不存在事务ID的情况,并且您可以执行付款。

所以由于这种付款被标记为有效和平衡被添加到用户的数据库。有什么方法可以检查交易ID是否为有效PayPal TX ID。

谢谢:)

+0

呃交易后叫......我觉得这个教程是有点不对。您依靠用户返回您的成功页面来存储交易信息。如果用户在交易后没有返回成功页面,会发生什么情况?那么你会遇到问题,因为交易不会被保存在你的数据库中。 – Mikey

+0

但如果他们玩HTML代码,并改变成功的页面,那么这是他们的问题。 – shobhit99

+0

我不是指他们搞乱HTML。我在谈论他们没有点击可返回您的网站的链接。即使您添加设置以自动将其重定向回您的网站,也可能会在未到达您的网站的地方发生。处理付款的正确或更安全的方法是使用本教程末尾提及的由jsabina概述的PayPal IPN。 – Mikey

回答

1

您不应该依赖返回页面来验证事务。 您通过GET获得的内容可以更改,客户可能会在之前关闭该页面或者连接问题永远不会被重定向。 使用贝宝的标准,你应该使用IPN来确认支付 https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/ 有自己的文件和脚本示例信息网上。 你需要安装一个监听器,将通过PayPal是执行

+0

是的,IPN是贝宝推荐的方式来完成订单,主要是因为它是一个强大和安全的机制。 – Patanjali

+0

PDT只是为了向客户提供确认,如果他们回到网站。 PayPal建议您检查多个IPN值是否存在欺诈行为,例如receiver_email与您的主要PP电子邮件相匹配,以及产品代码和价格匹配,以及仅为txn_id发送一个“Completed”txn_status IPN消息。请注意,IPN处理并不简单,但他们提供的PHP代码示例非常稳定。 – Patanjali