Create Multi-Link
OpenAPI SpecTest this endpoint live
Open the same request directly in API Explorer.
Server URL
Creates a reusable payment link and returns its URL and QR-code URL. Unlike a regular payment link, this endpoint does not create a single payment.
Each time a cardholder opens the returned url or scans the QR code, ePay starts a new, independent payment session from the multi-link configuration. This is useful for a reusable checkout QR code - for example, a QR code where the cardholder enters the amount and completes payment with Vipps MobilePay.
Configuration omitted from the request is resolved from the point of sale's current configuration when the multi-link is used. Redirect and notification URLs are not inherited; provide them explicitly when they are needed. URL values, including order-line image URLs, must use a domain registered for the selected point of sale.
Authorization
BearerAuth In: header
Header Parameters
Ensures that a request can be safely retried without causing duplicate operations. Typically used for actions like payment creation and operations such as refund and void to prevent accidental double processing.
- If a response is replayed due to using the same key, the response will include the header
Idempotent-Replayed: true. - Idempotency keys are scoped by [Key, Endpoint, HTTP Verb]; the same key on a different endpoint or method will not replay the original response.
- Responses are cached for 24 hours. After that, the cache is cleared, so idempotency is only guaranteed within 24 hours of the initial request.
Request Body
application/json
The reusable payment-session configuration for the multi-link.
TypeScript Definitions
Use the request body type in TypeScript.
Configuration used to create a reusable multi-link. Every use of the multi-link creates a new payment session with this configuration.
The ID of the point of sale that owns the multi-link and its payment sessions.
uuid"0192473a-e381-705c-b61c-fc2ac9624afc"The default payment amount in minor units, such as 1095 for 10.95 DKK. When dynamicAmount is enabled, the cardholder can replace this amount.
1095The ISO 4217 alpha-3 currency code for every payment session started from the multi-link.
^[A-Z]{3}$"DKK"Optional subscription settings used whenever the multi-link starts a payment session.
How 3-D Secure is handled for each payment session. SKIP does not attempt 3-D Secure, NORMAL follows the normal 3-D Secure flow, and FORCE requests a challenge flow.
"SKIP""NORMAL""FORCE""NORMAL"The number of minutes each payment session remains usable after the cardholder opens the multi-link.
1 <= value <= 12030The instant-capture behavior for payments made through the multi-link. VOID voids the authorization if capture fails, while NO_VOID keeps it.
"OFF""VOID""NO_VOID""OFF"The text shown for the payment on the cardholder's statement. It defaults to the ePay transaction ID when omitted.
1 <= length <= 39"Store purchase"Optional descriptor applied to each payment session created from the multi-link. It overrides the Point of Sale descriptor unless the acquirer agreement has its own descriptor.
Descriptor override must be enabled for your account before you send this field. Contact ePay to enable it.
1 <= length <= 22"Store Copenhagen"Merchant-defined pass-through attributes included in webhooks for payment sessions created from the multi-link. The serialized value is limited to 1 KB.
Whether to send notification callbacks for failed payment attempts.
falseWhether to send a notification callback when a payment session expires.
falseWhether cardholders may enter the payment amount after opening the multi-link. This feature must be enabled for the account.
trueThe registered point-of-sale URL that receives payment-status notifications for sessions created from the multi-link. Omit it to use the ePay receipt page instead of inheriting a hosted-configuration URL.
uri1 <= length <= 1024"https://example.com/payment-notifications"The registered point-of-sale URL that receives pre-authorization callbacks for each payment attempt.
uri1 <= length <= 1024"https://example.com/pre-authorizations"The registered point-of-sale URL to which the cardholder is redirected after a successful payment.
uri1 <= length <= 1024"https://example.com/payment-success"The registered point-of-sale URL to which the cardholder returns after selecting Back in the payment window.
uri1 <= length <= 1024"https://example.com/payment-return"The registered point-of-sale URL to which the cardholder is redirected when no payment attempts remain.
uri1 <= length <= 1024"https://example.com/payment-failure"The registered point-of-sale URL to which the cardholder is redirected after a failed attempt when more attempts remain.
uri1 <= length <= 1024"https://example.com/payment-retry"The maximum number of payment attempts allowed for each session started from the multi-link.
1 <= value <= 253SCA exemptions to apply where available. Using an exemption may shift fraud liability from the issuer to the merchant.
Optional age-verification requirements for payments started from the multi-link. This feature must be enabled for a live account.
Order lines copied to every payment session created from the multi-link.
items <= 1000The payment methods available in each payment session. To create a reusable MobilePay-only QR code, specify only VIPPS_MOBILEPAY.
Response Body
application/json
application/json
application/json
application/json
List Multi-Links
Retrieves a paginated list of multi-links belonging to the authenticated merchant, ordered by newest first. A multi-link is a reusable payment link. Opening its public url creates a new payment session from the link configuration, so the same QR code or URL can be used for multiple independent payments.
Get Multi-Link
Retrieves one multi-link belonging to the authenticated merchant, including its reusable checkout URL and QR-code URL.