我创建了一个使用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'
,这就是为什么它没有将客户带到成功页面并保存订单信息的原因。
现在我的问题是,由于找不到TransactionID
和PayerID
,我该如何收取付款?还是在任何地方都可以找到该信息以便向客户收费?
我已经登录到与LIVE API
关联的贝宝帐户,但是当我查看开发人员仪表板Live API Call History
时,没有看到交易记录或未决交易,{{1 }}有今天的日期吗?
答案 0 :(得分:1)
出于未知原因,我认为Paypal付款状态未获批准
$result->getState() == 'approved'
,这就是为什么它没有将客户带到成功页面并保存订单信息的原因。
每当客户选择在PayPal结帐内付款时,批准状态就会发生。如果他们不进行结帐,它将不获批准。不太可能有任何问题。
现在我的问题是,由于找不到交易ID和付款人ID,如何收取付款?还是在任何地方都能找到这些信息以便向客户收费?
不能。其中一个PAYID必须由客户批准才能向您收取费用-如果批准,则您将获得state = approved并能够从批准后重定向到的URL获取PayerID。
sale / TransactionID是您执行付款的下一步。
底线:如果客户从未被重定向回,并且您不知道他们的PayerID,因此也从未执行过付款-因此没有transactionID,并且客户也没有transactionID自己发送付款。好吧,没有PayPal交易。