worldline
S'inscrire

TWINT

TWINT

Introduction

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.

Aperçu

Groupe de paiement :
Identifiant du moyen de paiement:
5407
Avantages clés
  • Exigences PCI faibles (aucune donnée sensible ou personnelle partagée)
  • Intégration facile
  • Très populaire en Suisse
  • TWINT Pay later
  • Permet

Pays & devises

Pays pris en charge

Devises prises en charge

  • Swiss franc (CHF)

Intégration

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 "Cinématique".

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
     currencyCode

amount : Le montant brut que vous souhaitez facturer pour cette commande.
currencyCode : Le code de devise ISO 4217 correspondant à ce montant.

redirectPaymentMethodSpecificInput
      paymentProductId
      requiresApproval

paymentProductId : L'identifiant numérique de la méthode de paiement sur notre plateforme. Retrouvez cet ID dans le chapitre "Aperçu". 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.

Cinématique

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.

  1. Vos clients finalisent une commande sur leur ordinateur dans votre boutique et sélectionnent TWINT.
  2. Vous envoyez cette requête CreateHostedCheckout/CreatePayment à notre plateforme.
  3. Vous redirigez vos clients via la redirectUrl vers notre Hosted Checkout Page (pour les requêtes CreateHostedCheckout) ou affichez un QR code / paring token sur votre page de paiement en utilisant merchantAction.showFormData.paymentProduct5407.qrCodeUrl / paringToken de notre réponse (pour les requêtes CreatePayment).
  4. Vos clients scannent le QR code affiché avec leur mobile/tablette ou saisissent manuellement le code paring token dans leur application TWINT.
  5. L'appareil mobile/tablette ouvre l'application TWINT. Vos clients confirment le paiement dans l'application.
  6. Nous recevons le résultat de la transaction.
  7. 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.
  8. Vous demandez le résultat de la transaction à notre plateforme via GetHostedCheckout ou recevez le résultat via webhooks.
  9. Si la transaction a été réussie, vous pouvez livrer les biens / services.
  • Les autorisations TWINT sont valables pendant 7 jours. Pour effectivement recevoir le paiement, vous devez effectuer la capture de cette autorisation dans ce délai. Il est possible de prolonger cette période jusqu'à 30 jours dans certains cas justifiés. Contactez TWINT pour plus d’informations.
  • Lors du traitement d'une transaction TWINT via Server-to-Server, vous devez implémenter des mécanismes supplémentaires pour garantir que les deux cinématiques se déroulent comme prévu. euillez vous référer au chapitre dédié dans la section « Informations supplémentaires » pour des instructions détaillées.

Avec un appareil mobile

  1. Vos clients finalisent une commande dans votre boutique et sélectionnent TWINT.
  2. Vous envoyez cette requête CreateHostedCheckout/CreatePayment à notre plateforme.
  3. Vous redirigez vos clients via la redirectUrl vers notre Hosted Checkout Page où ils cliquent sur le bouton « Switch to app » (pour les requêtes CreateHostedCheckout) ou initient le basculement vers l'app (pour les requêtes CreatePayment).
  4. L'appareil mobile ouvre l'application TWINT. Vos clients confirment le paiement dans l'application.
  5. Nous recevons le résultat de la transaction. 
  6. L'application redirige vos clients vers votre returnURL.
  7. Vous demandez le résultat de la transaction à notre plateforme via GetHostedCheckout ou recevez le résultat via webhooks.
  8. Si la transaction a été réussie, vous pouvez livrer les biens / services.

Test

Consultez nos Cas de test pour des données de test et des instructions détaillées.

Informations supplémentaires

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 :

Paiement avec création de jeton

Effectuer un paiement et créer un jeton simultanément.

Définissez order.amountOfMoney.amount avec une valeur supérieure à 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 :

  1. Accepter à la fois le paiement et l'enregistrement UoF (Utilisateur sur fichier), ce qui permet la création du jeton.
  2. 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"
   }
}

Traitement des transactions via Server-to-server

Lors du traitement d’une transaction TWINT via Server-to-server, vous devez implémenter des mécanismes supplémentaires pour garantir que les deux cinématiques se déroulent comme prévu.

Détection due l'appareil

