2013-05-18 94 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與條紋按鈕付費示 和上面選擇的值傳遞給數據量條帶字段。在輸入輸入的金額將不得不乘以100,因爲磁條數據量必須在美分,如何做到這一點

<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> 

無條紋文檔。

+5

我不明白投票巨魔。這不是一個合法的問題嗎? – user2320607

回答

9

先用一個普通按鈕替換腳本:

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

然後插入這樣的腳本。在我的情況下,我的單選按鈕有一個「交易」的名稱。我通過它們循環找到所選的一個,然後在條帶打開函數中插入正確的值和說明:

 <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>