QR API webhooks
Install AI tools
Give your assistant up-to-date guidance for our APIs, with our plugin or without it.
The plugin is still under development. See the AI tools page for details.
- Claude Code
- Cursor
- Codex
- Without installing
Run both commands, in order.
claude plugin marketplace add vippsas/agent-toolkit
claude plugin install vipps-developer@agent-toolkit
Open Settings, then Plugins.
Add vippsas/agent-toolkit as a plugin marketplace, then install the "vipps-developer" plugin.
For the app, add the marketplace "vippsas/agent-toolkit" and then install "vipps-developer". For the CLI, run the following commands.
codex plugin marketplace add vippsas/agent-toolkit
codex plugin add vipps-developer@agent-toolkit
Paste this into any assistant.
Read https://github.com/vippsas/agent-toolkit/blob/main/plugins/vipps-developer/README.md for Vipps MobilePay integration guidance.
For troubleshooting, see the full instructions.
You can receive instant notifications about important events. To set up the basic webhook infrastructure, you need to register your webhook URL, as described in the Webhooks API guide. We'll send the real-time notifications about subscription events to the URL you specify.
The QR solution currently has one webhook event that you can subscribe to.
User checked in event​
The central part of the Merchant Callback QR flow is the callback that will be sent to the merchant when a customer scans the QR.
To receive these callbacks, the merchant needs to register a subscription to the user.checked-in.v1 webhook event.
There can be a maximum of one webhook registration for each sales unit. In addition to that, there can also be a registered partner webhook. For more about these limits, see webhook limits.
When the QR is scanned and there is both a partner webhook and a sales unit webhook, then the sales unit webhook will be used.
Here is the payload for the user.checked-in.v1 event:
| Name | Type | Description |
|---|---|---|
customerToken | Base64 string | A reference to the customer. Should be used when initiating a payment through the ePayment API. Token is valid for 15 minutes. |
merchantQrId | string | The ID of the QR code that has been scanned, which is defined by the merchant when the QR was created. |
msn | string | Merchant serial number. A unique ID of the sales unit to which the scanned QR belongs. |
initiatedAt | UTC Timestamp in ISO 8601 format | The timestamp of when the customer scanned the QR. |
Example of user.checked-in.v1 payload:
{
"customerToken": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"merchantQrId": "d8b7d76d-49aa-48b8-90c6-38779372c163",
"msn": "12345",
"initiatedAt": "2023-10-06T10:45:40.3061965Z"
}