Les évènements du Checkout Stan est un moyen d’échanger des informations avec votre serveur lorsqu’un client procède au Checkout Stan. Un évènement consiste en un appel de votre URL de webhook :

POST https://votre-webhook.fr/stan/event
Content-Type: application/json
X-HMAC-Signature: <signature HMAC>
X-Stan-SessID: <session id lors de la création du checkout>

Corps d’une requête d’évènement

Tous les évènements ont une structure de base qui comporte un champs variable selon l’évènement. La structure de base est la suivante :

Corps JSON d'une requête d'évènement
{
    "event_type": "string",             // type d'évènement
	"payload": "object|undefined"       // informations relatives à l'évènement
}

Signature HMAC

Tous les évènements sont signés avec HMAC, la signature est incluse dans l’en-tête HTTP X-HMAC-Signature. Utilisez cette signature pour vérifier que l’évènement a bien été envoyé par les services de Stan. La clé secrète pour générer la signature est la secret_key de vos identifiants API. Voici quelques exemples pour vérifier la signature d’un évènement :

$secret_key = 'ma_cle_secrete';

// $payload est le corps de la requête de l'évènement
$expected_signature = base64_encode( hash_hmac( 'sha256', $payload, $secret_key, true ) );

// $signature est la signature récupérée dans l'en-tête X-HMAC-Signature
$verify_signature = ( 'sha256=' . $expected_signature == $signature );

// si $verify_signature est true, la signature est valide

Liste des évènements

Nom de l’évènementDescription
payment.createdUn paiement a été tenté.
payment.status_changedLe status d’un paiement relatif à un checkout a changé.
customer.createdUn client a été créé.
customer.shipping_address_changedLe client a changé son adresse de livraison.
customer.authenticatedLe client s’est authentifié.
checkout.line_item_changedLe client a modifié son panier.
checkout.shipping_method_changedLe client a choisi une méthode de livraison.

Corps des requêtes d’évènement