我目前正在维护在丹麦使用的应用。我们使用Stripe API从服务器进行付款,流程如下:用户输入CC,应用程序端对卡进行令牌化,然后发送到服务器,服务器通过API将付款发送到Stripe。
我试图弄清楚要与SCA一起使用需要进行哪些更改,我阅读了有关使用付款方式的文档,但我们没有使用该api。
我们是否需要从服务器传递一些东西给用户以进行额外的身份验证?
感谢您的输入!
答案 0 :(得分:0)
如果您不想/不需要使用Elements,那么除了PaymentIntents API之外,还有新的SCA就绪Checkout V3。
在服务器端尽早创建Checkout会话
using ReactiveUI;
using System.Collections.Generic;
namespace Demo
{
public class MainViewModel : ReactiveObject
{
public IEnumerable<string> SomeList => new List<string> { "foo", "bar" };
}
}
重定向用户前面的Checkout
const session = stripe.checkout.sessions.create({
payment_method_types: ['card'],
customer: stripe_customer_id,
success_url: `https://API/v1/cart/${cart.id}/pay`,
cancel_url: `https://API/v1/cart/${cart.id}/cancel`,
line_items: [{
name: 'Bike',
description: 'Super cool bike...',
images: 'https://UI/product.png',
amount: 100,
currency: 'USD',
}]
payment_intent_data: {
capture_method: 'automatic', // or 'manual'
}});
3a。用户将从带区托管的结帐重定向到/v1/cart/${cart.id}/pay 此时您将要完成订单。
3b。或者,设置一个Webhook并处理传入的通知
注意:如果您决定使用capture_method = manual,那么您将希望像这样捕获付款:
const result = await stripe.redirectToCheckout({ sessionId: session.id });