Variable price payment agreement
Install AI tools
Our plugin gives your assistant up-to-date guidance for payments and login. Full instructions
- Claude Code
- Cursor
- Codex
- Any editor
Run both commands, in order.
claude plugin marketplace add vippsas/agent-toolkit
claude plugin install vipps@agent-toolkit
Open Settings, then Plugins.
Add vippsas/agent-toolkit as a plugin marketplace, then install the "vipps" plugin.
See the Codex plugin docs at developers.openai.com/codex.
Add vippsas/agent-toolkit as a plugin marketplace, then install the "vipps" plugin.
No plugin needed. Paste this into your assistant.
Read https://developer.vippsmobilepay.com/llms.txt for the Vipps MobilePay developer documentation.
A variable price payment agreement allows you to charge the user differing amounts at each interval (e.g., monthly, weekly), up to a maximum limit that the user approves in advance. This is ideal for services where the payment amount may change, such as usage-based billing. The interval can also be different, which makes it ideal for any pay-per-use services.
Example industries/use-cases
Utilities: Power, water, telecom bills or EV charging where the amount depends on usage
Food Delivery & Groceries: Weekly meal delivery with changing order totals
Mobility & Transport: Car sharing or bike rental subscriptions with variable monthly charges
Parking & Charging: Parking apps or parking aggregators, EV charging
On-demand services: Home repairs and cleaning
Entertainment: Lottery and other entertainment subscriptions where the amount varies depending on the user's purchases.
How it looks in the app
Screenshot: Two-screen variable price payment agreement sign-up flow in the app (Vipps or MobilePay) — the overview step shows a "Max amount" field (with a shield icon) accompanied by an annotation explaining the merchant-suggested cap that the user can edit, plus a variable price field; the approval step shows a "Confirm payment method" prompt with a payment card and a Pay/Confirm button.
API request snippet
"pricing": {
"type": "VARIABLE",
"suggestedMaxAmount": 50000,
"currency": "NOK"
}
Interval can be optional.
"interval": {
"unit": "MONTH",
"count": 1
}

