A production-ready gateway extension for Paymenter that integrates Vipps MobilePay ePayment API.
- Creates payments via
POST /epayment/v1/payments, then redirects the buyer to Vipps/MobilePay. - On return, fetches payment by reference and optionally auto-captures, then marks the invoice as paid.
- Supports test and production environments.
- Copy the
extensions/Gateways/Vippsfolder into your Paymenter install:/var/www/paymenter/extensions/Gateways/Vipps
- In the Admin → Extensions, enable “Vipps” and fill out settings.
- Ensure your site has a public HTTPS URL for the return endpoint:
GET https://YOURDOMAIN.tld/extensions/vipps/return
- Use test environment: toggles
apitest.vipps.novsapi.vipps.no. - Client ID / Client Secret: from Vipps MobilePay Developer portal.
- Ocp-Apim-Subscription-Key: subscription key for your sales unit.
- Merchant-Serial-Number (MSN): your sales unit MSN.
- Vipps-System- headers*: optional but recommended.
- Auto-capture: capture full authorized amount automatically on return.
pay(Invoice $invoice, $total)- Creates a unique
reference. - Calls
POST /accesstoken/getto obtain a Bearer access token. - Calls
POST /epayment/v1/paymentswith headers:Authorization: Bearer <token>Ocp-Apim-Subscription-Key: <subscription key>Merchant-Serial-Number: <msn>Vipps-System-*headersIdempotency-Key: <uuid>
- Redirects the user to
redirectUrlfrom Vipps.
- Creates a unique
- Return:
/extensions/vipps/return?reference=...- Calls
GET /epayment/v1/payments/{reference}. - If authorized and auto-capture is enabled, calls
POST /epayment/v1/payments/{reference}/capturewith anIdempotency-Key. - When captured, marks invoice as paid via
ExtensionHelper::paymentPaid(...).
- Calls
extensions/Gateways/Vipps/
├─ Vipps.php
├─ routes.php
├─ Http/Controllers/VippsController.php
└─ resources/views/
├─ redirect.blade.php
└─ result.blade.php