如何使用 PHP Omnipay 和 Paypal Express Checkout 验证付款?

Posted

技术标签:

【中文标题】如何使用 PHP Omnipay 和 Paypal Express Checkout 验证付款?【英文标题】:How to validate payment using PHP Omnipay and Paypal Express Checkout? 【发布时间】:2015-12-15 19:43:56 【问题描述】:

我们使用 Paypal Express 作为结账,使用 Omnipay php 库。现在买家在paypal网站输入密码并同意付款后,将返回首页的成功页面。

我现在想知道,如何验证付款是否真的成功?手动调用成功页面对于虚假成功支付来说并不难......

我在反向重定向中得到一个 payerid 和一个令牌。

我能否以某种方式使用omnipay 和令牌数据或payerid 请求paypal 以查看最后一次付款是否100% 成功?

我在 Omnipay 中找不到这方面的文档。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以使用GetExpressCheckoutDetailshttps://developer.paypal.com/docs/classic/api/merchant/GetExpressCheckoutDetails_API_Operation_NVP/

如果创建付款,将提供交易 ID。

Express Checkout 需要调用 API 来完成支付,如果 Omnipay 使用经典 API,调用将是 DoExpressCheckoutPayment,因此如果您有权访问代码,则可以围绕该调用添加一些额外的逻辑。

【讨论】:

以上是关于如何使用 PHP Omnipay 和 Paypal Express Checkout 验证付款?的主要内容,如果未能解决你的问题,请参考以下文章

Omnipay - 如何将“自定义”或“发票”参数传递给 Paypal?

如何使用 OmniPay 获得 PayPal_Express 响应?

如何从 Omnipay/PayPal 调用 GetExpressCheckoutDetails?

使用 Omnipay 在 Paypal Express 中显示账单和运输信息

Omnipay - 使用 Paypal Express 结帐 Laravel

Omnipay:将钱从 PayPal 账户转移到 Stripe 账户