首页 > 解决方案 > 如何使用 Stripe ConfirmCardPayment 的元素列表

问题描述

根据Stripe Docpayment_method.card接受一个对象作为值,文档使用cardElement

stripe
  .confirmCardPayment('{PAYMENT_INTENT_CLIENT_SECRET}', {
    payment_method: {
      card, // Uses the mounted card element
      billing_details: {
        name: 'Jenny Rosen',
      },
    },
  })
  .then(function(result) {
    // Handle result.error or result.paymentIntent
  });

如何使用元素列表而不是单个 cardElement 复制相同的方法?

代替...

const card = elements.create('card');
card.mount('#card-element');

我想用...

const cardNumber = elements.create('cardNumber')
cardNumber.mount('#card-number')

const cardExpiry = elements.create('cardExpiry')
cardExpiry.mount('#card-expiry')

const cardCvc = elements.create('cardCvc')
cardCvc.mount('#card-cvc')

标签: apisdkstripe-paymentselementpayment

解决方案


只要您使用相同的实例elements来创建和挂载所有单独的卡片元素,您就可以将任何挂载的卡片部件传递给confirmCardPayment(). Stripe.js 会自动将它们组合在一起。例如:

stripe
  .confirmCardPayment('{PAYMENT_INTENT_CLIENT_SECRET}', {
    payment_method: {
      cardNumber, // Uses the mounted card element
      billing_details: {
        name: 'Jenny Rosen',
      },
    },
  })
  .then(function(result) {
    // Handle result.error or result.paymentIntent
  });

推荐阅读