Passer au contenu principal

Signature Webhook

  • Sécurisé avec signature HMAC-SHA256.
  • L’en-tête Sezzle-Signature contient un hachage du corps du webhook, généré à l’aide de la clé privée du marchand.
  • Vérifiez toujours que la signature correspond aux données du webhook pour confirmer qu’il provient de Sezzle.

Charge utile de l’événement Webhook

  • Options
  • Modèle
uuid
string
Identifiant unique pour l’événement webhook.
created_at
string
Horodatage (ISO 8601) lorsque l’événement a été généré.
event
string
Type de l’événementOptions disponibles : customer.tokenized, order.authorized, order.captured, order.refunded, dispute.merchant_input_requested, dispute.deadline_approaching, dispute.closed.customer_win, dispute.closed.merchant_win, dispute.closed.neutral
data_type
string
Type de données associées à l’événement.Options disponibles : customer, order, dispute
data
object
Données de charge utile spécifiques au type d’événement. Voir les options dans l’accordéon applicable ci-dessous.

Exemples par événement

{
    "uuid": "e41c32d5-687d-414f-b5c6-d089bea52e7d",
    "created_at": "2025-04-12T00:11:01.749261Z",
    "event": "customer.tokenized",
    "data_type": "tokenize",
    "data": {
        "token": "ce56604a-5dfd-489a-80e9-753d0325dd46",
        "expiration": "2025-04-12T00:41:01.745145Z",
        "customer": {
            "uuid": "e0003e6a-7234-4440-9265-61906e8b8879",
            "created_at": "2025-04-12T00:11:01.745145Z",
            "expiration": "2026-04-12T00:11:01.745145Z"
        }
    }
}
{
    "uuid": "fdb263a1-a1dd-4feb-8749-c8a447977ebb",
    "created_at": "2025-04-12T00:15:39.281826Z",
    "event": "order.authorized",
    "data_type": "order",
    "data": {
        "uuid": "f36605a0-4a96-46d1-9d01-a0b17140dc57",
        "authorization": {
            "uuid": "28ef487d-8398-43bb-8354-5ebdd1eb7b40",
            "created_at": "2025-04-12T00:15:39.276841Z",
            "authorization_amount": {
                "amount_in_cents": 5000,
                "currency": "USD"
            },
            "approved": true,
            "expiration": "2025-04-12T00:45:39.276841Z"
        }
    }
}
{
    "uuid": "6ee025c6-8acf-48fe-a6d6-b51693d64c60",
    "created_at": "2025-04-12T00:20:07.44668Z",
    "event": "order.captured",
    "data_type": "order",
    "data": {
        "uuid": "b87305a1-6be3-4877-bcf0-2b5b7dfaeaf0",
        "capture": {
            "uuid": "b69b1ba8-e977-4f26-9253-06f14d941696",
            "created_at": "2025-04-12T00:20:07.438365Z",
            "amount": {
                "amount_in_cents": 3000,
                "currency": "USD"
            }
        }
    }
}
{
    "uuid": "ed89f046-f55e-4fdd-9f65-ec3d8e961f99",
    "created_at": "2025-04-12T00:24:39.809499Z",
    "event": "order.refunded",
    "data_type": "order",
    "data": {
        "uuid": "b69f882d-06c3-4f2e-b6e3-ce7a6c46e455",
        "refund": {
            "uuid": "479e9d25-d0a5-49df-a2d3-6ca1d75b8c57",
            "created_at": "2025-04-12T00:24:39.805651Z",
            "amount": {
                "amount_in_cents": 500,
                "currency": "USD"
            }
        }
    }
}
Ce qui suit s’applique aux webhooks suivants :
  • dispute.merchant_input_requested
  • dispute.deadline_approaching
  • dispute.closed.customer_win
  • dispute.closed.merchant_win
  • dispute.closed.neutral
{
    "uuid": "79f1e9cd-f1ef-42fa-b7b4-2ed8d9e9fae8",
    "created_at": "2025-04-11T17:22:22.717757Z",
    "event": "dispute.merchant_input_requested",
    "data_type": "dispute",
    "data": {
        "customer_name": "John Doe",
        "order_uuid": "e17280f3-d575-4bc2-99ff-ff881df7b137",
        "order_reference_id": "order-reference-id-123",
        "sezzle_order_id": "d2s7t-281qj-rf6ra-dqfcg",
        "order_date": "2024-08-20",
        "dispute_type": "No Product Or Service",
        "dispute_due_date": "2025-04-08",
        "dispute_id": 132,
        "dispute_amount_in_cents": 2500,
        "dispute_currency": "USD",
        "dispute_status": "Closed All Win"
    }
}

Acceptation et nouvelles tentatives de Webhook

  • Considéré comme livré après avoir reçu une réponse HTTP 200 Status OK.
  • Les réponses non-200 déclenchent des nouvelles tentatives :
    • Plusieurs tentatives dans la première heure.
    • Quelques tentatives tout au long de la journée.
    • Dernières tentatives un jour et trois jours plus tard, s’étendant sur cinq jours au total.
  • Si la dernière tentative échoue, l’abonnement aux webhooks est supprimé pour tous les événements.
  • Pour recommencer à recevoir des webhooks, recréez le webhook.
  • Les webhooks peuvent ne pas arriver dans l’ordre chronologique, car de nouveaux peuvent être envoyés avant les nouvelles tentatives des plus anciens.
  • Les webhooks réessayés utilisent la clé privée actuelle du marchand pour la signature, donc la signature peut différer de l’originale si la clé a changé.