条纹自定义金额字段

时间:2013-05-18 00:33:38

标签: javascript

Stripe有一个新的非常简单的支付卡按钮。 我想破解它,所以我可以通过自定义金额。

我有一个带表格的div

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

或输入按钮

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

没有Stripes doc如何做到这一点。

1 个答案:

答案 0 :(得分: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>