POST {{baseUrl}}/{{stage}}/external/businesses/{{businessId}}/invoices/update-payment/{{invoiceIrn}}?invoiceStatus={{status}}| Header | Value | Required |
|---|---|---|
Content-Type | application/json or */* | Yes |
Accept | application/json or */* | Yes |
X-Business-Key | businessKey | Yes |
| Parameter | Type | Required | Description |
|---|---|---|---|
businessId | string (UUID) | Yes | Your business FIRS ID |
invoiceIrn | string | Yes | Invoice Reference Number |
| Parameter | Type | Required | Allowed Values |
|---|---|---|---|
invoiceStatus | string | Yes | PENDING, PAID, REJECTED |
{
"responseCode": "00",
"responseMessage": "Success"
}| Field | Description |
|---|---|
responseCode | "00" = success |
responseMessage | Status update confirmation |
{
"responseCode": "404",
"responseMessage": "Invoice not found with IRN: INV999-INVALID"
}invoiceIrn exists and belongs to businessId{
"responseCode": "400",
"responseMessage": "Invalid status value"
}{
"responseCode": "403",
"responseMessage": "Unauthorized: Business ID doesn't match invoice owner"
}businessId matches invoice owner{
"responseCode": "422",
"responseMessage": "Status change not permitted"
}PENDING → PAID (payment received)
PENDING → REJECTED (payment declined)
REJECTED → PENDING (retry payment)curl --location --globoff --request POST '{{baseUrl}}/{{stage}}/external/businesses/{{businessId}}/invoices/update-payment/{{invoiceIrn}}?invoiceStatus=PAID&invoiceStatus={{status}}' \
--header 'X-Business-Key: BK-26EDE24BAC50475FAACC5EA6339F0863-DEV-B2Z6QCEHI3X9' \
--header 'Accept: */*' \
--header 'Content-Type: application/json'{}