我正在尝试使用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(),
),
));
}
感谢阅读。
答案 0 :(得分:2)
一般来说,你必须把你的业务逻辑放在那里,例如
如果您销售产品,则必须将订单标记为已付款并通知您的送货服务以运送产品。
如果您的客户为帐户付款,则必须启用该帐户。
如果您的客户为电子书付费,您必须向他发送下载链接
所以完全取决于放在那里的东西。如果捕获的状态等于购买了你的东西。如果它是不同的东西,等待例如根据该状态行事。失败意味着用户没有付款,所以不要向他发货。
你没有返回一个json,它可能是带有收据等的重定向或html页面