Payum/paypal checkout : 将我重定向到完成操作后要做什么

Payum/paypal checkout : What to do after redirecting me to done action

我正在尝试使用 payum 解决方案将 paypal 结账整合到我的网站。

第 1 步:支付页面,验证触发重定向到 paypal:OK 第 2 步:用户使用他的凭据登录并授权付款:OK

第 3 步:用户使用正确的令牌正确重定向到我的 doneAction。令牌状态是 "captured" : OK

第 4 步:我不知道下一步要做什么来验证付款。我知道我必须验证付款,但如何验证?

下面是我基于 payum 文档的 doneAction :

public function doneAction(Request $request){
        $token = $this->get('payum.security.http_request_verifier')->verify($request);

        $gateway = $this->get('payum')->getGateway($token->getGatewayName());

        $gateway->execute($status = new GetHumanStatus($token));
        //die(dump($status->isCaptured()));
        $payment = $status->getFirstModel();

        if ($status->isCaptured()) {
             // What to do here
        }

        return new JsonResponse(array(
            'status' => $status->getValue(),
            'payment' => array(
                'total_amount' => $payment->getTotalAmount(),
                'currency_code' => $payment->getCurrencyCode(),
                'details' => $payment->getDetails(),
            ),
        ));
    }

感谢阅读。

一般来说,你必须把你的业务逻辑放在那里,例如

如果您销售产品,则必须将订单标记为已付款并通知您的送货服务发货。

如果您的客户为帐户付费,您必须启用它。

如果您的客户支付了电子书费用,您必须向他发送下载link

所以完全取决于放在那里的内容。如果捕获状态等于购买,请执行您的操作。如果它是不同的,例如根据该状态行事。 failed 表示用户没有付款,所以不要向他发送任何东西。

您没有 return json,它可以是重定向或 html 带有收据的页面等