Paiements Konbini
Utilisez les API Payment Intents et Payment Methods pour accepter les paiements via Konbini, un moyen de paiement courant dans les commerces japonais.
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. Sinon, mettez à jour votre intégration pour configurer les moyens de paiement dans 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
Remarque
Avant d’utiliser ce guide, commencez par créer une intégration permettant d’accepter un paiement avec Checkout.
Suivez ce guide pour savoir comment activer Konbini et découvrir les différences entre l’acceptation d’un paiement par carte et l’utilisation de Konbini.
Activer Konbini en tant que moyen de paiement
Lors de la création d’une nouvelle session Checkout, vous devez :
- Ajouter
konbini
à la listepayment_
method_ types - Veiller à ce que tous vos
line_
utilisent la deviseitems jpy
.
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_ | 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_
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
Remarque
Contrairement à ce qui se passe pour les paiements par carte, le client ne sera pas redirigé vers l’adresse success_url lors d’un paiement Konbini.
Une fois l’envoi du formulaire Checkout effectué, le client est redirigé vers la page hosted_
. 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 bon Konbini. Si vous souhaitez envoyer à vos clients un e-mail contenant un lien vers les instructions de paiement du bon, localisez l’adresse hosted_
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 : 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_ . | Contactez le 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 |
Pour tester les erreurs de 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_
dans next_action.konbini_display_details, le client ne peut plus initier le processus de paiement d’un 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_
.
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_
. 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_
. 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.
Si le client effectue actuellement le paiement Konbini dans un commerce de proximité, la requête d’annulation échouera. L’annulation peut à nouveau être envisagée si le client abandonne la tentative de paiement et une fois que le bordereau de paiement a expiré.
Veuillez noter que les problèmes de disponibilité temporaires des moyens de paiement impactent également les demandes d’annulation (explicites comme implicites).
Mise en garde
Lorsque vous annulez un paiement en attente, les instructions de paiement initiales sont invalidées. Dans la plupart des cas d’usage, nous vous suggérons de contacter votre client pour l’informer de l’annulation.
Lorsque vous reconfirmez un PaymentIntent dont l’état affiche requires_
, nous créons de nouvelles instructions ainsi qu’une nouvelle hosted_
. 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_ |
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_ |
Le remboursement passe à l’état requires_ 45 jours après sa création | failed |
Le remboursement est annulé à partir d’un état requires_ | 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_
. 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 nous envoyons l’événement refund.failed. 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_BQokikJOvBiI2HlWgH4olfQ2