Payum / paypal结账:重定向我完成行动后该怎么做

时间:2015-10-08 10:32:09

标签: symfony paypal payum

我正在尝试使用payum解决方案将paypal checkout集成到我的网站。

第1步:付款页面,验证触发重定向到贝宝:好的 第2步:用户使用其凭据登录并授权付款:确定

步骤3:用户正确地重定向到我的doneAction,并使用正确的令牌。令牌状态被“捕获”:确定

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

下面是我的基于payum doc的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(),
            ),
        ));
    }

感谢阅读。

1 个答案:

答案 0 :(得分:2)

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

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

如果您的客户为帐户付款,则必须启用该帐户。

如果您的客户为电子书付费,您必须向他发送下载链接

所以完全取决于放在那里的东西。如果捕获的状态等于购买了你的东西。如果它是不同的东西,等待例如根据该状态行事。失败意味着用户没有付款,所以不要向他发货。

你没有返回一个json,它可能是带有收据等的重定向或html页面