| Method | Path | Format | Authentication |
|---|
| PUT | /api/v1.0/payment-link-manage/{account_id}/{payment_link_id} | json | OAuth 2.0 with Access Token |
| Field | Value | Type | Mandatory | Length | Description | Example |
|---|
| X-PARTNER-ID | api_key | Alphanumeric | Mandatory | | API key obtained from the merchant dashboard. | b3ed7d4b-a96c-6c08-b3c7-12c3124242d9 |
| Accept | application/json | Alphabetic | Mandatory | | Specifies JSON as the expected response format. | application/json |
| Authorization | Bearer {bearerToken} | Alphanumeric | Mandatory | | Bearer token obtained from the get access token endpoint. | Bearer eyJ0eXAiOiJKV1{…} |
| Field | Type | Mandatory | Length | Description | Example |
|---|
| required_customer_detail | Boolean | Mandatory | 1 | Determines if the customer must fill in contact details (name, email, phone) before payment. | true |
| max_usage | Numeric | Mandatory | - | The maximum number of times this payment link can be successfully used. Must be >= current_usage. Max 1,000,000. | 20 |
| expired_at | Numeric/Null | Conditional | - | The expiration date/time of the link, typically in Epoch/Unix Millisecond Timestamp format. Set to null for no expiration. | 1740960000000 |
| status | Alphabetic | Mandatory | - | The current status of the payment link. Values are open, closed, or expired. | open |
| whitelisted_payment_method | Array String/Null | Conditional | - | A list of payment method codes that are allowed (whitelisted) for this link. null means all available methods are allowed. | [ “VA_BRI”, “VA_DANAMON”, “QRIS”, “ALFAMART” ] |
| redirect_url | String/Null | Conditional | 2048 | URL to redirect the customer after payment success or expiry. Set to null or omit to disable. | https://example.com/thank-you |
{
"required_customer_detail": true,
"max_usage": 20,
"expired_at": 1740960000000,
"status": "open",
"whitelisted_payment_method": ["VA_BRI", "VA_DANAMON", "QRIS", "ALFAMART"],
"redirect_url": "https://example.com/thank-you"
}
| Field | Type | Mandatory | Length | Description | Example |
|---|
| status | Numeric | Mandatory | 3 | HTTP Status Code. | 200 |
| success | Boolean | Mandatory | 1 | Indicates successful request. | true |
| data | Object | Mandatory | - | The main object containing the single payment link detail. | - |
| > id | Numeric | Mandatory | - | Internal ID of the Payment Link. | 103 |
| > reff_no | Alphanumeric | Mandatory | - | Payment Link unique reference number. | PL2025102113590968f72f3df34e5 |
| > title | Alphanumeric | Mandatory | - | Title or name of the payment link. | tes |
| > payment_url | String | Mandatory | - | The URL to access the payment link page. | http://localhost:3000/b2b/PL2025102113590968f72f3df34e5 |
| > status | Alphabetic | Mandatory | - | The current status of the link. Values are open or closed. | open |
| > status_computed | Alphabetic | Mandatory | - | The computed status of the link. Values are open, closed, or expired. | expired |
| > required_customer_detail | Boolean | Mandatory | 1 | Indicates whether the customer must provide contact details. | true |
| > max_usage | Numeric | Mandatory | - | The maximum usage count allowed for this link. | 20 |
| > current_usage | Numeric | Mandatory | - | The current number of times the link has been used. | 2 |
| > expired_at | Datetime/Null | Conditional | - | The expiration date/time (ISO 8601 format). null if no expiry. | 2025-03-03T00:00:00+07:00 |
| > is_expired | Boolean | Mandatory | 1 | Indicates whether the payment link has expired. | true |
| > total_amount | String/Numeric | Mandatory | - | The total amount due for the link. | 20000.00 |
| > items | Array Object/Null | Conditional | - | List of items included in the payment. | - |
| >> name | Alphabetic | Mandatory | - | Item name. | tes |
| >> quantity | String/Numeric | Mandatory | - | Item quantity. | 1 |
| >> unit_price | String/Numeric | Mandatory | - | Item unit price. | 20000 |
| >> subtotal | Numeric | Mandatory | - | Item subtotal (quantity * unit_price). | 20000 |
| > whitelisted_payment_method | Array String/Null | Conditional | - | A list of allowed (whitelisted) payment method codes. null if all methods are allowed. | [ “VA_BRI”, “VA_DANAMON”, “QRIS”, “ALFAMART” ] |
| > redirect_url | String/Null | Conditional | - | URL to redirect the customer after payment success or expiry. It is null if not set. | https://example.com/thank-you |
| > payment_date | Datetime/Null | Conditional | - | Date/time of the last successful payment (ISO 8601 or null). | 2025-10-21T13:59:40+07:00 |
| > created_at | Datetime | Mandatory | - | Date/time the payment link was created (ISO 8601). | 2025-10-21T13:59:40+07:00 |
| > updated_at | Datetime | Mandatory | - | Date/time the payment link was last updated (ISO 8601). | 2025-10-21T18:32:01+07:00 |
| > account | Object | Mandatory | - | Information about the associated account. | - |
| >> id | Alphanumeric | Mandatory | - | Account ID. | 01K7P073Q8RE2A9PQT8Q7MXPN4 |
| >> name | Alphabetic | Mandatory | - | Account name. | Moh. Zulkifli Katili |
| >> email | String | Mandatory | - | Account email address. | tes@gmail.com |
| >> phone | Numeric | Mandatory | - | Account phone number. | 08123993201 |
| >> status | Alphabetic | Mandatory | - | Account status. | active |
Success: Here’s an example of a successful response.
{
"status": 200,
"success": true,
"data": {
"id": 103,
"reff_no": "PL2025102113590968f72f3df34e5",
"title": "tes",
"payment_url": "http://localhost:3000/b2b/PL2025102113590968f72f3df34e5",
"status": "open",
"status_computed": "expired",
"required_customer_detail": true,
"max_usage": 20,
"current_usage": 2,
"expired_at": "2025-03-03T00:00:00+07:00",
"is_expired": true,
"total_amount": "20000.00",
"items": [
{
"name": "tes",
"quantity": "1",
"unit_price": "20000",
"subtotal": 20000
}
],
"whitelisted_payment_method": [
"VA_BRI",
"VA_DANAMON",
"QRIS",
"ALFAMART"
],
"redirect_url": "https://example.com/thank-you",
"payment_date": "2025-10-21T13:59:40+07:00",
"created_at": "2025-10-21T13:59:40+07:00",
"updated_at": "2025-10-21T18:32:01+07:00",
"account": {
"id": "01K7P073Q8RE2A9PQT8Q7MXPN4",
"name": "Moh. Zulkifli Katili",
"email": "tes@gmail.com",
"phone": "08123993201",
"status": "active"
}
}
}