Looking for ePay classic docs? Go to docs.epay.dk
ePay documentationDocsePay documentation

CreateMultiLinkRequest

Configuration used to create a reusable multi-link. Every use of the multi-link creates a new payment session with this configuration.

pointOfSaleIdstring
Required

The ID of the point of sale that owns the multi-link and its payment sessions.

Format:
uuid
Example:
"0192473a-e381-705c-b61c-fc2ac9624afc"
amountinteger
Required

The default payment amount in minor units, such as 1095 for 10.95 DKK. When dynamicAmount is enabled, the cardholder can replace this amount.

Example:
1095
currencystring
Required

The ISO 4217 alpha-3 currency code for every payment session started from the multi-link.

Match:
^[A-Z]{3}$
Example:
"DKK"

Optional subscription settings used whenever the multi-link starts a payment session.

scaModestring
Nullable

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.

Possible values:
"SKIP""NORMAL""FORCE"
Example:
"NORMAL"
timeoutinteger
Nullable

The number of minutes each payment session remains usable after the cardholder opens the multi-link.

Range:
1 <= value <= 120
Example:
30
instantCapturestring
Nullable

The instant-capture behavior for payments made through the multi-link. VOID voids the authorization if capture fails, while NO_VOID keeps it.

Possible values:
"OFF""VOID""NO_VOID"
Example:
"OFF"
textOnStatementstring
Nullable

The text shown for the payment on the cardholder's statement. It defaults to the ePay transaction ID when omitted.

Length:
1 <= length <= 39
Example:
"Store purchase"

Merchant-defined pass-through attributes included in webhooks for payment sessions created from the multi-link. The serialized value is limited to 1 KB.

reportFailureboolean
Nullable

Whether to send notification callbacks for failed payment attempts.

Example:
false
reportExpiredboolean
Nullable

Whether to send a notification callback when a payment session expires.

Example:
false
dynamicAmountboolean
Nullable

Whether cardholders may enter the payment amount after opening the multi-link. This feature must be enabled for the account.

Example:
true
notificationUrlstring
Nullable

The 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.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/payment-notifications"
preAuthUrlstring
Nullable

The registered point-of-sale URL that receives pre-authorization callbacks for each payment attempt.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/pre-authorizations"
successUrlstring
Nullable

The registered point-of-sale URL to which the cardholder is redirected after a successful payment.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/payment-success"
returnUrlstring
Nullable

The registered point-of-sale URL to which the cardholder returns after selecting Back in the payment window.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/payment-return"
failureUrlstring
Nullable

The registered point-of-sale URL to which the cardholder is redirected when no payment attempts remain.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/payment-failure"
retryUrlstring
Nullable

The registered point-of-sale URL to which the cardholder is redirected after a failed attempt when more attempts remain.

Format:
uri
Length:
1 <= length <= 1024
Example:
"https://example.com/payment-retry"
maxAttemptsinteger
Nullable

The maximum number of payment attempts allowed for each session started from the multi-link.

Range:
1 <= value <= 25
Example:
3

SCA 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:
items <= 1000

The payment methods available in each payment session. To create a reusable MobilePay-only QR code, specify only VIPPS_MOBILEPAY.

CreateMultiLinkRequest
{  "pointOfSaleId": "0192473a-e381-705c-b61c-fc2ac9624afc",  "amount": 1095,  "currency": "DKK",  "subscription": {    "amount": 1095,    "type": "SCHEDULED",    "expiryDate": "2027-12-31",    "interval": {      "period": "MONTH",      "frequency": 1    },    "billingAgreement": {      "billingPlanId": "019a7266-2f3a-7b26-9c93-b950aea9e13c",      "nextChargeAt": "2027-01-01"    }  },  "scaMode": "NORMAL",  "timeout": 30,  "instantCapture": "OFF",  "textOnStatement": "Store purchase",  "attributes": {    "property1": null,    "property2": null  },  "reportFailure": false,  "reportExpired": false,  "dynamicAmount": true,  "notificationUrl": "https://example.com/payment-notifications",  "preAuthUrl": "https://example.com/pre-authorizations",  "successUrl": "https://example.com/payment-success",  "returnUrl": "https://example.com/payment-return",  "failureUrl": "https://example.com/payment-failure",  "retryUrl": "https://example.com/payment-retry",  "maxAttempts": 3,  "exemptions": [    "TRA"  ],  "ageVerification": {    "minimumAge": 18,    "country": "DK"  },  "orderLines": [    {      "description": "Reusable coffee cup",      "imageUrl": "https://example.com/images/reusable-cup.png",      "quantity": 1,      "totalAmount": 1095,      "unitPrice": 1095,      "type": "PHYSICAL"    }  ],  "allowedPaymentMethods": [    "CARD",    "VIPPS_MOBILEPAY"  ]}