Paiements Konbini
Mise en garde
Stripe propose automatiquement à vos clients des options de moyens de paiement selon leur devise, les restrictions sur les moyens de paiement et d’autres paramètres. Nous vous recommandons de configurer vos moyens de paiement à partir du Dashboard Stripe en suivant les instructions indiquées dans Accepter un paiement.
Si vous souhaitez continuer à configurer manuellement les moyens de paiement proposés à vos clients avec Checkout, utilisez ce guide (par exemple, pour accepter des paiements en mode abonnement). Sinon, migrez vers le Dashboard.
Konbini est un moyen de paiement à usage unique qui nécessite que le client effectue quelques actions supplémentaires pour réaliser son paiement. Les clients doivent fournir un code de paiement, un numéro de confirmation et payer en espèces dans un commerce de proximité japonais. Stripe vous enverra une notification une fois le paiement terminé.
Déterminer la compatibilité
Une session Checkout doit remplir toutes les conditions suivantes pour prendre en charge les paiements Konbini :
- Le tarif de tous les postes doit être exprimé dans la même devise (JPY).
- Vous ne pouvez utiliser que des postes ponctuels (les postes récurrents dans le cadre de plans d’'abonnement ne sont pas pris en charge).
Accepter un paiement
Note
Avant d’utiliser ce guide, commencez par créer une intégration permettant d’accepter un paiement avec Checkout.
Use this guide to learn how to enable Konbini—it shows the differences between accepting a card payment and using Konbini.
Activer Konbini en tant que moyen de paiement
Lorsque vous créez une nouvelle session Checkout, vous devez effectuer ce qui suit :
- Ajouter
konbini
à la listepayment_method_types
- Veiller à ce que tous vos
line_items
utilisent la devisejpy
.
Options supplémentaires de moyens de paiement
Les options de moyens de paiement peuvent être définies dans les options des moyens de paiement sous la clé konbini
.
Champ | Valeur | Obligatoire | Valeur par défaut |
---|---|---|---|
expires_after_days | Nombre de jours calendaires avant l’expiration d’un paiement Konbini en attente. Les valeurs valides sont comprises entre 1 et 60 jours. Consultez la page Expiration. | Non | 3 |
Expiration
Les paiements Konbini en attente expirent juste avant minuit (23 h 59 m 59 s JST) à la date donnée. Par exemple, si le paramètre expires_after_days
est défini sur 2 et que le PaymentIntent est confirmé le lundi, le paiement Konbini en attente expirera le mercredi à 23 h 59 m 59 s heure du Japon (UTC+9).
Numéro de téléphone
Sur le formulaire de paiement de Konbini, vos clients peuvent fournir un numéro de téléphone à utiliser comme numéro de confirmation. Cela simplifie le processus de paiement dans une supérette où l’interface utilisateur demande au client de fournir un code de paiement et son numéro de confirmation. Ces deux éléments sont pris en compte dans les instructions de paiement que Stripe affiche après que le client a soumis son formulaire de paiement. Si votre client ne fournit pas de numéro de téléphone, Stripe génère un numéro de confirmation aléatoire.
Stripe bloque de manière proactive les numéros de téléphone qui ne sont composés que de zéros.
Rediriger vers la page coupon hébergée par Stripe
Note
Inversement aux paiements par carte bancaire, le client ne sera pas redirigé vers le lien success_url lors d’un paiement avec Konbini.
Une fois l’envoi du formulaire Checkout effectué, le client est redirigé vers la page hosted_voucher_url
. Le client peut consulter les instructions de paiement de la page hébergée pour obtenir plus de détails sur la finalisation du paiement. Vous pouvez afficher la page sur les ordinateurs de bureau et les appareils mobiles ou bien l’imprimer.
Stripe envoie un événement payment_intent.requires_action lors de la création d’un coupon Konbini. Si vous souhaitez envoyer à vos clients un e-mail contenant un lien vers les instructions de paiement du coupon, localisez le hosted_voucher_url
dans payment_intent.next_action.konbini_display_details. En savoir plus sur le suivi d’un PaymentIntent avec des webhooks.
Stripe vous permet de personnaliser les interfaces utilisateur sur la page Paramètres de marque. Vous pouvez appliquer les paramètres de marque suivants au coupon :
- Icône : l’image représentant votre marque et votre dénomination sociale publique
- Couleur d’accentuation : utilisée comme couleur du bouton Copier le numéro
- Couleur de marque : utilisée comme couleur d’arrière-plan
Traiter vos commandes
Konbini étant un moyen de paiement à notification différée, vous devez utiliser une méthode telle que des webhooks pour suivre l’état des paiements et gérer le traitement des commandes. En savoir plus sur la configuration des webhooks et le traitement des commandes.
Les événements suivants sont envoyés lorsque l’état du paiement change :
Nom de l’événement | Description | Étapes suivantes |
---|---|---|
Le client a envoyé le formulaire Checkout. Stripe a généré le coupon Konbini. Vous pouvez envoyer le | Attendez que le client s’acquitte du paiement dans un magasin Konbini. | |
checkout.session.async_payment_succeeded | Le client s’est acquitté du paiement du coupon Konbini. Le PaymentIntent bascule sur succeeded . | Traitez la commande de biens ou de services de votre client. |
checkout.session.async_payment_failed | Le coupon Konbini a expiré, ou le paiement a échoué pour un autre motif. Le PaymentIntent revient à l’état requires_payment_method . | Contactez votre client par e-mail et demandez-lui de passer une nouvelle commande. |
Tester votre intégration
Lors du test de votre intégration Checkout, sélectionnez le moyen de paiement Konbini, puis cliquez sur le bouton Payer.
Renseignez les valeurs suivantes dans le formulaire Checkout pour tester différents scénarios. Vous pouvez effectuer vos tests avec un numéro de confirmation spécial et/ou un modèle d’e-mail, le numéro de confirmation prévalant lorsque les deux éléments sont fournis.
Numéro de confirmation | Description | |
---|---|---|
|
| Simule un paiement Konbini qui réussit après 3 minutes. Le webhook Exemple : hanako@test.com |
|
| Simule un paiement Konbini qui réussit immédiatement. Le webhook Exemple : succeed_immediately@test.com |
|
| Simule un paiement Konbini qui expire immédiatement. Le webhook Le champ Exemple : expire_immediately@test.com |
|
| Simule un paiement Konbini qui ne réussit jamais. Il expire au bout de 3 minutes et le webhook Le champ Exemple : expire_with_delay@test.com |
|
| Simule un paiement Konbini qui ne réussit jamais. Il expire conformément à la valeur du champ Exemple : fill_never@test.com |
Afin de tester les erreurs touchant au numéro de confirmation, vous pouvez utiliser les valeurs suivantes :
01234567890
simule le rejet d’un numéro de confirmation.00000000000
entraîne une erreur de validation.
Expiration et annulation
Une fois la date définie par la valeur expires_at
dans le next_action.konbini_display_details, le client ne peut plus initier le traitement du paiement Konbini en attente dans un kiosque de supérette. Cependant, si un reçu de paiement valide est émis avant l’échéance, il pourra finaliser le paiement à la caisse après la date expires_at
.
Dans ce cas, il existe une marge de manœuvre pour éviter des échecs de paiement prématurés. L’état du PaymentIntent passe à requires_payment_method
. Vous pouvez alors annuler ou confirmer le PaymentIntent avec un autre moyen de paiement.
Un paiement Konbini en attente peut également être annulé une fois confirmé, avant même la date spécifiée par next_action.konbini_display_details.expires_at
. De la même manière, la mise à jour du PaymentIntent ou sa confirmation avec un autre moyen de paiement annulera de manière implicite le paiement Konbini existant.
If the customer is currently paying for the Konbini payment at the convenience store, the cancellation request will fail. Cancellation may be re-attempted if the customer abandons the payment attempt and after the payment slip expires.
Note that temporary payment method availability issues also affect (both explicit as well as implicit) cancellation requests.
Mise en garde
When you cancel a pending payment the original payment instructions become invalid. For most use cases we suggest you reach out to your customer to inform them of the cancellation.
Lorsque vous reconfirmez un PaymentIntent dont l’état affiche requires_action
, nous créons de nouvelles instructions ainsi qu’une nouvelle hosted_voucher_url
. Vous devez veiller à ce que votre client en soit informé.
Remboursements
Il est possible de rembourser les paiements Konbini via le Dashboard ou l’API.
Pour exécuter un remboursement et l’envoyer directement sur le compte bancaire du client, votre client doit fournir les coordonnées bancaires du compte sur lequel il souhaite recevoir les fonds. Stripe contacte le client à l’adresse e-mail indiquée dans les informations de facturation et lui demande ces informations. Une fois les coordonnées bancaires reçues, nous procédons automatiquement au remboursement.
L’état du remboursement évolue comme suit :
Événement | État du remboursement |
---|---|
Le remboursement est créé | requires_action |
Le client soumet ses coordonnées bancaires et Stripe initie le remboursement | pending |
Le remboursement devrait arriver sur le compte bancaire du client | succeeded |
La banque du client reverse les fonds à Stripe | requires_action |
Le remboursement passe à l’état requires_action 45 jours après sa création | failed |
Le remboursement est annulé à partir d’un état requires_action | canceled |
Si la banque du client ne parvient pas à mener à bien le transfert, les fonds sont reversés à Stripe et le remboursement bascule sur l’état requires_action
. Cette situation se produit si le nom du titulaire du compte ne correspond pas aux données que la banque bénéficiaire possède dans ses archives, ou si le numéro de compte bancaire fourni contient une faute de frappe. Dans ces cas-là, Stripe envoie un e-mail au client pour l’informer de l’échec de l’opération et lui demande de soumettre à nouveau ses coordonnées bancaires.
Si votre client ne fournit pas ses coordonnées bancaires sous 45 jours, l’état du remboursement passe à failed
et l’événement charge.refund.updated est envoyé. Cela signifie que Stripe n’est pas en mesure de procéder au remboursement et que vous devez restituer les fonds à votre client en dehors de Stripe.
Le champ instructions_email du remboursement correspond à l’adresse e-mail à laquelle le remboursement a été envoyé. En attente de la réponse du client, vous pouvez retrouver les informations relatives à la date et l’adresse d’envoi de l’e-mail sous le champ next_action.display_details.email_sent du remboursement.
Chaque remboursement (y compris les remboursements partiels) peut entraîner des frais. Veuillez consulter votre contact chez Stripe pour en savoir plus à ce sujet.
Tester les remboursements
Pour tester le comportement de remboursement en mode test, utilisez les comptes bancaires de test suivants sur la page de collecte des coordonnées bancaires, dont le lien figure dans l’e-mail envoyé au client. Aucunes autres coordonnées bancaires ne seront acceptées.
Routage | Compte | Type |
---|---|---|
1100000 | 0001234 | Le remboursement réussit. |
|
| Le remboursement échoue. |
Tester l’expiration des remboursements
Vous pouvez simuler l’expiration d’un remboursement en mode test en effectuant un appel à l’API.
curl https://api.stripe.com/v1/test_helpers/refunds/{{REFUND_ID}}/expire \ -X POST \ -u
:sk_test_4eC39HqLyjWDarjtT1zdp7dc