2015-10-08 49 views
1

我正在嘗試使用Payum解決方案將PayPal結帳整合到我的網站。Payum/paypal結帳:重定向到做完動作後要做什麼

第1步:付款頁面,以驗證觸發重定向到PayPal:OK 2步:用戶使用自己的憑據登錄和授權支付:OK

第3步:用戶正確地重定向到我的doneAction ,用正確的標記。令牌狀態爲「已捕獲」:OK

第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(), 
      ), 
     )); 
    } 

感謝您的閱讀。

回答

2

一般來說,你必須把有你的業務邏輯,例如

如果你賣的產品

,你必須支付給標記訂單並通知您的送貨服務出貨的產品。

如果您的客戶爲某個帳戶付款,則必須啓用該帳戶。

如果您的客戶支付的電子書,你必須發送一個下載鏈接到他

所以這完全取決於什麼放在那裏。如果狀態被捕獲,這相當於購買做你的事情。如果它有所不同,則等待例如按照該狀態行事。失敗意味着用戶沒有付費,所以不要給他任何東西。

你不必返回一個JSON,它可以用收據等

+0

重定向或HTML頁面感謝你爲這個。 但我還是不明白。使用Paypal Check,我不必在第4步顯示驗證按鈕嗎? – MatMouth

+0

顯示驗證按鈕,出於何種原因?付款已經完成。 –

+0

@MaksimKotlyar以及如何處理狀態未決?如何查詢網關以獲取狀態? – EricSonaron