Payment Links API

Get payment link

Changed on

Retrieve a single payment link by its ID.

🔑 Access with

API key

Advanced access token with payment-links.read

OAuth access with payment-links.read

get/payment-links/{paymentLinkId}

Request

  • Base URL
    https://api.mollie.com/v2
  • URL
    https://api.mollie.com/v2/payment-links/{paymentLinkId}
  • Auth
    • HTTP bearer
    • or HTTP bearer
    • or OAuth 2
      Authorization code: https://my.mollie.com/oauth2/authorize
      Token URL: https://api.mollie.com/oauth2/tokens scopes: payment-links.read

Query parameters

testmodeboolean

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

Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.

Response

The payment link object.

resourcestring required

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

idstring required

The identifier uniquely referring to this payment link. Example: pl_4Y0eZitmBnQ6IDoMqZQKh.

modestring required

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

Possible values: live test

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 required

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

redirectUrlstring nullable required

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 required

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 required

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 required

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 required

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

paidAtstring nullable required

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

expiresAtstring nullable required

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.

allowedMethodsstring[] nullable required

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.

Possible values: applepay bacs bancomatpay bancontact banktransfer belfius billie blik creditcard eps giftcard googlepay ideal in3 kbc klarna mbway multibanco mybank paybybank paypal paysafecard pointofsale przelewy24 riverty satispay swish trustly twint voucher wero

sequenceTypestring

If set to first, a payment mandate is established right after a payment is made by the customer.

Defaults to oneoff, which is a regular payment link and will not establish a mandate after payment.

The mandate ID can be retrieved by making a call to the Payment Link Payments Endpoint.

Possible values: 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 response

{
  "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"
    }
  }
}

Changes

    • warning

      added the new googlepay enum value to the // response property for the response status

    • warning

      added the new wero enum value to the // response property for the response status