---
title: "PATCH /payment-links/{id}/close"
method: PATCH
path: "/payment-links/{id}/close"
tags: ["Payment Links"]
---

# PATCH /payment-links/{id}/close

`PATCH /payment-links/{id}/close`

## Path parameters

- `id` string, required

## Response `200`

Payment link closed successfully

- PaymentLinkDto
  - `id` string, required — Unique identifier for the payment link
  - `url` string, required — URL for the payment link
  - `status` 'active' | 'expired' | 'closed' | 'completed', required — Current status of the payment link
  - `purchaseReference` string, required — Merchant reference for the payment
  - `amount` object, nullable, required — Amount intended to be charged in the smallest currency unit. Null when openAmount is true.
  - `openAmount` boolean — When true, the payer decides the amount at payment time.
  - `minAmount` number — Minimum amount the payer can enter (only when openAmount is true).
  - `maxAmount` number — Maximum amount the payer can enter (only when openAmount is true).
  - `currency` string, required — Three-letter ISO 4217 currency code
  - `maximumPayments` number — Maximum successful payments allowed (omitted when unlimited multi_use)
  - `currentSuccessCount` number, required — Number of successful payments recorded for this link
  - `maximumAttempts` number, required — Maximum number of failed payments allowed per user
  - `createdAt` string, required — Creation date in ISO 8601 format
  - `updatedAt` string, required — Last update date in ISO 8601 format
  - `expirationDate` string, required — Expiration date in ISO 8601 format
  - `customerPhoneNumber` string, required — Restricted MSISDN
  - `type` 'single_use' | 'multi_use', required — Type of the payment link
  - `customerFields` CustomerFieldDto[] — Custom form fields defined on this payment link. Absent when the link has no customer fields.
    - `fieldName` string, required — Field identifier in snake_case
    - `fieldLabel` string, required — Human-readable label shown to the payer
    - `fieldPlaceholder` string — Optional input placeholder text
    - `fieldType` 'text' | 'integer' | 'decimal' | 'email' | 'date', required — Expected value type for validation and input rendering
    - `isRequired` boolean, required — Whether the payer must fill this field before proceeding
  - `customerData` object — Collected payer data as fieldName → value pairs. Absent when no customerFields are defined.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `429` — ThrottlerException: Too Many Requests

---

[API](https://skmtc.net/hub2/apis/hub2-service-api.md) · [All operations](https://skmtc.net/hub2/apis/hub2-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hub2/hub2-service-api/versions/adb17b4b80f4/schema)
