web-dev-qa-db-ja.com

Stripeで郵便番号を収集しないでください

支払いにStripe v3を使用しようとしています。ガイドはこちら https://stripe.com/docs/elements

郵便番号を収集したくありません。しかし、私はその方法を理解できません。私のHTMLは:

<form>
  <label>
    <div id="card-element" class="field is-empty"></div>
    <span><span>Credit or debit card</span></span>
  </label>
  <button type="submit">Pay</button>
  <div class="outcome">
    <div class="error" role="alert"></div>
    <div class="success">
      Success! Your Stripe token is <span class="token"></span>
    </div>
  </div>
</form>

また、javascriptは次のとおりです。

var card = elements.create('card', {
  style: {
    hidePostalCode: true,
    base: {
      iconColor: '#666EE8',
      color: '#31325F',
      lineHeight: '40px',
      fontWeight: 300,
      fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
      fontSize: '15px',

      '::placeholder': {
        color: '#CFD7E0',
      },
    },
  }
});

card.mount('#card-element');

ただし、郵便番号は常に要求されます。

enter image description here

ここにElementタグのガイドがあります https://stripe.com/docs/stripe.js#element-types 。しかし、カード番号、CVC、カードの有効期限をどこで収集できるかはわかりませんが、郵便番号はわかりません...

16
Mark

ありがたいことに、これは非常に簡単な修正方法です! hidePostalCode: trueは、ここでoptionsの下にネストされるのではなく、styleの最上位のプロパティでなければなりません。

https://stripe.com/docs/stripe.js#element-options

var card = elements.create('card', {
hidePostalCode: true,
style: {
 base: {
  iconColor: '#666EE8',
  color: '#31325F',
  lineHeight: '40px',
  fontWeight: 300,
  fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
  fontSize: '15px',

  '::placeholder': {
    color: '#CFD7E0',
   },
  }, 
 } 
});

card.mount('#card-element');
34
duck

郵便番号コレクションを削除するには、次のようにjavascriptスニペットでこれを実行します。

 var style = {//styling
              //lots of style stuff
             };
 var card = elements.create('card', {hidePostalCode: true, style: style});
10