{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "payment-method-deactivated",
"timestamp": 1793610900
},
"payload": {
"resource": "payment-method",
"id": 42017,
"status": "inactive",
"ibanLast4": "3000",
"reasonClass": "revoked"
}
}Payment methods
payment-method-deactivated
A SEPA mandate was deactivated
WEBHOOK
payment-method-deactivated
{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "payment-method-deactivated",
"timestamp": 1793610900
},
"payload": {
"resource": "payment-method",
"id": 42017,
"status": "inactive",
"ibanLast4": "3000",
"reasonClass": "revoked"
}
}Audience: consumer · Trigger: the mandate is revoked or fails hard · Payload: mandate summary
Verify the
{resource, id, status, …} · Permission: subscribing needs view-consumer-billing
Billing event. Requires a webhook endpoint subscribed by a consumer partner; payloads never include payment-provider messages. See Billing webhooks.
x-signing-signature header before you trust the body (Verifying signatures). Deliveries are at least once and unordered; deduplicate on event.id.Authorizations
Your API key in Authorization: Bearer <key>. Use vk_test_… keys against the sandbox and vk_live_… keys against production.
Headers
t=<unix seconds>,s1=<hex HMAC-SHA256 of "<raw body>.<t>" with your first secret>,s2=<the same with your second secret>. Accept the delivery when either signature matches. See Verifying signatures.
Body
application/json
Response
Acknowledge receipt within 15 seconds.