退出卡表单后,客户端应用程序调用Stripe API,用于未来付款



我正在将Stripe 3D安全添加到React Native应用程序中,下面的文档位于https://stripe.com/docs/payments/save-and-reuse--保存卡,并在服务完成后注销会话。

为了保存卡片,我的应用程序使用WebView组件加载HTML,使用<script src="https://js.stripe.com/v3/"></script>。它成功地保存了客户端机密并退出了卡表单。

问题:在稍后的付款时间,如果需要下一步进行强客户身份验证,如何再次获取条纹对象以便调用stripe.confirmCardPayment()

我在下面尝试过,但失败了——catch(错误(,错误为空。

import {loadStripe} from '@stripe/stripe-js';
confirmPayment = async () => {
try {
const stripe = await loadStripe("pk_test_...");
//    stripe
//       .confirmPaymentIntent('{PAYMENT_INTENT_CLIENT_SECRET}', {
//           payment_method: '{PAYMENT_METHOD_ID}',
//           return_url: 'https://example.com/return_url',
//       })
//       .then(function(result) {
//
//       });
} catch(error) {
console.error(`failed to load stripe ${JSON.stringify(error)}`);
}

您可以通过多种方式使用stripe.confirmCardPayment。在您的情况下,您可能已经有了PaymentMethod ID,这意味着您可以使用该PaymentMethod标识而不是Elements对象来确认PaymentIntent客户端:

stripe
.confirmCardPayment('{PAYMENT_INTENT_CLIENT_SECRET}', {
payment_method: '{PAYMENT_METHOD_ID}',
})
.then(function(result) {
// Handle result.error or result.paymentIntent
});

最新更新