---
title: "Partially update payment link"
method: PATCH
path: "/payment-links/{paymentLinkId}"
tags: ["paymentLinks"]
---

# Partially update payment link

`PATCH /payment-links/{paymentLinkId}`

Use this method to partially update a payment link. Structure your request to follow the [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902) standard.

To update a payment link, you need its paymentLinkId, which we sent you in the response of the [Create Payment Link](https://docs.payroc.com/api/schema/payment-links/create) method.  

**Note:** If you don't have the paymentLinkId, use our [List Payment Links](https://docs.payroc.com/api/schema/payment-links/list) method to search for the payment link.  

You can update the following properties of a multi-use link:
- **expiresOn parameter** - Expiration date of the link.
- **customLabels object** - Label for the payment button.
- **credentialOnFile object** - Settings for saving the customer's payment details.

You can update the following properties of a single-use link:
- **expiresOn parameter** - Expiration date of the link.
- **authType parameter** - Transaction type of the payment link.
- **amount parameter** - Total amount of the transaction.
- **currency parameter** - Currency of the transaction.
- **description parameter** - Brief description of the transaction.
- **customLabels object** - Label for the payment button.
- **credentialOnFile object** - Settings for saving the customer's payment details.

**Note:** When a merchant updates a single-use link, we update the payment URL and HTML code in the assets object. The customer can't use the original link to make a payment.

## Path parameters

- `paymentLinkId` string, required

## Headers

- `Authorization` string, required
- `Idempotency-Key` string, uuid, required

## Request body

- PatchDocument[] — A JSON Patch document as defined by RFC 6902.
  - union — A JSON Patch operation as defined by RFC 6902.
    - object — A Patch Add Operation.
      - `op` 'add', required — Discriminator value: add
      - `path` string, required — Location where you want to add the value. The format for this value is JSON Pointer.
      - `value` unknown, required
    - object — A Patch Remove Operation.
      - `op` 'remove', required — Discriminator value: remove
      - `path` string, required — Location of the value that you want to remove. The format for this value is JSON Pointer.
    - object — A Patch Replace Operation.
      - `op` 'replace', required — Discriminator value: replace
      - `path` string, required — Location of the value that you want to replace. The format for this value is JSON Pointer.
      - `value` unknown, required
    - object — A Patch Move Operation.
      - `op` 'move', required — Discriminator value: move
      - `from` string, required — Location of the value that you want to move. The format for this value is JSON Pointer.
      - `path` string, required — Location where you want to move the value to. The format for this value is JSON Pointer.
    - object — A Patch Copy Operation.
      - `op` 'copy', required — Discriminator value: copy
      - `from` string, required — Location of the value that you want to copy. The format for this value is JSON Pointer.
      - `path` string, required — Location where you want to copy the value to. The format for this value is JSON Pointer.
    - object — A Patch Test Operation.
      - `op` 'test', required — Discriminator value: test
      - `path` string, required — Location of the value that you want to test. The format for this value is JSON Pointer.
      - `value` unknown, required

## Response `200`

Successful request. We updated the payment link and return a polymorphic object that contains payment link information.
The value of the type parameter determines which variant you should use:
-	`multiUse` - Create a link that the merchant can use to take multiple payments.
-	`singleUse` - Create a link that the merchant can use for only one payment.

- union
  - MultiUsePaymentLink — Object that contains information about a multi-use payment link.
    - `type` 'multiUse', required — Type of link. The merchant can use a multi-use link to take multiple payments.
    - `paymentLinkId` string — Unique identifier that we assigned to the payment link.
    - `merchantReference` string, required — Unique identifier that the merchant assigned to the payment.
    - `order` MultiUsePaymentLinkOrder, required — Object that contains information about the order.
      - `description` string — A brief description of the transaction.
      - `charge` union, required — Polymorphic object that indicates who enters the amount for the payment link. The value of the type parameter determines which variant you should use: - `prompt` - Customer enters the amount. - `preset` - Merchant sets the amount.
        - PromptPaymentLinkCharge — Object that contains information about the charge when the customer enters the amount of the transaction.
          - `type` 'prompt', required
          - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
        - PresetPaymentLinkCharge — Object that contains information about the charge when the merchant enters the amount of the transaction.
          - `type` 'preset', required
          - `amount` integer, required — Total amount of the transaction. The value is in the currency's lowest denomination, for example, cents.
          - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
    - `authType` 'sale' | 'preAuthorization', required — Type of transaction.
    - `paymentMethods` MultiUsePaymentLinkPaymentMethodsItems[], required — Payment methods that the merchant accepts. **Note:** If a payment is a pre-authorization, the customer must pay by card.
    - `customLabels` CustomLabel[] — Array of customLabel objects. **Note:** You can change the label of the payment button only.
      - `element` 'paymentButton' — Element that you want to provide a custom label for.
      - `label` string — Custom label to display on the element.
    - `assets` PaymentLinkAssets — Object that contains shareable assets for the payment link.
      - `paymentUrl` string, required — URL of the payment link.
      - `paymentButton` string, html, required — HTML code for the payment link. You can embed the HTML code in the merchant's website.
    - `status` 'active' | 'completed' | 'deactivated' | 'expired' — Status of the payment link. The value is one of the following: - `active` - Payment link is active. - `completed` - Customer has paid. - `deactivated` - Merchant has deactivated the link. - `expired` - Payment link has expired.
    - `createdOn` string, date — Date that the merchant created the link. The format of this value is **YYYY-MM-DD**.
    - `expiresOn` string, date — Last date that the customer can use the payment link. The format of this value is **YYYY-MM-DD**. **Note:** If you don't provide an expiration date, the default expiration period applies. You can change the default expiration period on the Self-Care Portal.
    - `credentialOnFile` CredentialOnFile — Object that contains information about saving the customer’s payment details.
      - `tokenize` boolean — Indicates if our gateway should tokenize the customer’s payment details as part of the transaction.
      - `mitAgreement` 'unscheduled' | 'recurring' | 'installment' — Indicates how the merchant can use the customer’s card details, as agreed by the customer: - `unscheduled` - Transactions for a fixed or variable amount that are run at a certain pre-defined event. - `recurring` - Transactions for a fixed amount that are run at regular intervals, for example, monthly. Recurring transactions don’t have a fixed duration and run until the customer cancels the agreement. - `installment` - Transactions for a fixed amount that are run at regular intervals, for example, monthly. Installment transactions have a fixed duration. **Note:** If you send a value for **mitAgreement**, you must send the **standingInstructions** object in the **paymentOrder** object.
  - SingleUsePaymentLink — Object that contains information about a single-use payment link.
    - `type` 'singleUse', required — Type of link. The merchant can use this link for only one payment.
    - `paymentLinkId` string — Unique identifier that we assigned to the payment link.
    - `merchantReference` string, required — Unique identifier that the merchant assigned to the payment.
    - `order` SingleUsePaymentLinkOrder, required — Object that contains information about the order.
      - `orderId` string, required — Unique identifier that the merchant assigned to the order.
      - `description` string — A brief description of the transaction.
      - `charge` union, required — Polymorphic object that indicates who enters the amount for the payment link. The value of the type parameter determines which variant you should use: - `prompt` - Customer enters the amount. - `preset` - Merchant sets the amount.
        - PromptPaymentLinkCharge — Object that contains information about the charge when the customer enters the amount of the transaction.
          - `type` 'prompt', required
          - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
        - PresetPaymentLinkCharge — Object that contains information about the charge when the merchant enters the amount of the transaction.
          - `type` 'preset', required
          - `amount` integer, required — Total amount of the transaction. The value is in the currency's lowest denomination, for example, cents.
          - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
    - `authType` 'sale' | 'preAuthorization', required — Type of transaction.
    - `paymentMethods` SingleUsePaymentLinkPaymentMethodsItems[], required — Payment methods that the merchant accepts. **Note:** If the payment is a pre-authorization, the customer must pay by card.
    - `customLabels` CustomLabel[] — Array of customLabel objects. **Note:** You can change the label of the payment button only.
      - `element` 'paymentButton' — Element that you want to provide a custom label for.
      - `label` string — Custom label to display on the element.
    - `assets` PaymentLinkAssets — Object that contains shareable assets for the payment link.
      - `paymentUrl` string, required — URL of the payment link.
      - `paymentButton` string, html, required — HTML code for the payment link. You can embed the HTML code in the merchant's website.
    - `status` 'active' | 'completed' | 'deactivated' | 'expired' — Status of the payment link. The value is one of the following: - `active` - Payment link is active. - `completed` - Customer has paid. - `deactivated` - Merchant has deactivated the link. - `expired` - Payment link has expired.
    - `createdOn` string, date — Date that the merchant created the link. The format of this value is **YYYY-MM-DD**.
    - `expiresOn` string, date, required — Last date that the customer can use the payment link. The format of this value is **YYYY-MM-DD**.
    - `credentialOnFile` CredentialOnFile — Object that contains information about saving the customer’s payment details.
      - `tokenize` boolean — Indicates if our gateway should tokenize the customer’s payment details as part of the transaction.
      - `mitAgreement` 'unscheduled' | 'recurring' | 'installment' — Indicates how the merchant can use the customer’s card details, as agreed by the customer: - `unscheduled` - Transactions for a fixed or variable amount that are run at a certain pre-defined event. - `recurring` - Transactions for a fixed amount that are run at regular intervals, for example, monthly. Recurring transactions don’t have a fixed duration and run until the customer cancels the agreement. - `installment` - Transactions for a fixed amount that are run at regular intervals, for example, monthly. Installment transactions have a fixed duration. **Note:** If you send a value for **mitAgreement**, you must send the **standingInstructions** object in the **paymentOrder** object.

## Other responses

- `400` — Invalid request
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `409` — Conflict
- `415` — Unsupported media type
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
