v55

latestOpenAPI 3.1.0CC-BY-NC-SA-4.0raw.githubusercontent.com2026-08-011243791.8 MB
Payment Links API

Create payment link

With the Payment links API you can generate payment links that by default, unlike regular payments, do not expire. The payment link can be shared with your customers and will redirect them to them the payment page where they can complete the payment. A payment will only be created once the customer initiates the payment.

post/v2/payment-links

Headers

idempotency-keystring
Example:123e4567-e89b-12d3-a456-426

A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Request body

resourcestring

Indicates the response contains a payment link object. Will always contain the string payment-link for this endpoint.

idstring
mode'live' | 'test'

Whether this entity was created in live mode or in test mode.

descriptionstring required

A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible.

archivedboolean

Whether the payment link is archived. Customers will not be able to complete payments on archived payment links.

redirectUrlstring nullable

The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment.

webhookUrlstring nullable

The webhook URL where we will send payment status updates to.

The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link.

The webhookUrl must be reachable from Mollie's point of view, so you cannot use localhost. If you want to use webhook during development on localhost, you must use a tool like ngrok to have the webhooks delivered to your local machine.

profileIdstring nullable

The identifier referring to the profile this entity belongs to.

Most API credentials are linked to a single profile. In these cases the profileId must not be sent in the creation request. For organization-level credentials such as OAuth access tokens however, the profileId parameter is required.

reusableboolean nullable

Indicates whether the payment link is reusable. If this field is set to true, customers can make multiple payments using the same link.

If no value is specified, the field defaults to false, allowing only a single payment per link.

createdAtstring

The entity's date and time of creation, in ISO 8601 format.

paidAtstring nullable

The date and time the payment link became paid, in ISO 8601 format.

expiresAtstring nullable

The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically.

allowedMethodsPaymentLinkMethod[] nullable

An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available.

sequenceType'oneoff' | 'first'
customerIdstring nullable

Only relevant when sequenceType is set to first

The ID of the customer the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made.

testmodeboolean nullable

Whether to create the entity in test mode or live mode.

Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting testmode to true.

Example request

{
  "resource": "payment-link",
  "id": "pl_d9fQur83kFdhH8hIhaZfq",
  "mode": "live",
  "description": "Chess Board",
  "amount": {
    "currency": "EUR",
    "value": "10.00"
  },
  "minimumAmount": {
    "currency": "EUR",
    "value": "10.00"
  },
  "redirectUrl": "https://webshop.example.org/payment-links/redirect/",
  "webhookUrl": "https://webshop.example.org/payment-links/webhook/",
  "lines": [
    {
      "type": "physical",
      "description": "LEGO 4440 Forest Police Station",
      "quantity": 1,
      "quantityUnit": "pcs",
      "unitPrice": {
        "currency": "EUR",
        "value": "10.00"
      },
      "discountAmount": {
        "currency": "EUR",
        "value": "10.00"
      },
      "totalAmount": {
        "currency": "EUR",
        "value": "10.00"
      },
      "vatRate": "21.00",
      "vatAmount": {
        "currency": "EUR",
        "value": "10.00"
      },
      "sku": "9780241661628",
      "categories": [
        "meal",
        "eco"
      ],
      "imageUrl": "https://...",
      "productUrl": "https://..."
    }
  ],
  "billingAddress": {
    "title": "Mr.",
    "givenName": "Piet",
    "familyName": "Mondriaan",
    "organizationName": "Mollie B.V.",
    "streetAndNumber": "Keizersgracht 126",
    "streetAdditional": "Apt. 1",
    "postalCode": "1234AB",
    "email": "piet@example.org",
    "city": "Amsterdam",
    "region": "Noord-Holland",
    "country": "NL"
  },
  "shippingAddress": {
    "title": "Mr.",
    "givenName": "Piet",
    "familyName": "Mondriaan",
    "organizationName": "Mollie B.V.",
    "streetAndNumber": "Keizersgracht 126",
    "streetAdditional": "Apt. 1",
    "postalCode": "1234AB",
    "email": "piet@example.org",
    "city": "Amsterdam",
    "region": "Noord-Holland",
    "country": "NL"
  },
  "profileId": "pfl_QkEhN94Ba",
  "createdAt": "2024-03-20T09:13:37+00:00",
  "paidAt": "2025-12-24T11:00:16+00:00",
  "expiresAt": "2025-12-24T11:00:16+00:00",
  "allowedMethods": [
    "ideal"
  ],
  "applicationFee": {
    "amount": {
      "currency": "EUR",
      "value": "10.00"
    },
    "description": "Platform fee"
  },
  "sequenceType": "oneoff",
  "customerId": "cst_XimFHuaEzd",
  "_links": {
    "self": {
      "href": "https://...",
      "type": "application/hal+json"
    },
    "paymentLink": {
      "href": "https://...",
      "type": "application/hal+json"
    }
  }
}

Response

The newly created payment link object.