0

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

到目前为止,当付款完成时,我得到状态“批准”并相应地处理我的代码,因为我认为付款很好。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 文档没有提到这一点。

4

1 回答 1

0

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

状态...可能的值:已创建、已批准、已失败。

就该字段可以采用的值而言,这似乎相当简单。因此,“批准”意味着执行成功。

但是,要根据您的问题将某些内容标记为“已成功支付”,您应该在transactions[0]->related_resources[0]->sale. 它的 id 是您应该存储用于会计目的的 PayPal 交易 ID。它会有自己的“状态”,记录在这里

状态......可能的值:完成,部分退款,待定,退款,拒绝

您应该将“已完成”视为成功,将“待处理”视为需要在 PayPal.com 帐户中手动关注的内容

于 2021-02-22T13:48:19.363 回答