Dans les deux scénarios — ordinateur plus mobile, et mobile seul — vous devez identifier le type d’appareil (ordinateur ou mobile) qui a initialisé la transaction. Ceci est essentiel pour adapter la cinématique, soit en :

  • affichant un QR code / paring token pour les transactions initialisées sur un ordinateur ;
  • exécutant un basculement web-vers-app pour les transactions initialisées sur un appareil mobile.

Initialisation de la transaction sur ordinateur : gestion du QR code / pairing token

Pour les transactions impliquant un ordinateur et un mobile, vous devez afficher à la fois merchantAction.showFormData.paymentProduct5407.qrCodeUrl et pairingToken provenant de la réponse CreatePayment de notre plateforme :

  • qrCodeUrl: un QR code encodé en base64 à afficher sur votre page de paiement sur l'ordinateur. Lorsqu'il est scanné avec un mobile, il ouvre l'app TWINT.
    Si vous générez actuellement vos propres QR codes, nous vous recommandons vivement de modifier votre intégration afin d'utiliser  qrCodeUrl à la place.

  • pairingToken: une valeur de token à afficher sur votre page de paiement sur l’ordinateur. Pour poursuivre la transaction sur le mobile, vos clients doivent ouvrir leur app TWINT sur leur appareil mobile et saisir ce token.

Initialisation de la transaction sur appareil mobile : basculement web-vers-app

Pour les transactions impliquant uniquement un apparei lmobile, vous devez exécuter un basculement web-vers-app afin d'ouvrir l'app TWINT sur le appareil mobile. Cela inclut également la transmission du `pairingToken` issu de la réponse CreatePayment dans le basculement web-vers-app.
Veuillez vous référer à la documentation TWINT pour des instructions détaillées.

Pour les cinématiques sur les appareils mobiles, veillez à implémenter des mécanismes de retour en arrière si l'app TWINT n'est pas installée sur l'appareil mobile :

  • Affichez un message clair indiquant à vos clients qu'ils doivent installer l'app avant de réessayer.
  • Affichez le QR code sur votre page de paiement afin de permettre le traitement de la transaction sur un deuxième appareil mobile sur lequel l'app TWINT est installée.

Recommandations pour l'affichage du QR code

Lorsque vous affichez le QR code sur votre page de paiement, veillez à respecter les recommandations de TWINT :

  • Définissez une taille de QR code garantissant une bonne lisibilité. Adaptez la largeur entre 200 et 300 px pour les ordinateurs via CSS afin de l'intégrer à votre mise en page de paiement.
  • Générez un nouveau QR code pour chaque transaction. Chaque QR code est propre à une transaction. Ne mettez pas en cache et ne réutilisez pas les images de QR code entre différentes sessions de paiement.
  • Interrogez régulièrement le statut. Après avoir affiché le QR code, continuez à interroger GetPaymentDetails pour détecter le moment où le client finalise le paiement dans son app TWINT, puis mettez à jour votre page de paiement en conséquence.

TWINT Pay Later

L'offre TWINT inclut une option « Buy Now Pay Later », appelée "TWINT Pay Later", qui vous garantit de recevoir les fonds même en cas de défaut de paiement.

Comme cette option de paiement entraîne des frais supplémentaires, TWINT propose deux modes :

  1. Le commerçant paie les frais :

    Vos clients peuvent choisir entre le mode standard « Pay now » ou « Buy Now Pay Later » dans l’app TWINT, pour toute transaction « Buy Now Pay Later ». Cette option nécessite une mise à jour de votre contrat Worldline existant. Contactez-nous pour activer cette option.

  2. Votre client paie les frais : Vos clients peuvent choisir entre le mode standard « Pay now » ou « Buy Now Pay Later » dans l'app TWINT. S'ils choisissent « Buy Now Pay Later », TWINT applique des frais supplémentaires aux clients. Avant de confirmer la transaction, ces frais sont clairement présentés aux clients dans l'app TWINT.

    Cette option ne nécessite aucune modification de votre contrat Worldline existant. Contactez TWINT pour activer cette option. Veillez à communiquer votre Terminal ID TWINT. Si vous n'avez pas votre Terminal ID TWINT à portée de main, nous pouvons vous aider.

Veuillez vous référer à l'offre officielle de TWINT pour plus d'informations.

Cette page vous a-t-elle été utile ?

Avez-vous des commentaires ?

Merci pour votre réponse.
New Feature

Try out our new chatbot and find answers to all your questions.