Xsolla envoie le webhook order_paid
à l'URL spécifiée lorsque les
conditions suivantes sont remplies :
payment
.Le webhook order_paid
contient des informations sur les objets
achetés et les détails de la transaction.
Le webhook order_paid
ne sera pas envoyé si :
payment
n'a été reçue.Il est recommandé de s'assurer que la vitesse de traitement du webhook
order_paid
soit inférieure à 3 secondes.
Les réponses attendues sont décrites dans la section Réponses. Vous pouvez utiliser d'autres codes de réponse. En fonction du code de réponse et de la connexion à la fonctionnalité de retour automatique de paiement, la logique de traitement du webhook côté Xsolla est la suivante :
Code de réponse | Retour automatique de paiement désactivé (par défaut) | Retour automatique de paiement activé |
---|---|---|
400 , 401 , 402 , 403 , 404 , 409 , 422 , 415 |
Aucune action | Remboursement automatique à l'utilisateur |
200 , 201 , 204 |
Aucune action | Aucune action |
Code différent ou absence de réponse au webhook | Plusieurs webhooks sont envoyés à des intervalles de temps spécifiques : 2 tentatives à intervalles de 5 minutes, 7 tentatives à intervalles de 15 minutes, 10 tentatives à intervalles de 60 minutes. | Plusieurs webhooks sont envoyés à des intervalles de temps spécifiques : 2 tentatives à intervalles de 5 minutes, 7 tentatives à intervalles de 15 minutes, 10 tentatives à intervalle de 60 minutes. Si tous les webhooks sont envoyés mais qu'aucune réponse n'est reçue, l'utilisateur est automatiquement remboursé. |
Pour connecter la fonctionnalité de remboursement automatique, contactez le responsable de compte du projet ou envoyez un e-mail à am@xsolla.com.
notification_type required | string Type de notification. | ||||||||||||||||||||||||||||||||||||||
required | Array of objects Liste des objets achetés par l'utilisateur. | ||||||||||||||||||||||||||||||||||||||
Array | |||||||||||||||||||||||||||||||||||||||
required | object Informations sur commande. | ||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
required | object Informations sur l'utilisateur. | ||||||||||||||||||||||||||||||||||||||
custom_parameters | object Informations supplémentaires. |
Renvoyez pour indiquer un traitement réussi.
Renvoyez en cas d'erreur dans les informations fournies (par exemple, un paramètre requis manquant, une autorisation échouée, etc.).
curl -v 'https://your.hostname/your/uri' \ -X POST \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Signature d09695066c52c1b8bdae92f2d6eb59f5b5f89843' \ -d '{ "notification_type": "order_paid", "items": [ { "sku": "virtual-good-item_test", "type": "virtual_good", "is_pre_order": false, "quantity": 3, "amount": "1000", "promotions": [ { "amount_without_discount": "6000", "amount_with_discount": "5000", "sequence": 1 }, { "amount_without_discount": "5000", "amount_with_discount": "4000", "sequence": 2 } ], "custom_attributes": { "purchased": 0, "attr": "value" } }, { "sku": "virtual-good-item_test_test_new", "type": "bundle", "is_pre_order": false, "quantity": 1, "amount": "1000", "promotions": [] }, { "sku": "gold", "type": "virtual_currency", "is_pre_order": false, "quantity": 1500, "amount": "[null]", "promotions": [] } ], "order": { "id": 1, "mode": "default", "currency_type": "virtual", "currency": "sku_currency", "amount": "2000", "status": "paid", "platform": "xsolla", "comment": null, "invoice_id": "1", "promotions": [ { "amount_without_discount": "4000", "amount_with_discount": "2000", "sequence": 1 } ], "promocodes": [ { "code": "promocode_some_code", "external_id": "promocode_sku" } ], "coupons": [ { "code": "WINTER2021", "external_id": "coupon_sku" } ] }, "user": { "external_id": "id_xsolla_login_1", "email": "gc_user@xsolla.com" } }'