【问题标题】:Stripe: Use apple pay on the web for a subscriptionStripe:在网络上使用 Apple Pay 进行订阅
【发布时间】:2021-05-14 06:08:42
【问题描述】:

在使用 Stripe 设置 Apple pay 的 documentation 中,这些步骤告诉您创建一个带有条纹元素的支付请求,以显示 Apple Pay 按钮 - 示例请求是一次性直接收费。您必须有付款请求才能显示该按钮 - 那么如何为订阅创建付款请求?支付请求对象是条带元素的东西,在条带api中没有描述。

var elements = stripe.elements();
var prButton = elements.create('paymentRequestButton', {
  paymentRequest: paymentRequest,
});

// Check the availability of the Payment Request API first.
paymentRequest.canMakePayment().then(function(result) {
  if (result) {
    prButton.mount('#payment-request-button');
  } else {
    document.getElementById('payment-request-button').style.display = 'none';
  }
});

使用信用卡的流程完全不同。它不需要任何付款请求,您只需从条纹元素卡片表单创建一个令牌即可创建一个客户。

Stripe support page 表示使用 Apple Pay 进行定期付款 只是说“Apple Pay 将创建一个令牌”,但不提供如何在不收取一次性费用的情况下设置它的线索。

如何在不请求付款的情况下让 Apple Pay 按钮条纹显示?如果我必须要求付款,是否只是订阅的一个时间间隔,是否可以定期收取此金额?

【问题讨论】:

    标签: javascript stripe-payments


    【解决方案1】:

    您使用 Stripe.js 发出的付款请求实际上并未处理付款。它只是确认用户的浏览器支持 Apple/Google Pay,并显示带有提供的付款详细信息的付款表。用户授权付款单上描述的付款后,Stripe 将生成付款方式。此时,如果您结束集成,则永远不会向用户收费 - 您只需拥有一个 Stripe 付款方式 ID。此时您需要做的是:

    1. 将付款方式 ID 保存给客户:https://stripe.com/docs/api/payment_methods/attach
    2. 将付款方式设置为订阅发票的默认付款方式:https://stripe.com/docs/api/customers/update(通过设置invoice_settings.default_payment_method
    3. 为客户订阅定期价格(例如,https://stripe.com/docs/billing/subscriptions/fixed-price

    你会因为从支付请求中接收到支付方式而触发上述所有逻辑:

    paymentRequest.on('paymentmethod', function(ev) {
      const paymentMethodId = ev.paymentMethod.id;
    
      // Send ID to your server to:
      //  a) attach it to a Customer
      //  b) set it as the default for subscription invoices
      //  c) create the subscription
    });
    

    【讨论】:

    • 谢谢!由于没有https,因此似乎无法在localhost上看到apple pay按钮,对吗?
    • 没错,你需要通过像 ngrok.io 这样的隧道服务来传输你的本地主机 URL:ngrok.com。它最基本的形式是免费的,对于测试 Apple/Google Pay 非常有用
    • 谢谢。旁注,如果条件支持,我注意到docs page 会显示苹果支付按钮......但出于某种原因,即使使用 chrome 保存的卡,我也看不到它。知道为什么吗?
    • 您可以尝试将 Stripe 的一张测试卡保存到 Chrome 中,然后看看您是否看到按钮?例如,尝试4242424242424242,使用任何名称和任何未来的到期日期。
    • 测试卡显示紫色支付按钮¯_(ツ)_/¯
    猜你喜欢
    • 2022-07-21
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 2016-04-24
    • 2020-05-05
    • 2017-02-16
    • 2021-03-13
    相关资源
    最近更新 更多