2013-05-18 34 views
9

ストライプには、カード付きの新しいかんたん決済があります。 私はそれをカスタマイズした金額を渡すことができるようにそれをハックしたいです。ストライプカスタム金額フィールド

ユーザーが購入シャツのボタンをクリックしたときに、私はストライプのボタンでの支払いをdiv要素が とフォーム

<div> 
<form> 
<select> 
<option value"1000">$10</option> 
<option value:2000>$20</option> 
</select> 

OR入力ボタン

<input id="amount" /> 
<button id="buy">Buy Shirt</button> 
</form> 
</div> 

とのdiv示されています上記で選択された値は、データ量ストライプフィールドに渡されます。ストライプデータ量はセントでこれを行う方法の

<div id='form' style="display:none"> 
<form action="" method="POST"> 
<script 
src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" 
data-key="pk_kgwan(blah blah)" 
data-amount="2000" 
data-name="Demo Site" 
data-description="2 widgets ($20.00)" 
data-image="/128x128.png"> 
</script> 
</form> 
</div> 

んStripesのドキュメントである必要がありますので、入力に入力された金額は、100を掛けなければならないであろう。

+5

私はダウン投票荒らしを理解していません。これは正当な問題ではありませんか? – user2320607

答えて

9

まず、通常のボタンでスクリプトを置き換える:

  <button id="customButton" class="btn btn-primary">Pay</button> 

は、このようなスクリプトを挿入します。私の場合、ラジオボタンの名前は「deal」です。ストライプopen関数で正しい値と説明を挿入し、選択されているものを見つけるためにそれらを通して私がループ:

 <script> 
     $('#customButton').click(function(){ 
      var token = function(res){ 
      var $input = $('<input type=hidden name=stripeToken />').val(res.id); 
      $('form').append($input).submit(); 
      }; 

      var dealValue; 
      var deal = document.getElementsByName('deal'); 
      for (var i = 0, length = deal.length; i < length; i++) { 
       if (deal[i].checked) { 
        dealValue = deal[i].value; 
       } 
      } 

      var description; 
      if(dealValue == 1000) 
       description = "small t-shirt"; 
      else if(dealValue == 2000) 
       description = "medium t-shirt"; 
      else if(dealValue == 3000) 
       description = "large t-shirt"; 

      StripeCheckout.open({ 
      key:   'putyourkeyhere', 
      amount:  dealValue, 
      currency: 'usd', 
      name:  'putyourname', 
      description: description, 
      panelLabel: 'Checkout', 
      token:  token 
      }); 

      return false; 
     }); 
     </script> 
関連する問題