Avant de commencer
Vous avez besoin d’une capacité d’encaissement prête et d’un portefeuille de destination émis prêt pour le même client. Complétez toute tâche ouverte via Capacités et tâches, puis récupérez à nouveau les deux ressources.1. Créer un devis
Créez le prix avecPOST /v3/quotes. Envoyez ces en-têtes :
data.id en tant que QUOTE_ID. Présentez les montants et les frais renvoyés plutôt que de les reconstruire à partir du taux.
2. Exécuter le devis
Exécutez le devis actuel avant expiration avecPOST /v3/transfers. Utilisez une nouvelle clé pour ce transfert prévu :
data.id du transfert en tant que TRANSFER_ID et conservez son état actuel.
Ajouter une URL de retour pour la carte et Apple Pay
Pour un devis par carte ou Apple Pay, vous pouvez inclure unredirectUrl facultatif dans la même requête. Une fois que le client a terminé le paiement hébergé, la page de paiement ouvre cette URL pour ramener le client vers votre application.
redirectUrl doit être une URL HTTPS absolue d’au plus 2048 caractères et ne doit pas contenir d’identifiants intégrés. Envoyer redirectUrl pour un devis qui ne prend pas en charge la navigation de retour échoue à la validation au lieu d’être ignoré.
L’arrivée sur redirectUrl n’est qu’une navigation du navigateur. Elle ne confirme pas que le paiement ou le transfert est terminé. Déterminez l’achèvement à partir de l’état du transfert à l’étape 4 et des événements webhook.
Présélectionner la méthode de paiement hébergé pour un devis par carte
Pour un devis par carte, vous pouvez inclure uncheckoutMethod facultatif dans la même requête afin de choisir l’option de financement sur laquelle s’ouvre le paiement hébergé. Les valeurs actuelles sont card, apple_pay, google_pay, cash_app, sepa et blik. La liste est ouverte et peut s’étendre ; tolérez donc les valeurs que vous ne reconnaissez pas dans les lectures du transfert. Le paiement hébergé s’ouvre sur la méthode demandée lorsqu’elle est disponible pour le client et son appareil, et le client peut toujours choisir toute autre méthode proposée. Omettez-le pour conserver la présélection par défaut.
checkoutMethod est une préférence, pas une garantie. La disponibilité dépend du client, de son appareil et du paiement hébergé ; demander une méthode ne la rend pas disponible. Ici, sepa et blik sont des options de financement à l’intérieur du paiement par carte hébergé, et non des capacités, des rails ou des comptes Swipelux. La présélection ne modifie ni la capacité, ni les montants, ni les frais du devis, et le paiement hébergé confirme les frais définitifs. Les lectures du transfert renvoient la valeur demandée ; elles ne confirment pas la méthode réellement utilisée par le client. Envoyer checkoutMethod pour un devis qui n’est pas un devis par carte échoue à la validation au lieu d’être ignoré, et une relecture avec la même clé d’idempotence doit envoyer le même checkoutMethod.
3. Récupérer les instructions de financement
LisezGET /v3/transfers/{transferId}/instructions. Rendez la variante data.instructions renvoyée sans supposer son type.
Ces détails sont spécifiques au transfert. Ne réutilisez jamais les coordonnées bancaires, le code, l’URL hébergée, le montant, la référence ou l’expiration d’un transfert pour un autre encaissement.
Pour les instructions bancaires, lorsque reference.required est true, affichez exactement la reference.value à côté des coordonnées bancaires et rendez-la copiable. Affichez le montant et la devise renvoyés du même ensemble d’instructions.
Un compte bancaire émis est différent : il fournit des coordonnées réutilisables pour les dépôts ultérieurs. Consultez Émettre un compte bancaire lorsque c’est l’expérience prévue.
4. Suivre le règlement
LisezGET /v3/transfers/{transferId} après l’exécution et après chaque événement. Pilotez le statut destiné au client à partir du dernier data.state.
Utilisez data.stateDetail et data.openTaskIds lorsque le transfert nécessite une autre action. Ne le marquez pas comme terminé à partir d’un calendrier prévu.
Ensuite, ajoutez des Webhooks et gardez le statut de transfert synchronisé jusqu’à ce qu’il atteigne un résultat que votre produit gère.