Vipps Recurring Payments
Mock the Vipps Recurring Payments API: draft agreements, activate subscriptions, charge customers, and replay the webhooks.
[01]
About
Simulate Vipps' Recurring Payments v2 API for subscription billing. Mock draft agreement creation, agreement activation, recurring charges, campaign and price overrides, and the webhook callbacks Vipps sends on activation, customer revocation, and failed charges. Covers the full endpoint set across /agreements, /charges, and /webhooks. Note: this is a mockzilla simulation, not the live Vipps API.
Endpoints
24 across 4 resource groups
Methods
GET 9 · POST 8 · PUT 1 · PATCH 4 · DEL 2 none deprecated
OpenAPI
3.0.0 spec version 2.6.16
Source spec
119 KB · YAML
view raw →
[02]
Endpoints
| GET |
/recurring/v2/agreements
|
List Agreements The API call allows merchant to fetch all agreements. If no query status is supplied it will default to only retrieving active agreements. There is no way to list all Agreements with all statuses, this is due to performance. Use the createdAfter query to paginate the response. Mocked via Mockzilla.
|
| POST |
/recurring/v2/agreements
|
Create a new Agreement, to be confirmed in the app The API call allows merchants to create agreements for a user to accept. Once the agreement is drafted you will receive a vippsConfirmationUrl. This is used to redirect the user to the landing page, or to the app if "isApp":true is used. If the user accepts or rejects the agreement, the user will be redirected back to whichever URL has been passed in merchantRedirectUrl. You have to implement polling on the agreement to check when the status changes to active instead of relying on the redirect back to the merchantRedirectUrl. We have no control over if a user is actually redirected back or not, this depends on what browser the user came from. Please note the different use cases for initialCharge and campaign. And when to use RESERVE_CAPTURE instead of DIRECT_CAPTURE as transactionType. More information about this can be found in the API documentation.
|
| GET |
/recurring/v2/agreements/{agreementId}
|
Fetch an Agreement Fetch a single agreement for a user. Recommended to use when polling for status changes after sending an agreement to a user.
|
| PUT |
/recurring/v2/agreements/{agreementId}
|
Update an Agreement Updates the agreement. Note that when updating the status to STOPPED, you can not re-activate it. If you want to pause an agreement, we suggest leaving the agreement active and skipping the creation of charges as long as the agreement is paused in your systems.
|
| PATCH |
/recurring/v2/agreements/{agreementId}
|
Update an Agreement Updates the agreement. Note that when updating the status to STOPPED, you can not re-activate it. If you want to pause an agreement, we suggest leaving the agreement active and skipping the creation of charges as long as the agreement is paused in your systems.
|
| PATCH |
/recurring/v2/agreements/{agreementId}/accept
|
Force accept an Agreement (Only available in test environment) Forces an agreement to be accepted by the given customer phone number. This endpoint can only be used in the test environment. Available as a Mockzilla mock endpoint.
|
| GET |
/recurring/v3/agreements
|
List Agreements The API call allows merchant to fetch all agreements. If no query status is supplied it will default to only retrieving active agreements. There is no way to list all Agreements with all statuses, this is due to performance. Use the createdAfter query to paginate the response.
|
| POST |
/recurring/v3/agreements
|
Create a new Agreement, to be confirmed in the Vipps MobilePay app The API call allows merchants to create agreements for a user to accept. Once the agreement is drafted you will receive a vippsConfirmationUrl. This is used to redirect the user to the Vipps MobilePay landing page, or to the Vipps MobilePay app if "isApp":true is used. If the user accepts or rejects the agreement, the user will be redirected back to whichever URL has been passed in merchantRedirectUrl. You have to implement polling on the agreement to check when the status changes to active instead of relying on the redirect back to the merchantRedirectUrl. We have no control over if a user is actually redirected back or not, this depends on what browser the user came from. Please note the different use cases for initialCharge and campaign. And when to use RESERVE_CAPTURE instead of DIRECT_CAPTURE as transactionType. More information about this can be found in the API documentation.
|
| GET |
/recurring/v3/agreements/{agreementId}
|
Fetch an Agreement Fetch a single agreement for a user. Recommended to use when polling for status changes after sending an agreement to a user.
|
| PATCH |
/recurring/v3/agreements/{agreementId}
|
Update an Agreement Updates the agreement. Note that when updating the status to STOPPED, you can not re-activate it. If you want to pause an agreement, we suggest leaving the agreement active and skipping the creation of charges as long as the agreement is paused in your systems.
|
| PATCH |
/recurring/v3/agreements/{agreementId}/accept
|
Force accept an Agreement (Only available in test environment) Forces an agreement to be accepted by the given customer phone number. This endpoint can only be used in the test environment. Mockzilla mock: no signup, no API key.
|
| GET |
/recurring/v2/agreements/{agreementId}/charges
|
List Charges Fetches all charges for a single agreement, including the optional initial charge. Supports filtering on status using query parameter.
|
| POST |
/recurring/v2/agreements/{agreementId}/charges
|
Create a new charge Creates a new recurring charge (payment) that will charge the user on the date specified. If the payment fails, the charge will be retried based on retryDays.
|
| GET |
/recurring/v2/agreements/{agreementId}/charges/{chargeId}
|
Fetch a Charge Fetch a single charge for a user.
|
| DEL |
/recurring/v2/agreements/{agreementId}/charges/{chargeId}
|
Cancel a Charge Cancels a pending, due or reserved charge. When cancelling a charge that is PARTIALLY_CAPTURED, the remaining funds on the charge will be released back to the customer. Note if you cancel an agreement, there is no need to cancel the charges that belongs to the agreement. This will be done automatically.
|
| POST |
/recurring/v2/agreements/{agreementId}/charges/{chargeId}/capture
|
Capture a reserved charge Captures a reserved charge. Only charges with transactionType RESERVE_CAPTURE can be captured. Served by the Mockzilla mock runtime.
|
| POST |
/recurring/v2/agreements/{agreementId}/charges/{chargeId}/refund
|
Refund a charge Refunds a charge, can also do a partial refund (refunding a smaller part of the payment).
|
| GET |
/recurring/v3/agreements/{agreementId}/charges
|
List Charges Fetches all charges for a single agreement, including the optional initial charge. Supports filtering on status using query parameter.
|
| POST |
/recurring/v3/agreements/{agreementId}/charges
|
Create a new charge Creates a new recurring charge (payment) that will charge the user on the date specified. If the payment fails, the charge will be retried based on retryDays.
|
| GET |
/recurring/v3/agreements/{agreementId}/charges/{chargeId}
|
Fetch a charge Fetch a single charge for a user.
|
| DEL |
/recurring/v3/agreements/{agreementId}/charges/{chargeId}
|
Cancel a charge Cancels a pending, due or reserved charge. When cancelling a charge that is PARTIALLY_CAPTURED, the remaining funds on the charge will be released back to the customer. Note if you cancel an agreement, there is no need to cancel the charges that belongs to the agreement. This will be done automatically. Mocked via Mockzilla.
|
| GET |
/recurring/v3/charges/{chargeId}
|
Fetch a charge by id Fetch a single charge just by chargeId, when the agreementId is unknown. Useful for investigating claims from customers, but not intended for automation. This is not a replacement for the normal endpoint for fetching charges: GET:/agreements/{agreementId}/charges/{chargeId}.
|
| POST |
/recurring/v3/agreements/{agreementId}/charges/{chargeId}/capture
|
Capture a reserved charge Captures a reserved charge. Only charges with transactionType RESERVE_CAPTURE can be captured. Can also do partial captures (captures a smaller part of the payment).
|
| POST |
/recurring/v3/agreements/{agreementId}/charges/{chargeId}/refund
|
Refund a charge Refunds a charge, can also do a partial refund (refunding a smaller part of the payment).
|