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 :

BanqueNom d’utilisateurMot de passe
Test Bankdemogo
Numéro de carteCVV/CVCDate d’expirationNomAdresse
4242424242424242any (3 numbers)anyanyany

Téléphone et autres informations

  • Veuillez utiliser n’importe quel numéro de téléphone valide
  • Le OTP attendu est 123123
  • 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

  1. Le marchand appelle /v1/checkouts pour envoyer les données du panier à Sezzle
  2. Sezzle renvoie l’URL pour rediriger le consommateur vers le paiement sur la page de paiement Sezzle
  3. Le marchand redirige le consommateur vers Sezzle
  4. Lorsque le consommateur termine le flux de paiement Sezzle, il est redirigé vers le site web du marchand
  5. 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

{
    "public_key": "myPublicKey",
    "private_key": "myPrivateKey"
}

Assurez-vous de remplacer keys par vos clés API de votre tableau de bord marchand.

Corps de la réponse

{
    "token": "authToken",
    "expiration_date": "2017-01-01T01:30:25.388940303Z",
    "merchant_uuid": "merchant1234567890"
}

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

{
    "webhook_url": "https://yourdomain.com/webhook"
}

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ètreTypeDescription
webhook_url*chaîneUne URL vers laquelle nous enverrons nos webhooks.

Paiements

Créer un paiement

Corps de la requête

{
    "amount_in_cents": 12999,
    "currency_code": "USD",
    "order_reference_id": "Ref123456789",
    "order_description": "Order #1800",
    "checkout_cancel_url": "https://sezzle.com/cart",
    "checkout_complete_url": "https://sezzle.com/complete",
    "customer_details":
    {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@sezzle.com",
        "phone": "5555045294"
    },
    "billing_address": {
        "name": "John Doe",
        "street": "123 W Lake St",
        "street2": "Unit 104",
        "city": "Minneapolis",
        "state": "MN",
        "postal_code": "55408",
        "country_code": "US",
        "phone_number": "5555045294"
    },
    "shipping_address": {
        "name": "John Doe",
        "street": "123 W Lake St",
        "street2": "Unit 104",
        "city": "Minneapolis",
        "state": "MN",
        "postal_code": "55408",
        "country_code": "US",
        "phone_number": "5555045294"
    },
    "requires_shipping_info": false,
    "items": [
        {
          "name": "widget",
          "sku": "sku123456",
          "quantity": 1,
          "price": {
              "amount_in_cents": 1000,
              "currency": "USD"
          }
        }
    ],
    "discounts": [
        {
          "name": "20% off",
          "amount": {
              "amount_in_cents": 1000,
              "currency": "USD"
          }
        }
    ],
    "tax_amount": {
        "amount_in_cents": 1000,
        "currency": "USD"
    },
    "shipping_amount": {
        "amount_in_cents": 1000,
        "currency": "USD"
    },
    "metadata": {
        "location_id": "123",
        "store_name": "Downtown Minneapolis",
        "store_manager": "Jane Doe"
    }
}

### Response Body

