2016-12-26 95 views
0

我在我的symfony項目中出現了條紋檢出錯誤。下面是默認使用結帳我的觀點:未定義的索引stripeToken

<form action="" method="POST"> 
 
    <script 
 
      src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
 
      data-key="pk_test_C9N5xzeBHyGplmZwpsbyciS6" 
 
      data-amount="9999" 
 
      data-name="Demo Site" 
 
      data-description="Widget" 
 
      data-image="https://stripe.com/img/documentation/checkout/marketplace.png" 
 
      data-locale="auto" 
 
      data-zip-code="true" 
 
      data-currency="eur"> 
 
    </script> 
 
</form>

我控制器的方法:

public function paiementAction(Request $request) 
{ 
    \Stripe\Stripe::setApiKey("sk_test_5W9Z1CdBKN2G46sTa2O5KI3T"); 

    $token = $_POST['stripeToken']; 

    try { 
     $charge = \Stripe\Charge::create(array(
      "amount" => 1000, // Amount in cents 
      "currency" => "eur", 
      "source" => $token, 
      "description" => "Example charge" 
     )); 
     return $this->redirectToRoute("chk38_platform_confirmation"); 
    } catch (\Stripe\Error\Card $e) { 
     // The card has been declined 

     return $this->redirectToRoute("chk38_platform_commande"); 
    } 

}` 

Error Symfony

謝謝您的幫助

+0

爲什麼要使用PHP的全局?相反,使用'Request'實例。例如:'$ request-> request-> get('stripeToken')' –

+0

我已經試過這種方式,但我仍然有這個錯誤: [鏈接](http://www.hostingpics.net/viewer。 PHP?ID = 411187error.png) – chk35

回答

0

這個問題的$_POST['stripeToken']通常在您的代碼未運行此位代碼之前通過Stripe Checkout創建Token對象時,通常會發生。

我建議你檢查你的條紋帳戶的API日誌(https://dashboard.stripe.com/test/logs/overview),並確保你實際上調用此創建Charge片段之前正確創建通過條紋結帳一個Token對象。

您可能還需要閱讀他們的Checkout PHP教程(https://stripe.com/docs/checkout/php),以更好地瞭解所有部分如何組合在一起。如果您仍然有問題,您可能需要通過https://support.stripe.com/email寫信給他們的支持人員,因爲您可能不想在公開場合討論私人帳戶的具體內容。