PayPal Plus - 确认付款状态

PayPal Plus - Payment state for confirmation

我目前正在自定义 TYPO3 扩展中实施 PayPal Plus。一切正常,但我想知道 PayPal 可能支持哪些付款状态 return。

截至目前,当付款通过时,我得到“已批准”状态并相应地处理我的代码,因为我认为付款很顺利。 PayPal 文档是如此神秘,它们到处都是,我真的不知道该去哪里看,每次我与他们一起工作时 API 感觉就像是第一次。

这是我目前不确定的部分:

$pay = $this->payPalService->executePayment(paymentId, $payerId, $json->access_token);

if ($pay->state == 'approved') {
    $this->orderService->update($paymentId);
    $this->redirect('paymentSuccessful', 'Order');
}

我说的重点是$pay->state == 'approved'。我可以假设批准意味着我可以安全地处理订单并将其视为已成功付款吗?官方PayPal Plus docs不说了

如果单击您提到的文档左下角的“参考”,link 到 v1/payments API 参考,其中记录了此执行 API 调用和可能的响应:https://developer.paypal.com/docs/api/payments/v1/#payment-execute-response

State... Possible values: created,approved,failed.

就字段可以采用的值而言,这似乎相当简单。所以这个,“通过”就代表执行成功了。

但是,要根据您的问题将某些内容标记为“已成功支付”,您应该在 transactions[0]->related_resources[0]->sale 中寻找销售对象。它的 id 是您应该存储用于会计目的的 PayPal 交易 ID。它将有自己的“状态”,documented here:

State... Possible values: completed,partially_refunded,pending,refunded,denied

您应该将 'completed' 视为成功,将 'pending' 视为需要在 PayPal.com 帐户中手动关注的内容