web-dev-qa-db-fra.com

Paiements Stripe: Source vs Token / Carte?

Je travaille à la configuration de paiements récurrents avec stripe. J'utilise des éléments react-stripe pour collecter des informations sur la carte et il semble qu'il y ait deux façons de sauvegarder une carte pour plus tard:

  • this.props.stripe.createToken()
  • this.props.stripe.createSource()

Créez ensuite un client sur le backend:

  • stripe.customers.create({ source: tokenId })
  • stripe.customers.create({ source: sourceId })

Le résultat dans le tableau de bord à rayures:

  • tokenId

    • carte tokenId enter image description here
  • sourceId

    • sourceId source

enter image description here

  • carte sourceId

enter image description here

Ma question est quelle est la différence entre ces deux modèles? Dois-je utiliser l'un au lieu de l'autre? Je remarque dans le modèle tokenId que la carte indique que la vérification cvc/Zip a réussi, tandis que la carte ne le dit pas dans le modèle sourceId. Mais le modèle sourceId dit également explicitement que la carte est facturable et réutilisable, cela implique-t-il que la carte enregistrée à l'aide du modèle tokenId n'est pas réutilisable? Les journaux/événements de la carte sourceId sont-ils plus utiles? La structure d'objet de retour pour les deux modèles est également différente.

Toute aide serait très appréciée, merci d'avance!

22
connor

Le jeton n'est qu'un résultat de valeur de chaîne après la tokenisation des détails de la carte utilisateur. Vous pouvez utiliser le jeton ou la source pour un paiement unique ou d'abonnement (à condition de ne pas l'utiliser pour facturer immédiatement avant de le joindre au client).

Mais la source vous donne plus d'options car c'est la seule option que vous avez lorsque vous acceptez d'autres options de paiement telles que alipay ou wechat pay, etc., vous ne pouvez pas utiliser l'api à jeton avec un autre mode de paiement autre que la carte. Comme @Daniel Winterstein l'a dit, le jeton était l'ancienne API Stripe et Stripe a décidé de le conserver juste pour une compatibilité descendante, mais vous devez utiliser la source comme API standard pour capturer les détails de paiement.

10
kasongoyo