【问题标题】:Paypal live payment failed to charge customerPaypal 实时支付未能向客户收费
【发布时间】:2020-03-26 04:45:12
【问题描述】:

我创建了一个使用 PayPal 作为支付网关的 PHP 网站,一切都在沙盒模式下运行,而且我自己在实时支付中对其进行了测试,它运行良好。

今天我收到报告说客户付款但不成功,我检查了我的 paypal 日志,第一次付款成功,但她不断尝试,却发现她的资金已用完。

这是我的日志

[26-03-2020 10:03:50] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/oauth2/token
[26-03-2020 10:03:51] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 200
[26-03-2020 10:03:51] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
[26-03-2020 10:03:52] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201
[26-03-2020 10:14:18] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
[26-03-2020 10:14:19] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201
[26-03-2020 10:22:01] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
[26-03-2020 10:22:01] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201
[26-03-2020 10:36:10] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
[26-03-2020 10:36:11] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201
[26-03-2020 10:58:49] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
[26-03-2020 10:58:49] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201

不知什么原因,我认为PayPal付款状态不是approved$result->getState() == 'approved',这就是它没有将客户带到成功页面并保存订单信息的原因。

现在我的问题是,由于找不到TransactionIDPayerID,我该如何收取费用?或者在任何地方我都可以找到这些信息以便向客户收费?

我已登录到与LIVE API 关联的贝宝帐户,但没有记录交易也没有待处理的交易,当我查看开发人员仪表板Live API Call History 时,我看到了PayPal Debug ID 的列表,其中包含今天的日期有什么我可以用它做的吗?

【问题讨论】:

    标签: php paypal


    【解决方案1】:

    现在将日志添加到问题中进行编辑:

    不知什么原因,我认为paypal付款状态没有被批准$result->getState() == 'approved',这就是它没有将客户带到成功页面并保存订单信息的原因。

    只要客户选择在 PayPal 结帐中付款,就会进入批准状态。如果他们不继续结帐,它将保持未经批准。这不太可能有任何问题。

    现在我的问题是,由于找不到 TransactionID 和 PayerID,我该如何收取付款?或者我可以在任何地方找到这些信息以便向客户收费?

    你不能。其中一个 PAYID 必须得到客户的批准,您才能向他们收费 - 如果他们获得批准,您将拥有 state=approved 并能够从他们在批准后重定向到的 URL 中获取 PayerID。

    sale/TransactionID 是您在执行付款的下一步中获得的。


    底线:如果客户从未被重定向回来,并且您不知道他们的 PayerID,因此从未执行过付款 - 因此没有 transactionID,客户也没有 transactionID他们自己从发送付款。好吧,没有 PayPal 交易。

    【讨论】:

    • 我已经更新了我的问题并添加了我所指的日志
    • 好吧,这些不是支付“成功”日志,它们只是发起的支付尝试日志(v1/支付创建)
    • 我现在已根据您的问题更新了我的答案,但我不确定它是否有助于阐明这个特定客户发生了什么
    猜你喜欢
    • 1970-01-01
    • 2016-02-21
    • 2018-06-10
    • 2020-12-10
    • 2019-04-09
    • 1970-01-01
    • 2014-12-20
    • 2017-11-21
    • 2013-12-28
    相关资源
    最近更新 更多