Stripe:在网络上使用 Apple Pay 进行订阅

Posted

技术标签:

【中文标题】Stripe:在网络上使用 Apple Pay 进行订阅【英文标题】:Stripe: Use apple pay on the web for a subscription 【发布时间】: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 按钮条纹显示?如果我必须要求付款,是否只是订阅的一个时间间隔,是否可以定期收取此金额?

【问题讨论】:

【参考方案1】:

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

    将付款方式 ID 保存给客户:https://stripe.com/docs/api/payment_methods/attach 将付款方式设置为订阅发票的默认付款方式:https://stripe.com/docs/api/customers/update(通过设置invoice_settings.default_payment_method) 为客户订阅定期价格(例如,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,使用任何名称和任何未来的到期日期。 测试卡显示紫色支付按钮¯_(ツ)_/¯

以上是关于Stripe:在网络上使用 Apple Pay 进行订阅的主要内容,如果未能解决你的问题,请参考以下文章

将 Stripe Apple Pay 按钮添加到 ionic 移动应用程序时出现 SSL 错误

使用条带实现 APPLE PAY

如何验证 ios 设备是不是支持 Apple Pay

苹果手机还原所有设置后apple pay里的卡没了怎么找到?

Apple Pay支付

条纹 - 创造电荷