2016-03-22 3 views
1

金額フィールドに静的金額を追加するときはいつでも、それはうまく動作します しかし、私はそれをダイナミックにするとエラーなしの空白ページ/ Stripe_payment/checkoutをこのページに表示します。codeigniterを使用したスト​​ライプ決済は、ダイナミック金額を受け取っていません。

require_once(APPPATH . 'libraries/Stripe/lib/Stripe.php'); 

    // Get the credit card details submitted by the form 
    if(isset($_POST['stripeToken'])){ 
     $token = $_POST['stripeToken']; 
    } 

    $txtPayTotalp = $_POST['txtPayTotalp']; 
    $txtPayIdp = $_POST['txtPayIdp']; 

    $p = array(
     "amount" => $_POST['txtPayTotalp'], 
     "currency" => "aud", 
     "card" => $token, 
     "description" => "hlkglfjfltylthyjl" 
    ); 

    $charge = Stripe_Charge::create($p); 

これは私のコントローラStripe_payment.php

<form class="form-horizontal" id="form-pay" action="<?php echo base_url('index.php/Stripe_payment/checkout'); ?>" method="POST" style="padding-top:10px !important; margin-left: 250px;"> 
      <input type="hidden" name="txtPayTotalp" id="txtPayTotalp" value=""> 
      <input type="hidden" name="txtPayIdp" id="txtPayIdp" value=""> 

     <script id="a1" 
      src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
      data-key="Key" 
      data-image="<?php echo base_url('img/hederImg.png'); ?>" 
      data-name="PREST LAUNDRY" 
      data-description="So Clean............" 
      data-amount="2345" 
      > 
     </script> 
    </form> 

これが私の見解です。 この問題から私を助けてください ありがとうございます。

+0

あなたのコンソールを見て、ストライプがエラーを返していないことを確認してください($ _POSTには配列が出力されたときに – Kisaragi

+0

と表示されているため、 Stripe_Charge :: create($ p); 動的な金額を使用している場合、このステートメントは正しく機能していません。 – Poonam

+0

次に、それは見た目がよくて、私が考えることができるのはあなたが十分に送信していないということです。あなたのPOSTに100を乗じてみてください。 – Kisaragi

答えて

1
// Get the credit card details submitted by the form 
      if(isset($_POST['stripeToken'])){ 
       $token = $_POST['stripeToken']; 
      } 

      // Create a Customer 
      $customer = Stripe_Customer::create(array(
       "source" => $token, 
       "description" => "Test Customer") 
      );  

      $txtPayTotalp = $_POST['txtPayTotalp']; 
      $txtPayIdp = $_POST['txtPayIdp']; 
      $this->session->set_userdata('amount', $_POST['txtPayTotalp']); 

      $val = floatval($this->session->userdata('amount')); 
      $p = array(
       "amount" => $val, 
       "currency" => "usd", 
       "card" => $token, 
       "description" => "Test Payment" 
      ); 

私はvardump($ p)をチェックしました。 amountは文字列形式です。 私は額のデータ型を変更するためにfloatval()を使いました。

$ val = floatval($ this-> session-> userdata( 'amount'));

関連する問題