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 带有收据的页面等
我正在尝试使用 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 带有收据的页面等