В Payum Как правильно проверить статус ожидания в платеже?

В моем реальном проекте Symfony2 я использую PayumBundle с Payum 1.3.4 для осуществления платежей с помощью фабрики paypal_express_checkout. Я обнаружил поведение, которое может быть в порядке, но мне нужно подтвердить это с другим человеком, который знает о Payum.

Это просто объяснить:

1- Был создан пользователь в песочнице Paypal для проверки платежей, и был активирован просмотр платежей, чтобы заставить все платежи оставаться в состоянии «ожидание».

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 говорит, что статус Captured, но PayPal (что в порядке) говорит, что paymen находится в ожидании.

Итак, почему статус Payum «захвачен», а не «ожидается»? Это правильно?

Как проверить "правильно" статус "ожидание" в платеже?

Я проверил примеры в песочнице Payum Bundle, но там ничего не говорится о статусе ожидания.

Заранее спасибо.


person Oliver Sosa    schedule 16.09.2016    source источник


Ответы (1)


Проверьте ветку проблемы на GitHub: https://github.com/Payum/Payum/issues/585

Он в это время открыт, но там я описал ярлык.

person Oliver Sosa    schedule 27.09.2017