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"
descriptorstring
Nullable

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.

Length:
1 <= length <= 22
Example:
"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.

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",  "descriptor": "Store Copenhagen",  "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"  ]}