Trial_period_days : 7 ne semble pas être reconnu dans mes fonctions de nœud. Une idée de pourquoi cela arrive ? Est-ce qu'il me manque une variable ? Publier jusqu'à présent entraînera des erreurs d'intégration...
const subscription = await stripe.subscriptions.create({ customer: customer.id, items: [{ price: "price_1KZ3nTGxUje7SlyIDUfIXkr3" }], payment_settings: { payment_method_options: { card: { request_three_d_secure: "any", }, }, payment_method_types: ["card"], save_default_payment_method: "on_subscription", }, trial_period_days: 7, expand: ["latest_invoice.payment_intent"], });
Pas besoin de payer la facture immédiatement lorsque vous créez un abonnement avec un essai ou un coupon de réduction de 100%. Par conséquent, il n’y a ni PaymentIntent ni client_secret. C'est pourquoi votre validation PaymentIntent échoue. Au lieu de cela, l'abonnement crée un SetupIntent pour collecter le mode de paiement pour une utilisation ultérieure. Vous pouvez passer l'attribut
pending_setup_intent.client_secret
属性 访问SetupIntent的客户端密钥(创建订阅时,您需要扩展pending_setup_intent
). Vous devez ensuite confirmer le SetupIntent sur le frontend. Pour mieux comprendre le fonctionnement de SetupIntents, vous pouvez suivre ce guide : https://stripe.com/docs/ payment/save-and-reuse?platform=web.