TWINT

Intro
TWINT est un système de paiement bancaire/prépayé en temps réel suisse.
Avec plus de 3,5 millions d'utilisateurs actifs, TWINT est la méthode de paiement la plus populaire en Suisse. En reliant leurs comptes bancaires, cartes de crédit ou cartes prépayées à l'application TWINT, vos clients peuvent facilement effectuer des transactions de faible montant (par exemple, payer un parking par téléphone, commander de la nourriture ou régler des factures).
Vous envoyez une requête standard à notre plateforme pour rediriger vos clients vers le portail TWINT afin d'ouvrir l'application.
L'intégration est très simple, car il vous suffit d'envoyer un paramètre supplémentaire avec votre demande.
Key benefits
- Exigences PCI faibles (aucune donnée sensible ou personnelle partagée)
- Intégration facile
- Très populaire en Suisse
- Permet
- Autorisations
- Captures partielles/intégrales
- Remboursements partiels/multiples/intégraux
- Annulations complètes
- Paiements récurrents (User-on-File)
Integration
Nous proposons ces méthodes de paiement pour les modes d'intégration suivants. Découvrez dans nos guides dédiés les spécificités de chacun :
Découvrez un aperçu général dans le chapitre "Process flows".
Ajoutez les propriétés suivantes à une requête standard CreateHostedCheckout/CreatePayment :
{
"order":{
"amountOfMoney":{
"currencyCode":"CHF",
"amount":1700
},
"redirectPaymentMethodSpecificInput":{
"paymentProductId":5407,
"requiresApproval":false
}
}
}
Propriétés | Remarques |
---|---|
order.amountOfMoney |
amount : Le montant brut que vous souhaitez facturer pour cette commande. currencyCode : Le code de devise ISO 4217 correspondant à ce montant. |
redirectPaymentMethodSpecificInput |
paymentProductId : L'identifiant numérique de la méthode de paiement sur notre plateforme. Retrouvez cet ID dans le chapitre "Overview". Pour les paiements demandés via CreateHostedCheckout, il instruit notre plateforme d'envoyer vos clients directement à la version TWINT de notre Hosted Checkout Page. En cas d'omission, notre plateforme redirige vos clients vers la Hosted Checkout Page, leur permettant de choisir ce mode de paiement ou tout autre actif dans votre compte. requiresApproval : Définissez cette valeur sur "true" ou "false" selon que vous souhaitez traiter les paiements en mode autorisation ou Direct Sale. |
Retrouvez des informations détaillées sur cet objet et ses propriétés dans notre documentation CreateHostedCheckoutAPI/CreatePaymentAPI.
Process flows
Selon le(s) appareil(s) utilisé(s) par vos clients, des différences s'appliquent :
Avec un ordinateur et un appareil mobile
Ce flux implique l'interaction entre l'ordinateur et l'appareil mobile/tablette de vos clients.
- Vos clients finalisent une commande sur leur ordinateur dans votre boutique et sélectionnent TWINT.
- Vous envoyez cette requête CreateHostedCheckout à notre plateforme.
- Vous redirigez vos clients sur leur ordinateur via l'URL de redirection redirectUrl vers notre Hosted Checkout Page.
- Vos clients scannent le QR code affiché avec leur appareil mobile/tablette ou saisissent manuellement le code affiché dans leur application TWINT.
- L'appareil mobile/tablette ouvre l'application TWINT. Vos clients confirment le paiement dans l'application.
- Nous recevons le résultat de la transaction.
- L'appareil mobile/tablette ouvre le navigateur standard et redirige vos clients vers votre returnURL. Nous redirigeons également vos clients vers votre returnURL sur leur ordinateur.
- Vous demandez le résultat de la transaction à notre plateforme via GetHostedCheckout ou recevez le résultat via webhooks.
- Si la transaction a été réussie, vous pouvez livrer les biens / services.
Avec un appareil mobile
- Vos clients finalisent une commande dans votre boutique et sélectionnent TWINT.
- Vous envoyez cette requête CreateHostedCheckout à notre plateforme.
- Vous redirigez vos clients via l'URL de redirection redirectUrl vers notre Hosted Checkout Page où ils cliquent sur le bouton "Passer à l'application".
- L'appareil mobile ouvre l'application TWINT. Vos clients confirment le paiement dans l'application.
- Nous recevons le résultat de la transaction.
- L'application redirige vos clients vers votre returnURL.
- Vous demandez le résultat de la transaction à notre plateforme via GetHostedCheckout ou recevez le résultat via webhooks.
- Si la transaction a été réussie, vous pouvez livrer les biens / services.
Testing
Consultez nos Test cases pour des données de test et des instructions détaillées.
- Assurez-vous d'utiliser le bon endpoint et de renseigner l'URL de production dès que vous avez terminé vos tests.
- Les données dans notre Test cases fonctionnent UNIQUEMENT pour les demandes de paiement dans notre environnement de test. Utiliser ces données dans notre environnement de production entraînera des résultats de test indésirables.
Additional information
TWINT paiements récurrents (User-on-File)
TWINT paiements récurrents User-on-File (UoF) permet aux marchands de stocker l'identité TWINT de vos clients sous forme de jeton (alias), ce qui vous permet de les facturer selon un calendrier défini sans ré-authentification.
Cette fonctionnalité simplifie le processus de paiement pour vos clients et vous permet d'offrir des paiements récurrents, des abonnements et des versements échelonnés tout en gardant les données sensibles de la carte hors de votre périmètre.
Pour utiliser cette fonctionnalité, vous devez :
- Effectuer un paiement avec création de jeton ou créer un jeton autonome pour les abonnements.
- Utiliser le jeton pour les transactions suivantes initiées par le commerçant (MIT).
Paiement avec création de jeton
Effectuer un paiement et créer un jeton simultanément.
Définissez order.amountOfMoney.amount < 0 et redirectPaymentMethodSpecificInput.tokenise=true dans votre demande de paiement initiale :
{
"order": {
"amountOfMoney": {
"amount": 100,
"currencyCode": "CHF"
}
},
"hostedCheckoutSpecificInput": {
"returnUrl": "https://yourRedirectionUrl.com"
},
"redirectPaymentMethodSpecificInput": {
"paymentProductId": 5407,
"requiresApproval": true,
"tokenize": true
}
}
Pour ce scénario, il existe deux résultats possibles :
Vos clients soit :
- Accepter à la fois le paiement et l'enregistrement UoF (Utilisateur sur fichier), ce qui permet la création du jeton.
- Accepter le paiement mais refuser l'inscription UoF (empêchant ainsi la création du jeton).
Dans le scénario 2, notre plateforme traitera la transaction mais ne créera pas de jeton. En conséquence, notre plateforme n'inclura pas la propriété paymentOutput.redirectPaymentMethodSpecificOutput.token dans la réponse de la requête CreatePayment ou dans les requêtes GetHostedCheckout/GetPaymentDetails. Veillez à gérer ce cas en conséquence.
Jeton autonome pour les abonnements
Effectuer une transaction dont le montant est nul afin de créer un jeton à utiliser ultérieurement.
Définissez order.amountOfMoney.amount=0 et redirectPaymentMethodSpecificInput.tokenise=true dans votre demande de paiement initiale :
{
"order": {
"amountOfMoney": {
"amount": 0,
"currencyCode": "CHF"
}
},
"hostedCheckoutSpecificInput": {
"returnUrl": "https://yourRedirectionUrl.com"
},
"redirectPaymentMethodSpecificInput": {
"paymentProductId": 5407,
"requiresApproval": true,
"tokenize": true
}
}
Utilisation du jeton pour les transactions suivantes initiées par le commerçant (MIT)
Utilisez un jeton existant pour traiter les paiements suivants selon le cadre Card On File (COF).
{
"order":{
"amountOfMoney":{
"currencyCode":"CHF",
"amount":100
}
},
"redirectPaymentMethodSpecificInput":{
"paymentProductId":5407,
"requiresApproval":false,
"token":"your_TWINT_token"
}
}