在Payum中如何“正确”检查付款中的“待处理”状态?

问题描述 投票:0回答:1

在我实际的 Symfony2 项目中,我使用 PayumBundle 和 Payum 1.3.4 来通过 paypal_express_checkout 工厂进行付款。我发现一种行为也许没问题,但我需要与另一个了解 Payum 的人确认。

简单解释一下:

  1. 在 Paypal Sandbox 中创建了一个用户来测试付款,并激活了付款审核以强制所有付款保持“待处理”状态。

  2. 准备阶段已通过,重定向至 PayPal。

  3. PayPal 付款也很好,再次重定向到我的网站到完成阶段。

  4. 在完成阶段会发生以下情况:

    public function doneAction(Request $request)
    {
        $token = $this->get('payum')->getHttpRequestVerifier()->verify($request);
    
        $gateway = $this->get('payum')->getGateway($token->getGatewayName());
    
        $gateway->execute($status = new GetHumanStatus($token));
    
        /** @var Payment $payment */
        $payment = $status->getFirstModel();
    
        ....
    }

此时,

$status->getValue()
等于“捕获”。 但在
$payment->getDetails()
中我可以看到这一点(为了清晰起见,将其分块):

details(
    "INVNUM" => "57dc5ce455d5a",
    ...
    "ACK" => "Success",
    ...
    "CHECKOUTSTATUS" => "PaymentActionCompleted"
    ...
    "PAYMENTINFO_0_PAYMENTSTATUS" => "Pending",
    "PAYMENTINFO_0_PENDINGREASON" => "paymentreview",
    ...
)

Payum 表示状态为“已捕获”,但 PayPal(没关系)表示付款人处于“待处理”状态。

那么,为什么 Payum 状态是“已捕获”而不是“待处理”?是这样吗?

如何“正确”检查付款中的“待处理”状态?

我检查了 Payum Bundle Sandbox 中的示例,但没有任何有关待处理状态的信息。

提前致谢。

php paypal payum
1个回答
0
投票

检查 GitHub 中的问题线程:https://github.com/Payum/Payum/issues/585

此时打开了,但是我在那里描述了一个快捷方式。

© www.soinside.com 2019 - 2024. All rights reserved.