V1
Vous consultez la version 1 de l’API Sezzle. Consultez la version actuelle!
- L’API Sezzle v1 est conçue pour les marchands souhaitant accepter Sezzle comme option de paiement.
- Le Flux d’intégration de Sezzle décrit le processus d’interaction de paiement de l’utilisateur.
- Sezzle prend en charge les transactions autorisées individuellement pour les achats uniques de biens ou de services.
- Les noms de champs ou d’en-têtes en gras avec un astérisque (par exemple, this_is_required*) sont obligatoires, tandis que les autres (par exemple, this_is_optional) ne le sont pas.
- Un compte Sezzle approuvé est nécessaire pour commencer l’intégration ; visitez la page d’inscription pour en créer un si nécessaire.
Tests
- Pendant que vous travaillez sur l’intégration, vous devriez la tester avant de la mettre en production.
- Veuillez utiliser cette section pour obtenir des informations sur les tests.
Sandbox
Point de terminaison API https://sandbox.gateway.sezzle.com/v1
Tableau de bord Sandbox https://sandbox.dashboard.sezzle.com/merchant
Les identifiants pour se connecter au tableau de bord sandbox sont ceux que vous utilisez pour vous connecter au tableau de bord marchand Sezzle. Vous pouvez créer vos clés API de test dans le tableau de bord sandbox.
Données de test
Vous pouvez utiliser les données de test suivantes pour tester votre intégration :
Banque | Nom d’utilisateur | Mot de passe |
---|---|---|
Test Bank | demo | go |
Numéro de carte | CVV/CVC | Date d’expiration | Nom | Adresse |
---|---|---|---|---|
4242424242424242 | any (3 numbers) | any | any | any |
Téléphone et autres informations
- Veuillez utiliser n’importe quel numéro de téléphone valide
- Le
OTP
attendu est123123
- Les informations personnelles n’ont pas besoin d’être réelles
Spécification Open API
- La Spécification OpenAPI (OAS) offre une interface standard et indépendante du langage pour les API RESTful, permettant aux humains et aux machines de comprendre les capacités du service sans analyse du code source, de la documentation ou du trafic réseau.
- Accédez à la Spécification OpenAPI Sezzle v2 pour les détails d’intégration.
- Importez la Spécification OpenAPI Sezzle v2 dans l’Éditeur Swagger pour générer un client Sezzle dans plusieurs langages de programmation.
- Pour les langages non pris en charge par Swagger, utilisez OpenAPI Generator comme outil alternatif.
Flux d’intégration
Explication du flux de paiement
- Le marchand appelle
/v1/checkouts
pour envoyer les données du panier à Sezzle - Sezzle renvoie l’URL pour rediriger le consommateur vers le paiement sur la page de paiement Sezzle
- Le marchand redirige le consommateur vers Sezzle
- Lorsque le consommateur termine le flux de paiement Sezzle, il est redirigé vers le site web du marchand
- Alternativement, lors de l’approbation, le consommateur est redirigé de la page de paiement Sezzle vers le site web du marchand et le marchand capture la commande en appelant
/v1/complete
Authentification
Obtenir un jeton d’authentification
Pour autoriser, utilisez le format suivant :
Corps de la requête
Assurez-vous de remplacer keys
par vos clés API de votre tableau de bord marchand.
Corps de la réponse
POST https://gateway.sezzle.com/v1/authentication
Sezzle utilise des clés API à portée limitée pour permettre l’accès à l’API. Vous pouvez trouver/générer ces clés sur votre tableau de bord marchand une fois que vous avez été approuvé par Sezzle.
Une fois que vous avez un jeton valide, il doit être utilisé comme en-tête pour les requêtes suivantes à notre API, en utilisant le format ci-dessous.
Authorization: Bearer authToken
Vous devez remplacer les jetons que vous obtenez du point de terminaison d’autorisation Sezzle toutes les 120 minutes. Cependant, nous ne vous limitons pas à un seul jeton, et vous pouvez en obtenir un nouveau à tout moment.
Configuration
Définir votre configuration
Corps de la requête
Il n’y a pas de corps de réponse pour cette requête. En cas de succès, nous renvoyons un statut HTTP 200 OK.
POST https://gateway.sezzle.com/v1/configuration
Pour le moment, Sezzle ne permet que la configuration de l’URL vers laquelle nous envoyons nos webhooks.
Paramètre | Type | Description |
---|---|---|
webhook_url* | chaîne | Une URL vers laquelle nous enverrons nos webhooks. |
Paiements
Créer un paiement
Corps de la requête
Requête HTTP
POST https://gateway.sezzle.com/v1/checkouts
Ce point de terminaison de paiement crée un paiement dans notre système et renvoie l’URL vers laquelle vous devez rediriger l’utilisateur. Nous vous suggérons de fournir autant d’informations facultatives sur l’utilisateur que vous avez à disposition, car cela accélérera notre processus de paiement et augmentera la conversion.
Sezzle est capable de gérer l’ensemble du processus de paiement après qu’un paiement a été fourni. Cependant, si votre flux nécessite que l’utilisateur confirme son paiement sur
votre site après avoir été approuvé par Sezzle, vous pouvez inclure le paramètre merchant_completes
avec la demande de paiement. Dans ce flux, Sezzle ne finalisera pas la
commande à moins que vous ne fassiez une demande de finalisation de paiement.
Objet de paiement
Paramètre | Type | Description |
---|---|---|
amount_in_cents* | entier | Le montant du paiement. Doit être d’au moins 100 montant en cents 1,00 $ |
currency_code* | chaîne | Le code de devise du paiement |
order_reference_id* | chaîne | Une référence à ce paiement dans vos systèmes |
order_description* | chaîne | Une description visible par l’utilisateur pour ce paiement |
checkout_cancel_url* | chaîne | L’URL vers laquelle nous devrions rediriger le client en cas d’annulation |
checkout_complete_url* | chaîne | L’URL vers laquelle nous devrions rediriger en cas de paiement réussi |
checkout_expiration | chaîne | Expiration du paiement au format date/heure ISO 8601 |
customer_details | objet | Le client du paiement |
billing_address | objet | L’adresse de facturation du paiement |
shipping_address | objet | L’adresse de livraison du paiement |
requires_shipping_info | booléen | Indicateur pour indiquer si vous souhaitez que nous collections les informations d’expédition pour ce paiement auprès du client. Si omis, la valeur par défaut sera false |
items | tableau | Les articles achetés |
discounts | tableau | Les remises appliquées. Doivent être incluses dans le total |
tax_amount | objet | Les taxes appliquées à ce paiement. Doivent être incluses dans le total |
shipping_amount | objet | Les frais d’expédition appliqués à ce paiement. Doivent être inclus dans le total |
merchant_completes | booléen | Indicateur pour déterminer si ce paiement doit être complété par le marchand. Si omis, la valeur par défaut sera false |
metadata | objet | Objet pour toute donnée personnalisée que vous souhaitez soumettre avec le paiement. Vous n’êtes pas limité aux paires clé-valeur montrées dans l’exemple, et vous pouvez utiliser n’importe quelles paires clé-valeur que vous voulez |
send_checkout_url | objet | Un objet Notification pour envoyer l’URL de paiement au client |
locale | chaîne de caractères | Localise le paiement. Les valeurs acceptées sont en-US (Anglais, États-Unis), en-CA (Anglais, Canada), et fr-CA (Français, Canada). Par défaut en-US si non fourni. |
Votre ID de référence de commande doit être un identifiant unique, et ne peut contenir que ‘a-Z’, ‘0-9’, ’-’, et ’_’.
Objet Détails du Client
Paramètre | Type | Description |
---|---|---|
first_name | chaîne de caractères | Le prénom de l’utilisateur |
last_name | chaîne de caractères | Le nom de famille de l’utilisateur |
email | chaîne de caractères | L’adresse e-mail de l’utilisateur |
phone | chaîne de caractères | Le numéro de téléphone de l’utilisateur |
Objet Adresse
Ceci est utilisé à la fois pour la facturation et l’expédition.
Paramètre | Type | Description |
---|---|---|
name | chaîne de caractères | Le nom sur l’adresse |
street | chaîne de caractères | La rue et le numéro de l’adresse |
street2 | chaîne de caractères | L’appartement ou l’unité |
city | chaîne de caractères | La ville |
state | chaîne de caractères | Le code d’état à 2 caractères |
postal_code | chaîne de caractères | Le code postal |
country_code | chaîne de caractères | Le code pays à 2 caractères |
phone_number | chaîne de caractères | Le numéro de téléphone à l’adresse de livraison |
Objet Article
Paramètre | Type | Description |
---|---|---|
name | chaîne de caractères | Le nom de l’article |
sku | chaîne de caractères | L’identifiant SKU |
quantity | entier | La quantité achetée |
price | objet | L’objet prix |
Objet Montant de Taxe
Paramètre | Type | Description |
---|---|---|
tax_amount | objet | Un objet prix |
Objet Montant d’Expédition
Paramètre | Type | Description |
---|---|---|
shipping_amount | objet | Un objet prix |
Objet Remise
Paramètre | Type | Description |
---|---|---|
name | chaîne de caractères | La description de la remise |
amount | objet | Un objet prix |
Objet Prix
Paramètre | Type | Description |
---|---|---|
amount_in_cents | entier | Le montant de l’article en centimes |
currency | chaîne de caractères | Le code de devise à 3 caractères tel que défini par ISO 4217 |
Objet Métadonnées
Utilisez l’objet métadonnées pour toute information supplémentaire que vous souhaitez joindre au paiement. Toutes les valeurs doivent être des chaînes de caractères.
Paramètre | Type | Description |
---|---|---|
some_field_name | chaîne de caractères | Champ de métadonnées personnalisé |
some_other_field_name | chaîne de caractères | Champ de métadonnées personnalisé |
Objet Notification
Un objet de notification valide contient au minimum un téléphone ou un e-mail.
Paramètre | Type | Description |
---|---|---|
to_sms_phone | chaîne de caractères | Le numéro de téléphone SMS de la notification |
to_email | chaîne de caractères | L’adresse e-mail de la notification |
language | chaîne de caractères | Le code de langue ISO 639 à 2 caractères de la notification. Les valeurs acceptables sont “en” et “fr”. Par défaut en anglais si non fourni |
Compléter un Paiement (optionnel)
Réponse de succès
Renvoie le Paiement donné.
Réponse de rejet
POST https://gateway.sezzle.com/v1/checkouts/{order_reference_id}/complete
- Lors de la définition de
merchant_completes
àtrue
dans le flux de Création de Paiement :- Vous devez appeler le point de terminaison Compléter le Paiement.
- Pour les paiements nécessitant des étapes supplémentaires :
- Les utilisateurs peuvent avoir besoin de retourner sur le site du marchand avant de finaliser l’achat.
- Utilisez le point de terminaison Compléter le Paiement pour finaliser le paiement avec Sezzle.
- Exigences sensibles au temps :
- Soumettez la demande de Compléter le Paiement dans les 30 minutes après que l’utilisateur soit redirigé vers le site du marchand.
- Le non-respect de cette condition entraînera l’annulation du paiement par Sezzle.
- Les paiements expirés déclenchent une réponse de rejet avec le Statut 409.
- Paramètres d’expiration du paiement :
- La période d’expiration par défaut pour les nouvelles commandes peut être prolongée jusqu’à 7 jours via le tableau de bord du marchand.
- Réponses sans erreur attendues :
- HTTP 200 : Renvoie tous les champs acceptés de la création du Paiement.
- Message de rejet : Indique que le paiement n’a pas été complété avec succès.
Commandes
Corps de Réponse des Détails de Commande
GET https://gateway.sezzle.com/v1/orders/{order_reference_id}
Une fois qu’une commande est créée, vous pouvez récupérer les détails de la commande en utilisant ce point de terminaison.
Paramètre(s) de Requête Optionnel(s)
Paramètre | Type | Valeurs | Description |
---|---|---|---|
include-shipping-info | chaîne de caractères | true ou false | Si vos données de paiement nous ont obligé à collecter des informations d’expédition auprès du client, vous pouvez alors demander ces informations en plus des détails de la commande. |
Remboursements de Commande
Corps de Demande de Remboursement
POST https://gateway.sezzle.com/v1/orders/{order_reference_id}/refund
- Sezzle prend en charge les remboursements via le Tableau de Bord du Marchand ou l’API.
- Les remboursements effectués via le tableau de bord déclenchent un webhook vers votre système.
- Les remboursements peuvent être partiels ou complets, basés sur le total de la commande, pas sur le montant payé par l’acheteur.
Demande de Remboursement
Paramètre | Type | Description |
---|---|---|
amount* | objet | Un objet prix qui définit le montant à rembourser. Le montant ne peut pas être 0, négatif ou dépasser le montant total de la commande. La devise doit être soit la devise de la commande, soit la devise de paiement du client. Ce champ est facultatif si leis_full_refund paramètre est vrai. |
refund_id | string | UUID pour le Remboursement. Doit être unique pour un Marchand. |
refund_reason | string | Une raison pour le remboursement. |
is_full_refund | boolean | Remplaceamount . Si vrai, la commande sera entièrement remboursée. Si omis, la valeur par défaut sera faux |
Reporting
Rapports de règlement
Ces points de terminaison vous permettent de consulter une liste des résumés de paiement ou un rapport détaillé d’un paiement individuel.
Corps de réponse des résumés de règlement
Demande de résumés de règlement
GET https://gateway.sezzle.com/v1/settlements/summaries
Paramètre de requête | Description |
---|---|
start-date* | La date de début UTC pour le rapport. Doit être au format yyyy-mm-dd. |
end-date | La date de fin UTC pour le rapport. Doit être au format yyyy-mm-dd. Si omis, la date actuelle sera utilisée par défaut. |
offset | Le décalage pour le rapport. La limite est de 20. |
currency-code | Le code de devise ISO-4217 sélectionné par les utilisateurs lors du paiement. Si omis, USD sera utilisé par défaut. |
Réponse des détails du règlement
Demande de détails du règlement
GET https://gateway.sezzle.com/v1/settlements/details/{payout_uuid}
Lepayout_uuid
est leuuid
renvoyé par la réponse des résumés de règlement.
Paramètre de requête | Description |
---|---|
metadata | Une liste optionnelle de clés de métadonnées séparées par des virgules. Pour ajouter une clé de métadonnées comme colonne aux éléments de ligne du rapport, incluez la clé dans cette liste. Le cas échéant, la valeur de la clé de métadonnées sera ajoutée à l’élément de ligne. Si aucun élément de ligne ne contient la clé de métadonnées, la clé ne sera pas ajoutée comme colonne. |
La réponse des détails du règlement contient deux sections. Les deux premières lignes sont un résumé du paiement. Les lignes restantes contiennent les éléments individuels qui ont contribué au paiement.
Définitions des colonnes du résumé
En-tête de colonne | Description |
---|---|
Total order amount | La somme de toutes les commandes sur ce paiement. |
Total refund amount | La somme de tous les remboursements sur ce paiement. |
Total fee amount | La somme de tous les frais sur ce paiement. |
Total returned fee amount | La somme de tous les frais retournés sur ce paiement. |
Total chargeback amount | La somme de tous les rejets de débit sur ce paiement. |
Total chargeback reversal amount | La somme de toutes les annulations de rejets de débit sur ce paiement. |
Total interest transfer amount | La somme de tous les transferts d’intérêts sur ce paiement. Si vous ne participez pas au programme d’intérêts, ce champ sera omis. |
Total correction amount | La somme de toutes les corrections sur ce paiement. |
Total referral revenue transfer amount | La somme de tous les transferts de revenus de parrainage sur ce paiement. |
Total bank account withdrawal amount | La somme de tous les retraits de compte bancaire. |
Total bank account withdrawal reversal amount | La somme de toutes les annulations de retraits de compte bancaire, qui reflètent un retrait de compte bancaire ayant échoué. |
Forex fees | Le coût des frais de change associés à ce paiement. |
Net settlement amount | Montant net du règlement. |
Payment uuid | L’UUID pour ce paiement. |
Settlement currency | La devise dans laquelle ce paiement a été envoyé. |
Payout date | La date à laquelle ce paiement a été envoyé. |
Payout status | Le statut actuel de ce paiement. |
Définitions des colonnes des éléments de ligne
En-tête de colonne | Description |
---|---|
Type | Décrit le type d’événement (Commande, Frais, Remboursement, etc.). |
Order capture date | La date à laquelle la commande a été capturée. Ce champ est vide si la commande n’a pas encore été capturée. |
Order created at | La date à laquelle la commande a été créée. |
Event date | La date à laquelle l’événement a eu lieu. |
Order uuid | L’uuid associé à la commande. |
Customer order id | Le numéro de commande du client. |
External reference id | L’ID de référence externe soumis avec la commande. |
Amount | Le montant de l’événement. |
Posting currency | Le code de devise du client. |
Type code | Un code numérique qui correspond au champ Type. |
Chargeback code | Un code numérique qui correspond au type de rejet de débit soumis. |
Sezzle order ID | L’ID interne que Sezzle a attribué à cette commande. |
Définitions des types d’événements des éléments de ligne
Type | Description | Code de type |
---|---|---|
ORDER | Une commande terminée avec Sezzle. | 001 |
REFUND | Une commande qui a été remboursée. | 002 |
FEE | Les frais évalués par Sezzle pour une commande donnée. | 003 |
RETURNED_FEE | Des frais remboursés par Sezzle. | 004 |
CHARGEBACK | Un rejet de débit résultant d’une commande contestée. | 005 |
CHARGEBACK_REVERSAL | Une annulation d’un rejet de débit résultant d’une commande contestée. | 006 |
CORRECTION | Une correction manuelle d’un paiement. | 007 |
INTEREST_TRANSFER | Un transfert du compte d’intérêts Sezzle. | 008 |
REFERRAL_REVENUE_TRANSFER | Un paiement gagné grâce au programme de parrainage de marchands de Sezzle. | 009 |
BANK_ACCOUNT_WITHDRAWAL | Un retrait de fonds de votre banque pour couvrir un solde négatif avec Sezzle. | 010 |
BANK_ACCOUNT_WITHDRAWAL_REVERSAL | Un BANK_ACCOUNT_WITHDRAWAL échoué. | 011 |
Rapports de compte d’intérêts
- Sezzle propose aux marchands un programme de compte d’intérêts optionnel.
- Les marchands inscrits peuvent accéder aux points de terminaison pour :
- Vérifier le solde actuel
- Consulter l’activité sur le compte d’intérêts
- L’accumulation quotidienne d’intérêts est calculée avec précision, en suivant les fractions de cents, même pour les soldes faibles.
Corps de réponse du solde du compte d’intérêts
Demande de solde du compte d’intérêts
GET https://gateway.sezzle.com/v1/interest/balance
Paramètre de requête | Description |
---|---|
currency-code | Le code de devise ISO-4217 du compte d’intérêts. Si omis, USD sera utilisé par défaut. |
Corps de réponse de l’activité du compte d’intérêts
Demande d’activité du compte d’intérêts
GET https://gateway.sezzle.com/v1/interest/activity
Paramètre de requête | Description |
---|---|
start-date* | La date de début pour le rapport. Doit être au format yyyy-mm-dd. |
end-date | La date de fin pour le rapport. Doit être au format yyyy-mm-dd. Si omis, la date actuelle sera utilisée par défaut. |
offset | Le décalage pour le rapport. |
currency-code | Le code de devise ISO-4217 du compte d’intérêts. Si omis, USD sera utilisé par défaut. |
Webhooks
Webhooks de commande
- Sezzle gère la plupart du processus de paiement du consommateur sur ses pages, en utilisant des webhooks pour notifier votre système à propos de :
- Mises à jour du paiement
- Achèvements
- Remboursements
- Les soumissions de webhook attendent une réponse dans la plage 200.
Objet Webhook de commande
Paramètre | Type | Description |
---|---|---|
time | string | L’heure (UTC) à laquelle le Webhook a été généré. |
uuid | string | Un identifiant unique pour le webhook. |
type | string | La catégorie de haut niveau. Par exemple,order_update |
event | string | L’action spécifique. Par exemple,order_complete |
object_uuid | string | L’ID pour le Checkout/Commande. |
refund_id | stringoptional | ID unique pour un remboursement. Inclus si l’événement webhook est order_refund. |
refund_amount | objectoptional | Objet Prix. Inclus si l’événement webhook est order_refund. |
Pour les webhooks de mise à jour de commande, leobject_uuid
retourné est l’ID de référence fourni lors de la création du checkout par le marchand
Événements/Types de mise à jour de commande
Type | Événement | Description |
---|---|---|
order_update | order_complete | Le checkout a été complété avec succès |
order_update | order_refund | La commande a été remboursée depuis le tableau de bord marchand Sezzle |
Erreurs
Corps d’erreur de réponse
- Sezzle renvoie un objet d’erreur API standard sauf indication contraire dans la documentation.
- Les erreurs sont maintenues cohérentes, avec un préavis pour tout changement requis.
Objet d’erreur
Paramètre | Type | Description |
---|---|---|
Status | int | Correspond au code de statut HTTP de la réponse |
ID | string | Un identifiant programmatique pour l’erreur. Ceux-ci changent rarement (voire jamais). |
Message | string | Une chaîne conviviale pour l’homme. Celles-ci peuvent changer et sont destinées à aider au débogage plutôt qu’à la logique du programme. |
SDK Javascript
Le SDK Javascript est documenté dans la dernièreAPI v2 documentation. Il est pris en charge pour les utilisateurs de l’API v1 utilisant le même script de page chargeable.
Lors de l’utilisation du SDK Javascript avec v1, utilisez apiVersion: “v1” dans le constructeur Checkout.
Créer un Checkout
- Utilisation du SDK Javascript avec v1 :
- Créez un checkout avec l’objet Checkout.
- Complétez le checkout en utilisant le point de terminaison Compléter un Checkout.
- Le point de terminaison v1 :
- Capture le montant total de la commande.
- Ne nécessite pas de corps de requête.
- N’utilisez pas l’objet payload montré dans l’exemple de capture pour v1.
Compléter un Checkout
SDK Widget
- Le SDK Widget charge les widgets de vente Sezzle sur les pages web.
- Les widgets nécessitent qu’une configuration soit fournie avant le chargement du script, sinon ils ne s’afficheront pas.
- Le dépôt du projet est disponible surhttps://github.com/sezzle/sezzle-js.
- Référez-vous à la documentation la plus récente pour les détails de configuration des widgets.