Looking for ePay classic docs? Go to docs.epay.dk
ePay documentationDocsePay documentation

Vipps MobilePay Subscription Cancelled Webhook

If a customer cancels a subscription in the MobilePay app, the subscription will be disabled in ePay. To be notified about this, create a webhook subscribed to the event subscription.disabled.v1. This webhook is useful when you need to update your own subscription state immediately after the customer has canceled outside your own system.

Create the webhook

Create a webhook using POST /public/api/v1/webhooks and subscribe it to subscription.disabled.v1.

{  "url": "https://merchant.example.com/webhooks/subscription-disabled",  "events": ["subscription.disabled.v1"],  "secret": "Bearer webhook-secret-value"}

Example response:

{  "webhook": {    "id": "019713fd-c838-79c8-8dbf-ef5df2817d65",    "url": "https://merchant.example.com/webhooks/subscription-disabled",    "events": ["subscription.disabled.v1"],    "pausedAt": null,    "pauseReason": null,    "createdAt": "2026-05-27T10:15:00Z"  }}

Example webhook

When the subscription is cancelled by the customer, ePay will send a webhook like this:

Authorization: Bearer webhook-secret-valueContent-Type: application/json

{  "event": "subscription.disabled.v1",  "data": {    "subscription": {      "id": "01997047-ead3-7cdb-9501-d226789ed32b",      "createdAt": "2025-09-22T07:16:25.427852Z",      "paymentMethodId": "01997048-1038-772e-99de-3a467ce1babd",      "pointOfSaleId": "01932061-c660-714c-bfea-f6a9c1f4f35b",      "currency": "DKK",      "customerId": "customer-123",      "reference": "subscription-1",      "description": "MobilePay subscription",      "expiryDate": null,      "state": "DISABLED",      "type": "SCHEDULED",      "interval": {        "frequency": 1,        "period": "MONTH"      }    }  }}

Notes

  • ePay expects a 200 OK response. Otherwise the webhook will be retried.
  • The Authorization header contains the secret configured on the webhook and should be validated by your system.

How is this guide?