如何在Stripe中自定义信用卡表单?

13 stripe-payments

我正在使用Stripe配置支付网关,我有一个基本结构,你可以看到你可以在javascript代码中添加样式,但不能构造HTML form以下代码的内容:

$(document).ready(function() {
var stripe = Stripe('pk_test_lf3erqZAzfBDiiNp1wfFkxgv');
var elements = stripe.elements();

var style = {
  base: {
    color: '#303238',
    fontSize: '16px',
    fontFamily: '"Open Sans", sans-serif',
    fontSmoothing: 'antialiased',
    '::placeholder': {
      color: '#CFD7DF',
    },
  },
  invalid: {
    color: '#e5424d',
    ':focus': {
      color: '#303238',
    },
  },
};
var card = elements.create('card', {style: style});
card.mount('#card-element');

});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-2.0.2.min.js"></script>
<script src="https://js.stripe.com/v3/"></script>
<form action="charge.php" method="post" id="payment-form">
  <div class="form-row">
    <label for="card-element">
      Credit or debit card
    </label>
    <div id="card-element">
      <!-- a Stripe Element will be inserted here. -->
    </div>

    <!-- Used to display form errors -->
    <div id="card-errors" role="alert"></div>
  </div>

  <button>Submit Payment</button>
</form>
Run Code Online (Sandbox Code Playgroud)

注意: StackOverflow不运行不显示结果,你可以在https://jsfiddle.net/k16mk5z1/中看到代码的结果

其结果如下:

介绍lacripcióndela imagenaquí

如何自定义表单的设计如下:

介绍lacripcióndela imagenaquí

有一个文档提供参考,但我无法理解它们.

笔记:

从版本3开始,这个新版本通过其javascript插件生成卡片形式的内容

以前在版本2中有一个表单的HTML结构.

Ywa*_*ain 26

您可以对Elements使用单独的字段,例如:http://jsfiddle.net/ywain/whj357u9/

如果您还想收集持卡人的姓名,您需要使用常规<input>字段,并在调用时在第二个参数中提供其内容createToken():http://jsfiddle.net/ywain/eckhnz19/

编辑:如果您希望单独的卡片字段显示卡片品牌图标,您需要自己重新实现该功能.使用该change事件相对容易.这是一个例子:http://jsfiddle.net/ywain/L96q8uj5/