22
votes

Taux de taxe dans le nouveau Stripe Checkout


J'ai implémenté le nouveau Stripe Checkout sur mon NodeJS server , mais je ne peux pas spécifier le taux de taxe pour la facturation.

Selon ce que je comprends, les taux de taxe doivent être spécifiés dans l' API d'intention de paiement . Le fait est que la nouvelle Checkout crée automatiquement une Payment Intent via sa CreateSession (voir payment_intent_data ), mais je ne suis pas en mesure d'insérer un taux de taxe lors de sa création.

Comment cela peut-il être fait? Ce que je veux faire, c'est que l'utilisateur connaisse le% de taxe à la fois dans l' Checkout UI et dans la email invoice finale par email invoice .

Voici mon code:

return stripe.checkout.sessions.create({
    payment_method_types: [paymentMethod],
    line_items: [{
        name: name,
        description: description,
        images: [imageUrl],
        amount: amount,
        currency: currency,
        quantity: 1
    }],
    success_url: successUrl,
    cancel_url: cancelUrl,
    customer: stripeId,
    payment_intent_data: {
        receipt_email: email,
        metadata: {
            userId: userId,
            amount: amount,
            currency: currency,
            ref: ref,
            stripeId: stripeId,
            details: details
        }
    }
}).then(session => {
    return res.send(session)


6 commentaires

Les taux de taxe s'appliquent uniquement aux objets Invoice , qui sont principalement utilisés en conjonction avec les Subscriptions , et non aux «éléments de ligne» de paiement unique créés par cette session de paiement. stripe.com/docs/api/subscriptions/… stripe.com/docs/api/payment_intents/create Je pourrais envoyer un e-mail à Stripe avec une demande de fonctionnalité à ce sujet!


@ canard merci pour votre réponse. Il n'y a donc aucun moyen d'insérer le taux de taxe dans des «éléments de campagne» de paiement unique? :( Puis-je indiquer à l'utilisateur le% de taxe facturée?


Je veux dire, c'est une liste de hachages, donc je suppose que vous pouvez ajouter votre propre élément de campagne pour le montant de la taxe, mais cela n'utiliserait pas le taux de taxe de Stripe.


@ r4id4 Je recherche une configuration identique. Avez-vous réussi à y parvenir et si oui, comment?


Malheureusement non


Il semble que la fonctionnalité soit bientôt mise en œuvre mais elle est toujours en version bêta, vous devrez leur écrire pour leur demander l'accès: checkout-beta-taxes@stripe.com, vous pouvez trouver des informations ici =>stripe.com/docs/ paiements / paiement / taxes # taux de taxes fixes


3 Réponses :


7
votes

Au moment de cette réponse, Stripe Checkout ne prend pas en charge les taux de taxe.

Une alternative consiste à collecter les détails de paiement en utilisant le mode "configuration" Checkout [1], puis à créer un PaymentIntent [2] à partir de votre serveur avec le PaymentMethod collecté lors du paiement et le taux de taxe que vous souhaitez utiliser.

[1] https://stripe.com/docs/payments/checkout/collecting

[2] https://stripe.com/docs/api/payment_intents/create


3 commentaires

w1zeman1p pouvez-vous élaborer sur le point [2] s'il vous plaît? Je ne trouve aucune référence dans la documentation de l'API PaymentIntent à l'ajout d'un taux de taxe. default_tax_rates et tax_rates apparaissent sur les factures et les abonnements, mais pas sur PaymentIntents.


Désolé pour la confusion. PaymentIntent vous permet de spécifier le montant total. Vous utiliseriez donc le mode de configuration Checkout pour stocker la méthode de paiement, puis calculez vos propres taxes et ajoutez-les au sous-total et créez une tente de paiement.


Merci w1zeman1p, c'est là que je suis arrivé à la fin - calculer mes impôts côté application et envoyer simplement le total à Stripe. Je m'occuperai de la paperasse fiscale en dehors de Stripe.



0
votes

Support de paiement Stripe maintenant Taux de taxe.

A partir de la version 35.12.0 de "Stripe.net", vous pouvez définir un taux de taxe par défaut lorsque vous créez une nouvelle session.

var options = new SessionCreateOptions {
    PaymentMethodTypes = new List<string> {
        "card",
    },
    SubscriptionData = new SessionSubscriptionDataOptions {
        DefaultTaxRates = new List<string> {
            _STRIPE_OPTIONS.Tax // Your tax rate id
        },
        Items = new List<SessionSubscriptionDataItemOptions> {
            new SessionSubscriptionDataItemOptions {
                Plan = request.PlanId, // Your plan id
            },
        },
    },
    Customer = customer.StripeCustomerId,
    SuccessUrl = _STRIPE_OPTIONS.SuccessUrl,
    CancelUrl = _STRIPE_OPTIONS.CancelUrl
};

var service = new SessionService();
var session = service.Create(options);

N'oubliez pas de mettre à jour votre version de webhook si vous en utilisez une.


2 commentaires

Malheureusement, cela ne fonctionne que pour les abonnements ...


Oui, à la lecture de la documentation support.stripe.com/questions/ ... on dirait que si nous passons en mode: paiement il faut calculer la taxe avant d'envoyer le paiement. J'ai fini par passer la TVA comme élément de campagne si nécessaire.



0
votes

Les taux de taxe sont maintenant en version bêta sur Stripe Checkout pour les paiements uniques, voir ici: https://stripe.com/docs/payments/checkout/taxes

Vous pouvez envoyer un e-mail pour rejoindre le programme bêta et l'essayer.

Pour le moment, notez que les taux de taxe dynamiques ne sont pris en charge qu'aux États-Unis, en Europe et dans certains pays spécifiés ici ( https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-dynamic_tax_rates ) alors faites attention


0 commentaires