2013-05-18 9 views
9

Pasek ma nowy łatwy łatwy sposób płatności za pomocą przycisku karty. Chcę go zhakować, aby móc podać niestandardową kwotę.Paski niestandardowe pole kwoty

Mam div z formularzem

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

lub przycisku wejściowego

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

gdy użytkownik kliknie przycisk koszuli kupić dz do wynagrodzenia z przyciskiem paskiem pokazano i wybrana powyżej wartość jest przekazywana do pola paskowego ilości danych. Kwota wpisana na wejściu musi być pomnożona przez 100, ponieważ pasek ilość danych musi być w centów

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

Brak Stripes doc, w jaki sposób to zrobić.

+5

Nie rozumiem trolli z głosowaniem w dół. Czy nie jest to uzasadniony problem? – user2320607

Odpowiedz

9

Pierwszy zastąpić skrypt z normalnym przyciskiem:

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

następnie wstawić skrypt takiego. W moim przypadku moje przyciski opcji mają nazwę "umowa". Przeszukuję je, aby znaleźć tę, która została wybrana, a następnie wstaw odpowiednią wartość i opis w funkcji otwierania pasków:

 <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> 
Powiązane problemy