Webhooks : événements d'abonnement
Webhooks
v3/subscription.invoice.payment.succeeded
Cet événement est déclenché lorsqu'un paiement d'abonnement réussit.v3/subscription.invoice.payment.failed
Cet événement est déclenché lorsqu'un paiement d'abonnement échoue.v3/subscription.state.cancellationRequested
Cet événement est déclenché lorsqu'une annulation d'abonnement est demandée.v3/subscription.state.cancelled
Cet événement est déclenché lorsqu'un abonnement est annulé.
Entités
v3/subscription.invoice.payment.succeeded
Cet événement est déclenché lorsqu'un paiement d'abonnement réussit. Le premier paiement ne déclenchera pas cet événement, seuls les paiements récurrents le feront.
eventName
"v3/subscription.invoice.payment.succeeded"
Le nom de l'événement sera toujours le même lorsque cet événement se produira.
mode
"Live" | "Test"
Le mode dans lequel l'abonnement a été créé.
createdOn
Date
La date à laquelle le webhook a été envoyé.
content
Content
Contenu
subscription
Subscription
L'abonnement associé à l'événement webhook.
order
Order
La commande associée au paiement réussi
{
"eventName": "v3/subscription.invoice.payment.succeeded",
"mode": "Live",
"createdOn": "2021-04-15T20:44:49.0012982Z",
"content": {
"order": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"subscription": {
"id": "d308276c-b488-4b7e-8312-65b183c75e4a",
"selectedPlan": {
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
},
"initialOrder": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"items": [
{
"customFields": [
],
"unitPrice": 10.00,
"uniqueId": "f735740c-ab99-4828-9505-3e76b51ce449",
"name": "Painting Lessons",
"price": 10.00,
"hasTaxesIncluded": false,
"image": "static/images/mrross.jpg",
"quantity": 1
}
],
"nextBillingDate": null,
"finalBillingDate": "2021-04-15T20:39:21Z",
"state": "CancellationRequested",
"customerDetailsId": 44,
"card": {
"last4": "4242",
"brand": "visa"
}
}
}
}
v3/subscription.invoice.payment.failed
Cet événement est déclenché lorsqu'un paiement d'abonnement échoue. Le premier paiement ne déclenchera pas cet événement, seuls les paiements récurrents le feront.
eventName
"v3/subscription.invoice.payment.failed"
Le nom de l'événement sera toujours le même lorsque cet événement se produira.
mode
"Live" | "Test"
Le mode dans lequel l'abonnement a été créé.
createdOn
Date
La date à laquelle le webhook a été envoyé.
content
Content
Content
subscription
Subscription
L'abonnement associé à l'événement webhook.
order
Order
La commande associée au paiement échoué.
{
"eventName": "v3/subscription.invoice.payment.failed",
"mode": "Live",
"createdOn": "2021-04-15T20:44:49.0012982Z",
"content": {
"order": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"subscription": {
"id": "d308276c-b488-4b7e-8312-65b183c75e4a",
"selectedPlan": {
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
},
"initialOrder": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"items": [
{
"customFields": [
],
"unitPrice": 10.00,
"uniqueId": "f735740c-ab99-4828-9505-3e76b51ce449",
"name": "Painting Lessons",
"price": 10.00,
"hasTaxesIncluded": false,
"image": "static/images/mrross.jpg",
"quantity": 1
}
],
"nextBillingDate": null,
"finalBillingDate": "2021-04-15T20:39:21Z",
"state": "CancellationRequested",
"customerDetailsId": 44,
"card": {
"last4": "4242",
"brand": "visa"
}
}
}
}
v3/subscription.state.cancellationRequested
Cet événement est déclenché lorsqu'un commerçant ou un client annule un abonnement. L'abonnement restera dans l'état cancellationRequested
jusqu'à la fin du cycle de facturation.
eventName
"v3/subscription.state.cancellationRequested"
Le nom de l'événement sera toujours le même lorsque cet événement se produira.
mode
"Live" | "Test"
Le mode dans lequel l'abonnement a été créé.
createdOn
Date
La date à laquelle le webhook a été envoyé.
content
Content
Contenu
subscription
Subscription
L'abonnement associé à l'événement webhook.
{
"eventName": "v3/subscription.state.cancellationRequested",
"mode": "Live",
"createdOn": "2021-04-15T20:44:49.0012982Z",
"content": {
"subscription": {
"id": "d308276c-b488-4b7e-8312-65b183c75e4a",
"selectedPlan": {
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
},
"initialOrder": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"items": [
{
"customFields": [
],
"unitPrice": 10.00,
"uniqueId": "f735740c-ab99-4828-9505-3e76b51ce449",
"name": "Painting Lessons",
"price": 10.00,
"hasTaxesIncluded": false,
"image": "static/images/mrross.jpg",
"quantity": 1
}
],
"nextBillingDate": null,
"finalBillingDate": "2021-04-15T20:39:21Z",
"state": "CancellationRequested",
"customerDetailsId": 44,
"card": {
"last4": "4242",
"brand": "visa"
}
}
}
}
v3/subscription.state.cancelled
Cet événement est déclenché lorsqu'un commerçant ou un client a demandé l'annulation d'un abonnement et que le cycle de facturation est terminé. Il peut également être déclenché au début d'un cycle de facturation si le paiement précédent a été refusé. En savoir plus sur le paiement récurrent ici
eventName
"v3/subscription.state.cancelled"
Le nom de l'événement sera toujours le même lorsque cet événement se produira.
mode
"Live" | "Test"
Le mode dans lequel l'abonnement a été créé.
createdOn
Date
La date à laquelle le webhook a été envoyé.
content
Content
Contenu
subscription
Subscription
L'abonnement associé à l'événement webhook.
{
"eventName": "v3/subscription.state.cancelled",
"mode": "Live",
"createdOn": "2021-04-15T20:44:49.0012982Z",
"content": {
"subscription": {
"id": "d308276c-b488-4b7e-8312-65b183c75e4a",
"selectedPlan": {
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
},
"initialOrder": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
...
},
"shippingAddress": {
...
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"items": [
{
"customFields": [
],
"unitPrice": 10.00,
"uniqueId": "f735740c-ab99-4828-9505-3e76b51ce449",
"name": "Painting Lessons",
"price": 10.00,
"hasTaxesIncluded": false,
"image": "static/images/mrross.jpg",
"quantity": 1
}
],
"nextBillingDate": null,
"finalBillingDate": "2021-04-15T20:39:21Z",
"state": "CancellationRequested",
"customerDetailsId": 44,
"card": {
"last4": "4242",
"brand": "visa"
}
}
}
}
Plan
id
guid
L'identifiant unique du plan.
userDefinedId
guid
L'identifiant du plan défini par les balises utilisées dans le bouton de définition du produit..
name
string
Le nom du plan. Cette information est affichée comme nom de l'abonnement dans tous les courriels, dans le tableau de bord du commerçant et dans le tableau de bord client.
interval
number
L'intervalle de paiement, par exemple, si la fréquence est Weekly
(hebdomadaire) et l'intervalle est de 2, les paiements seront effectués toutes les deux semaines.
count
number | null
Le nombre de cycles de facturation avant que l'abonnement ne s'arrête. Si le nombre n'est pas défini, l'abonnement sera renouvelé indéfiniment. Cela peut être utile lorsque vous devez prendre un nombre spécifique de paiements.
frequency
"Daily" | "Weekly" | "Monthly" | "Yearly"
La fréquence des paiements. Ceci peut être combiné avec l'intervalle pour permettre plus de flexibilité.
{
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
}
Address
fullName
string
address1
string
L'adresse postale.
address2
string
Le numéro d'appartement.
city
string
country
string
postalCode
string
province
string
La province/état/région.
phone
string
{
"fullName": "John Doe",
"address1": "123 street name",
"address2": "ap. 5",
"city": "Quebec",
"country": "CA",
"postalCode": "G1G 1G1",
"province": "QC",
"phone": ""
}
Order
token
guid
L'identifiant unique de la commande.
creationDate
Date
La date à laquelle la commande a été créée.
invoiceNumber
string
Le numéro de facture de la commande. Celui-ci apparaît sur la facture envoyée au client.
billingAddress
Address
L'adresse de facturation du client.
shippingAddress
Address
L'adresse de livraison du client.
total
number
Le total de la commande.
currency
string
La devise de la commande.
subtotal
number
Le sous-total de la commande.
discounts
Discount[]
Rabais appliqués à la commande.
Discount
id
guid
L'identifiant unique du rabais.
amountSaved
number
Le montant économisé grâce au rabais.
name
string
Le nom du rabais. Celui-ci apparaît sur la facture envoyée au client.
value
number
La valeur du rabais. Ceci est équivalent à amountSaved
* -1.
type
"Rate" | "AlternatePrice" | "FixedAmount" | "Shipping" | "FixedAmountOnItems" | "GetFreeItems" | "RateOnItems" | "AmountOnSubscription" | "RateOnSubscription" | "FixedAmountOnCategory" | "RateOnCategory"
Le type du rabais.
taxes
Tax[]
Taxes appliquées à la commande.
Tax
name
string
Le nom de la taxe. Celui-ci apparaît sur la facture envoyée au client.
amount
number
Le montant taxé.
rate
number
Le taux de taxe. Par exemple : 20 % sera 0.2
appliesOnShipping
boolean
Indique si le taux de taxe s'applique aux frais de livraison.
includedInPrice
boolean
Indique si le taux de taxe est inclus dans le prix.
shippingInformation
ShippingInformation
Les informations sur la méthode de livraison.
ShippingInformation
method
string
Le nom de la méthode de livraison.
uderDefinedId
string
L'identifiant de la méthode de livraison défini par le commerçant.
cost
number
Le coût de la méthode de livraison
{
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
"fullName": "John Doe",
"address1": "123 street name",
"address2": "ap. 5",
"city": "Quebec",
"country": "CA",
"postalCode": "G1G 1G1",
"province": "QC",
"phone": ""
},
"shippingAddress": {
"fullName": "John Doe",
"address1": "123 street name",
"address2": "ap. 5",
"city": "Quebec",
"country": "CA",
"postalCode": "G1G 1G1",
"province": "QC",
"phone": ""
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
},
{
"name": "PST",
"amount": 1.50,
"rate": 0.0997500000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
}
Subscription
id
guid
L'identifiant unique de l'abonnement
selectedPlan
Plan
Le plan associé à l'abonnement.
initialOrder
Order
La première commande créée pour l'abonnement.
nextBillingDate
Date
La prochaine date de facturation.
finalBillingDate
Date
La date de facturation finale. Lorsque l'abonnement est arrêté ou terminé, cela représente la date du dernier cycle de facturation facturé.
state
"Active" | "Paused" | "Finished" | "Stopped" | "CancellationRequested"
L'état de l'abonnement.
Active : L'abonnement est en cours
Paused : L'abonnement est en pause mais il reprendra éventuellement
Finished : L'abonnement avait un compte et toutes les récurrences sont passées
Stopped : L'abonnement a été interrompu et ne reprendra pas
CancellationRequested : L'annulation de l'abonnement a été demandée et il sera annulé à la prochaine date de facturation
items
Item[]
Les articles de l'abonnement.
Item
uniqueId
Order
L'identifiant unique de l'article.
name
string
Le nom de l'article. Celui-ci apparaît sur la facture envoyée au client.
price
number
Le prix total de l'article. quantity
* `unitPrice
hasTaxesIncluded
boolean
Indique si les taxes sont incluses dans le prix.
image
string
L'URL de l'image de l'article.
quantity
number
La quantité de cet article particulier dans la commande.
unitPrice
number
Le prix d'un seul article.
cutomFields
CustomField[]
Les champs personnalisés de l'article.
CustomField
name
string
Le nom du champ personnalisé.
value
string
La valeur du champ personnalisé.
card
Card
Les informations de la carte utilisée pour payer l'abonnement.
Card
last4
string
Les 4 derniers chiffres de la carte.
brand
string
La marque de la carte
{
"id": "d308276c-b488-4b7e-8312-65b183c75e4a",
"selectedPlan": {
"id": 1,
"userDefinedId": "daily-plan",
"name": "Daily plan",
"interval": 1,
"count": null,
"frequency": "daily",
"trialPeriodInDays": 0
},
"initialOrder": {
"token": "d308276c-b488-4b7e-8312-65b183c75e4a",
"creationDate": "2021-04-15T20:39:21Z",
"invoiceNumber": "SNIP11442",
"billingAddress": {
"fullName": "John Doe",
"address1": "123 street name",
"address2": "ap. 5",
"city": "Quebec",
"country": "CA",
"postalCode": "G1G 1G1",
"province": "QC",
"phone": ""
},
"shippingAddress": {
"fullName": "John Doe",
"address1": "123 street name",
"address2": "ap. 5",
"city": "Quebec",
"country": "CA",
"postalCode": "G1G 1G1",
"province": "QC",
"phone": ""
},
"total": 17.25,
"currency": "usd",
"discounts": [
],
"taxes": [
{
"name": "Sales tax",
"amount": 0.75,
"rate": 0.0500000000,
"appliesOnShipping": true,
"includedInPrice": false
},
{
"name": "PST",
"amount": 1.50,
"rate": 0.0997500000,
"appliesOnShipping": true,
"includedInPrice": false
}
],
"subtotal": 10.00,
"shippingInformation": {
"method": "Canada Post Regular Shipping",
"userDefinedId": null,
"cost": 5.00
}
},
"items": [
{
"customFields": [
],
"unitPrice": 10.00,
"uniqueId": "f735740c-ab99-4828-9505-3e76b51ce449",
"name": "Painting Lessons",
"price": 10.00,
"hasTaxesIncluded": false,
"image": "static/images/mrross.jpg",
"quantity": 1
}
],
"nextBillingDate": null,
"finalBillingDate": "2021-04-15T20:39:21Z",
"state": "CancellationRequested",
"customerDetailsId": 44,
"card": {
"last4": "4242",
"brand": "visa"
}
}