2016-09-16 44 views
1

在我實際的Symfony2項目中,我使用PayumBundle和Payum 1.3.4來使用paypal_express_checkout工廠進行支付。我發現了一種可能沒有問題的行爲,但我需要與另一個瞭解Payum的人確認。Payum中如何在付款中檢查「正在等待」狀態?

它只是解釋:

1-它的建立在貝寶沙盒的用戶測試支付,並且它激活了付款審查,迫使所有的款項停留在「待定」狀態。

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()我可以看到這個(chuncked爲清楚起見):

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

Payum說狀態被捕獲,但貝寶(至極是確定)說,paymen被「待定」。

那麼,爲什麼Payum狀態是「被捕獲」而不是「掛起」?這是正確的嗎?

如何在付款中「正確」檢查狀態「掛起」?

我檢查了Payum Bundle Sandbox中的例子,但沒有任何關於待定狀態的信息。

在此先感謝。

回答

相關問題