---
title: "Update payment link"
method: PATCH
path: "/payment-links/{paymentLinkId}"
tags: ["Payment Links API"]
---

# Update payment link

`PATCH /payment-links/{paymentLinkId}`

Certain details of an existing payment link can be updated.

> 🔑 Access with
>
> [API key](/reference/authentication)
>
> [Advanced access token with **payment-links.write**](/reference/authentication)
>
> [OAuth access with **payment-links.write**](/reference/authentication)

## Request body

- object
  - `description` string — 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. Updating the description does not affect any previously existing payments created for this payment link.
  - `minimumAmount` object — The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount.
    - `currency` string, required — A three-character ISO 4217 currency code.
    - `value` string, required — A string containing an exact monetary amount in the given currency.
  - `archived` boolean — Whether the payment link is archived. Customers will not be able to complete payments on archived payment links.
  - `allowedMethods` string[], 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. Possible values: `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `blik` `creditcard` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `voucher`
  - `lines` object[], nullable — Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`.
    - `type` string — The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. Possible values: `physical` `digital` `shipping_fee` `discount` `store_credit` `gift_card` `surcharge` `tip` (default: `physical`)
    - `description` string, required — A description of the line item. For example *LEGO 4440 Forest Police Station*.
    - `quantity` integer, required — The number of items.
    - `quantityUnit` string — The unit for the quantity. For example *pcs*, *kg*, or *cm*.
    - `unitPrice` object, required — The price of a single item including VAT. For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items.
      - `currency` string, required — A three-character ISO 4217 currency code.
      - `value` string, required — A string containing an exact monetary amount in the given currency.
    - `discountAmount` object — Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type.
      - `currency` string, required — A three-character ISO 4217 currency code.
      - `value` string, required — A string containing an exact monetary amount in the given currency.
    - `totalAmount` object, required — The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount.
      - `currency` string, required — A three-character ISO 4217 currency code.
      - `value` string, required — A string containing an exact monetary amount in the given currency.
    - `vatRate` string — The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed.
    - `vatAmount` object — The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`.
      - `currency` string, required — A three-character ISO 4217 currency code.
      - `value` string, required — A string containing an exact monetary amount in the given currency.
    - `sku` string — The SKU, EAN, ISBN or UPC of the product sold.
    - `categories` string[] — An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. Possible values: `eco` `gift` `meal` `sport_culture` `additional` `consume`
    - `imageUrl` string — A link pointing to an image of the product sold.
    - `productUrl` string — A link pointing to the product page in your web shop of the product sold.
  - `billingAddress` object — The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`.
    - `title` string — The title of the person, for example *Mr.* or *Mrs.*.
    - `givenName` string — The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `familyName` string — The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `organizationName` string — The name of the organization, in case the addressee is an organization.
    - `streetAndNumber` string — A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `streetAdditional` string — Any additional addressing details, for example an apartment number.
    - `postalCode` string — A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `email` string — A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
    - `phone` string — If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
    - `city` string — A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `region` string — The top-level administrative subdivision of the country. For example: Noord-Holland.
    - `country` string — A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
  - `shippingAddress` object — The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`.
    - `title` string — The title of the person, for example *Mr.* or *Mrs.*.
    - `givenName` string — The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `familyName` string — The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `organizationName` string — The name of the organization, in case the addressee is an organization.
    - `streetAndNumber` string — A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `streetAdditional` string — Any additional addressing details, for example an apartment number.
    - `postalCode` string — A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `email` string — A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
    - `phone` string — If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
    - `city` string — A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
    - `region` string — The top-level administrative subdivision of the country. For example: Noord-Holland.
    - `country` string — A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`.
  - `testmode` boolean — Whether the entity was created in test mode or live mode. This field does not update the mode of the entity. 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`.

## Response `200`

The payment link object.

## Other responses

- `404` — No entity with this ID exists.
- `422` — The request contains issues. For example, if no parameters are provided.
- `429` — Rate Limit has been reached.

---

[API](https://skmtc.net/mollie/apis/accepting-payments.md) · [All operations](https://skmtc.net/mollie/apis/accepting-payments/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mollie/accepting-payments/versions/4b45df3039ef/schema)
