1

私の実際の Symfony2 プロジェクトでは、Payum 1.3.4 で PayumBundle を使用して、paypal_express_checkout ファクトリーで支払いを行います。たぶん大丈夫だろうという振る舞いを見つけましたが、Payum について知っている別の人に確認する必要があります。

説明するのは簡単です:

1- 支払いをテストするために Paypal サンドボックスでユーザーが作成され、すべての支払いが「保留中」状態に留まるよう強制するために支払いレビューがアクティブ化されました。

2- 準備ステージは OK に合格し、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();

    ....
}

この時点で、は"captured"$status->getValue()と同じです。しかし、私はこれを見ることができます(明確にするためにチャンクされています):$payment->getDetails()

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

Payum はステータスが Captured であると言っていますが、PayPal (これは問題ありません) は paymen が "Pending" であると言っています。

では、Payum のステータスが「保留中」ではなく「取得済み」になっているのはなぜですか? これでしょ?

支払いの「保留」ステータスを「正しく」確認するにはどうすればよいですか?

Payum Bundle Sandbox で例を確認しましたが、保留中のステータスについては何もありません。

前もって感謝します。

4

1 に答える 1