```json
{
    "checkout_url": "https://checkout.sezzle.com/?id=<checkout_id>",
    "checkout_uuid": "<checkout_id>"
}

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ètreTypeDescription
amount_in_cents*entierLe montant du paiement. Doit être d’au moins 100 montant en cents 1,00 $
currency_code*chaîneLe code de devise du paiement
order_reference_id*chaîneUne référence à ce paiement dans vos systèmes
order_description*chaîneUne description visible par l’utilisateur pour ce paiement
checkout_cancel_url*chaîneL’URL vers laquelle nous devrions rediriger le client en cas d’annulation
checkout_complete_url*chaîneL’URL vers laquelle nous devrions rediriger en cas de paiement réussi
checkout_expirationchaîneExpiration du paiement au format date/heure ISO 8601
customer_detailsobjetLe client du paiement
billing_addressobjetL’adresse de facturation du paiement
shipping_addressobjetL’adresse de livraison du paiement
requires_shipping_infobooléenIndicateur 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
itemstableauLes articles achetés
discountstableauLes remises appliquées. Doivent être incluses dans le total
tax_amountobjetLes taxes appliquées à ce paiement. Doivent être incluses dans le total
shipping_amountobjetLes frais d’expédition appliqués à ce paiement. Doivent être inclus dans le total
merchant_completesbooléenIndicateur pour déterminer si ce paiement doit être complété par le marchand. Si omis, la valeur par défaut sera false
metadataobjetObjet 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_urlobjetUn objet Notification pour envoyer l’URL de paiement au client
localechaîne de caractèresLocalise 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ètreTypeDescription
first_namechaîne de caractèresLe prénom de l’utilisateur
last_namechaîne de caractèresLe nom de famille de l’utilisateur
emailchaîne de caractèresL’adresse e-mail de l’utilisateur
phonechaîne de caractèresLe numéro de téléphone de l’utilisateur

Objet Adresse

Ceci est utilisé à la fois pour la facturation et l’expédition.

ParamètreTypeDescription
namechaîne de caractèresLe nom sur l’adresse
streetchaîne de caractèresLa rue et le numéro de l’adresse
street2chaîne de caractèresL’appartement ou l’unité
citychaîne de caractèresLa ville
statechaîne de caractèresLe code d’état à 2 caractères
postal_codechaîne de caractèresLe code postal
country_codechaîne de caractèresLe code pays à 2 caractères
phone_numberchaîne de caractèresLe numéro de téléphone à l’adresse de livraison

Objet Article

ParamètreTypeDescription
namechaîne de caractèresLe nom de l’article
skuchaîne de caractèresL’identifiant SKU
quantityentierLa quantité achetée
priceobjetL’objet prix

Objet Montant de Taxe

ParamètreTypeDescription
tax_amountobjetUn objet prix

Objet Montant d’Expédition

ParamètreTypeDescription
shipping_amountobjetUn objet prix

Objet Remise

ParamètreTypeDescription
namechaîne de caractèresLa description de la remise
amountobjetUn objet prix

Objet Prix

ParamètreTypeDescription
amount_in_centsentierLe montant de l’article en centimes
currencychaîne de caractèresLe 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ètreTypeDescription
some_field_namechaîne de caractèresChamp de métadonnées personnalisé
some_other_field_namechaîne de caractèresChamp de métadonnées personnalisé

Objet Notification

Un objet de notification valide contient au minimum un téléphone ou un e-mail.

ParamètreTypeDescription
to_sms_phonechaîne de caractèresLe numéro de téléphone SMS de la notification
to_emailchaîne de caractèresL’adresse e-mail de la notification
languagechaîne de caractèresLe 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

{
	"status": 409,
	"id": "checkout_expired",
	"message": "checkout not completed within time limit"
}

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

{
    "created_at": "2018-11-02T20:09:59Z",
    "captured_at": "2018-11-02T20:18:50Z",
    "capture_expiration": "2018-11-02T20:48:45Z",
    "description": "Description of order",
    "amount_in_cents": 20000,
    "usd_amount_in_cents": 20000,
    "customer_amount_in_cents": 20000,
    "currency_code": "USD",
    "customer_currency_code": "USD",
    "reference_id": "Ref123456789",
    "customer": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@sezzle.com",
        "phone": "5555045294"
    },
    "shipping_address": {
        "name": "John Doe",
        "phone_number": "5555045294",
        "street": "123 W Lake St",
        "street2": "Unit 104",
        "city": "Minneapolis",
        "state": "MN",
        "postal_code": "55408",
        "country_code": "US"
    },
    "billing_address": {
        "name": "John Doe",
        "phone_number": "5555045294",
        "street": "123 W Lake St",
        "street2": "Unit 104",
        "city": "Minneapolis",
        "state": "MN",
        "postal_code": "55408",
        "country_code": "US"
    },
    "refunds": [
      {
        "amount": {
          "amount_in_cents": 10000,
          "currency": "USD"
        },
        "created_at": "2018-11-02T20:09:59Z",
        "is_full_refund": false,
        "order_reference_id": "Ref123456789",
        "refund_id": "52b2O9Lv-8",
        "refund_reason": "broken"
      }
    ],
    "metadata": {
      "location_id": "123",
      "store_name": "Downtown Minneapolis",
      "store_manager": "Jane Doe"
    },
    "items": [
        {
          "name": "widget",
          "sku": "sku123456",
          "quantity": 1,
          "price": {
              "amount_in_cents": 1000,
              "currency": "USD"
          }
        }
    ]
}

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ètreTypeValeursDescription
include-shipping-infochaîne de caractèrestrue ou falseSi 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

{
	"refund_id": "41a2O9Lv-7",
	"amount": {
        "amount_in_cents": 500,
        "currency": "USD"
    },
	"refund_reason": "Item returned by user"
}

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ètreTypeDescription
amount*objetUn 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_idstringUUID pour le Remboursement. Doit être unique pour un Marchand.
refund_reasonstringUne raison pour le remboursement.
is_full_refundbooleanRemplaceamount. 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

[
    {
        "uuid": "b7916fbe-f30a-4435-b411-124634287a8ca",
        "payout_currency": "USD",
        "payout_date": "2019-12-09T15:52:33Z",
        "net_settlement_amount": 9370,
        "forex_fees": 0,
        "status": "Complete"
    },
    {
        "uuid": "c51343hba-d54b-5641-e341-15235523b3at",
        "payout_currency": "USD",
        "payout_date": "2019-12-10T15:52:33Z",
        "net_settlement_amount": 23470,
        "forex_fees": 0,
        "status": "Complete"
    }
]

Demande de résumés de règlement

GET https://gateway.sezzle.com/v1/settlements/summaries

Paramètre de requêteDescription
start-date*La date de début UTC pour le rapport. Doit être au format yyyy-mm-dd.
end-dateLa 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.
offsetLe décalage pour le rapport. La limite est de 20.
currency-codeLe 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

total_order_amount,total_refund_amount,total_fee_amount,total_returned_fee_amount,total_chargeback_amount,total_chargeback_reversal_amount,total_interest_transfer_amount,total_correction_amount,total_referral_revenue_transfer_amount,total_bank_account_withdrawals,total_bank_account_withdrawal_reversals,forex_fees,net_settlement_amount,payment_uuid,settlement_currency,payout_date,payout_status
703.20,-5.00,-43.80,.30,0.00,0.00,-4.30,1.71,10.00,100.00,-100.00,0.00,693.61,a5c13qt1-4126-41d3-2fq8-9ca431f51431,USD,2019-11-02 00:05:00 +0000 UTC,Complete
type,order_capture_date,order_created_at,event_date,order_uuid,customer_order_id,external_reference_id,amount,posting_currency,type_code,chargeback_code,sezzle_order_id
ORDER,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,2019-10-22T19:09:50Z,bm99f-31vu1-kg00e-rae1g,1,12345,500.00,USD,001,,66d78e86-fd96-4266-9217-b769c102a0a0
ORDER,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,2019-10-22T19:09:50Z,va13d-474s9-3000e-nungg,13,12346,200.00,USD,001,,5e0d4886-8c3d-4d4e-901a-2046a06c1e0f
ORDER,2019-11-01T20:00:01Z,2019-11-01T00:00:01Z,2019-11-01T00:00:01Z,as41g-4v4s9-3000e-nunh0,1,12347,1.40,USD,001,,a2c1a142-96ad-48c9-93d2-1acaaee9f073
ORDER,2019-11-01T20:00:01Z,2019-11-01T20:00:01Z,2019-11-01T20:00:01Z,as62l-5ptqs-9g00e-pvk10,2,12348,1.80,USD,001,,3f62dcba-f5a4-41be-ad8f-53e938b5f310
FEE,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,bm99f-31vu1-kg00e-rae1g,1,12345,-30.00,USD,003,,66d78e86-fd96-4266-9217-b769c102a0a0
FEE,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,2019-11-01T19:09:50Z,va13d-474s9-3000e-nungg,13,12346,-12.00,USD,003,,5e0d4886-8c3d-4d4e-901a-2046a06c1e0f
FEE,2019-11-01T20:00:01Z,2019-11-01T00:00:01Z,2019-11-01T20:00:01Z,as41g-4v4s9-3000e-nunh0,1,12347,-1.20,USD,003,,a2c1a142-96ad-48c9-93d2-1acaaee9f073
FEE,2019-11-01T20:00:01Z,2019-11-01T20:00:01Z,2019-11-01T20:00:01Z,as62l-5ptqs-9g00e-pvk10,2,12348,-0.60,USD,003,,3f62dcba-f5a4-41be-ad8f-53e938b5f310
REFUND,2019-10-22T19:09:50Z,2019-10-22T19:09:50Z,2019-11-01T19:09:50Z,bm5rm-vg2js-1tsky-c2dsky,8,12344,5.00,USD,002,,e4194956-de70-4958-9da4-6c05f276fdab
RETURNED_FEE,2019-10-22T19:09:50Z,2019-10-22T19:09:50Z,2019-11-01T19:09:50Z,bm5rm-vg2js-1tsky-c2dsky,7,12344,.30,USD,004,,e4194956-de70-4958-9da4-6c05f276fdab
CORRECTION,,,2019-11-01T17:00:01Z,,,,-1.29,,007,
CORRECTION,,,2019-11-01T17:00:01Z,,,,3.00,,007,
INTEREST_TRANSFER,,,2019-11-01T18:00:01Z,,,,-4.30,,008,
REFERRAL_REVENUE_TRANSFER,,,2019-11-01T15:00:01Z,,,,10.00,,009,
BANK_ACCOUNT_WITHDRAWAL,,,2019-11-02T00:05:00Z,,,,100.00,,010,
BANK_ACCOUNT_WITHDRAWAL_REVERSAL,,,2019-11-02T00:05:00Z,,,,-100.00,,011,

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êteDescription
metadataUne 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 colonneDescription
Total order amountLa somme de toutes les commandes sur ce paiement.
Total refund amountLa somme de tous les remboursements sur ce paiement.
Total fee amountLa somme de tous les frais sur ce paiement.
Total returned fee amountLa somme de tous les frais retournés sur ce paiement.
Total chargeback amountLa somme de tous les rejets de débit sur ce paiement.
Total chargeback reversal amountLa somme de toutes les annulations de rejets de débit sur ce paiement.
Total interest transfer amountLa 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 amountLa somme de toutes les corrections sur ce paiement.
Total referral revenue transfer amountLa somme de tous les transferts de revenus de parrainage sur ce paiement.
Total bank account withdrawal amountLa somme de tous les retraits de compte bancaire.
Total bank account withdrawal reversal amountLa somme de toutes les annulations de retraits de compte bancaire, qui reflètent un retrait de compte bancaire ayant échoué.
Forex feesLe coût des frais de change associés à ce paiement.
Net settlement amountMontant net du règlement.
Payment uuidL’UUID pour ce paiement.
Settlement currencyLa devise dans laquelle ce paiement a été envoyé.
Payout dateLa date à laquelle ce paiement a été envoyé.
Payout statusLe statut actuel de ce paiement.

Définitions des colonnes des éléments de ligne

En-tête de colonneDescription
TypeDécrit le type d’événement (Commande, Frais, Remboursement, etc.).
Order capture dateLa date à laquelle la commande a été capturée. Ce champ est vide si la commande n’a pas encore été capturée.
Order created atLa date à laquelle la commande a été créée.
Event dateLa date à laquelle l’événement a eu lieu.
Order uuidL’uuid associé à la commande.
Customer order idLe numéro de commande du client.
External reference idL’ID de référence externe soumis avec la commande.
AmountLe montant de l’événement.
Posting currencyLe code de devise du client.
Type codeUn code numérique qui correspond au champ Type.
Chargeback codeUn code numérique qui correspond au type de rejet de débit soumis.
Sezzle order IDL’ID interne que Sezzle a attribué à cette commande.

Définitions des types d’événements des éléments de ligne

TypeDescriptionCode de type
ORDERUne commande terminée avec Sezzle.001
REFUNDUne commande qui a été remboursée.002
FEELes frais évalués par Sezzle pour une commande donnée.003
RETURNED_FEEDes frais remboursés par Sezzle.004
CHARGEBACKUn rejet de débit résultant d’une commande contestée.005
CHARGEBACK_REVERSALUne annulation d’un rejet de débit résultant d’une commande contestée.006
CORRECTIONUne correction manuelle d’un paiement.007
INTEREST_TRANSFERUn transfert du compte d’intérêts Sezzle.008
REFERRAL_REVENUE_TRANSFERUn paiement gagné grâce au programme de parrainage de marchands de Sezzle.009
BANK_ACCOUNT_WITHDRAWALUn retrait de fonds de votre banque pour couvrir un solde négatif avec Sezzle.010
BANK_ACCOUNT_WITHDRAWAL_REVERSALUn 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

{
  "interest_balance": 5183.4624
}

Demande de solde du compte d’intérêts

GET https://gateway.sezzle.com/v1/interest/balance

Paramètre de requêteDescription
currency-codeLe 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

type,event_date,interest_account_change_amount,interest_account_balance_after_change
INTEREST_PAYOUT,2019-12-21T19:10:00Z,122.8718,5101.4676	
INTEREST_WITHDRAWAL,2019-12-21T19:20:00Z,-26.1000,5075.3676	
INTEREST_ACCRUAL,2019-12-21T19:15:00Z,1.0702,5182.3922
INTEREST_ACCRUAL,2019-12-22T19:15:00Z,1.0702,5183.4624

Demande d’activité du compte d’intérêts

GET https://gateway.sezzle.com/v1/interest/activity

Paramètre de requêteDescription
start-date*La date de début pour le rapport. Doit être au format yyyy-mm-dd.
end-dateLa date de fin pour le rapport. Doit être au format yyyy-mm-dd. Si omis, la date actuelle sera utilisée par défaut.
offsetLe décalage pour le rapport.
currency-codeLe code de devise ISO-4217 du compte d’intérêts. Si omis, USD sera utilisé par défaut.

Webhooks

Webhooks de commande

{
	"time": "2017-10-19T00:33:10.548372055Z",
	"uuid": "02c5a2a0-8394-4b45-80b3-52d40c494322",
	"type": "order_update",
	"event": "order_complete",
	"object_uuid": "Ref123456789",
	"refund_id": "szl-a0293Pn-3948-80b3-ao34JAia39zQ",
	"refund_amount": {
        "amount_in_cents": 500,
        "currency": "USD"
    }
}
  • 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ètreTypeDescription
timestringL’heure (UTC) à laquelle le Webhook a été généré.
uuidstringUn identifiant unique pour le webhook.
typestringLa catégorie de haut niveau. Par exemple,order_update
eventstringL’action spécifique. Par exemple,order_complete
object_uuidstringL’ID pour le Checkout/Commande.
refund_idstringoptionalID unique pour un remboursement. Inclus si l’événement webhook est order_refund.
refund_amountobjectoptionalObjet Prix. Inclus si l’événement webhook est order_refund.

Pour les webhooks de mise à jour de commande, leobject_uuidretourné 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énementDescription
order_updateorder_completeLe checkout a été complété avec succès
order_updateorder_refundLa commande a été remboursée depuis le tableau de bord marchand Sezzle

Erreurs

Corps d’erreur de réponse

{
	"status": 400,
	"id": "error_id",
	"message": "Descriptive message"
}
  • 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ètreTypeDescription
StatusintCorrespond au code de statut HTTP de la réponse
IDstringUn identifiant programmatique pour l’erreur. Ceux-ci changent rarement (voire jamais).
MessagestringUne 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

checkout.startCheckout({
    checkout_payload: {
        "amount_in_cents": 12999,
        "currency_code": "USD",
        "order_reference_id": "Ref123456789",
        "order_description": "Order #1800",
    }
});
  • 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

checkout.capturePayment("Ref123456789");

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.