Invoice Management
Record Invoice Payment
PUT/invoices/{invoiceNumber}/payment

Use this API to record a payment against an invoice. You can link one or more approved transactions to close the invoice, or mark it as paid. | Option | Body | What it does | | --- | --- | --- | | Pay with transactions | `transactions` | Links the approved transactions to the invoice | | Mark as paid | `mark_as_paid: true` + `mark_as_paid_reason` | Records the invoice as paid outside iPOSpays, with no transaction | **Option 1: pay with transactions** ```json { "transactions": [ { "transaction_id": "73804112475255476321791864572107" }, { "transaction_id": "44702062475255476321791864583266" } ] } ``` **Option 2: mark as paid** ```json { "mark_as_paid": true, "mark_as_paid_reason": "Paid by check 1042" } ```

Path Parameters

invoiceNumber*
string

Header Parameters

token*
string
Idempotency-Key
string

Body Parameters

Payment Option

transactions

transaction_id*
string
PUT/invoices/{invoiceNumber}/payment
1curl --location --request PUT 'https://api.ipospays.tech/invoice-service/v1/invoices/261013102503hOLHRNO9YW/payment' \
2--header 'token: ' \
3--header 'Idempotency-Key: ' \
4--header 'Content-Type: application/json' \
5--data '{
6 "transactions": [
7 {
8 "transaction_id": "32250116290654763220261010155208"
9 }
10 ]
11}'
Response

// Awaiting response…

Sample response
{
  "data": {
    "invoice_number": "261012153815CkSl24DHNV",
    "status": "SUCCESS",
    "tpn": "247525547632",
    "payment_link_status": "NONE",
    "transactions": [
      {
        "transaction_id": "32250116290654763220261010155208",
        "amount": 1870
      }
    ]
  },
  "message": "Invoice payment updated successfully",
  "response_code": "SUCCESS",
  "status_code": 200,
  "request_id": "TEST-20261012153830-6BCA8E",
  "timestamp": "2026-10-12T10:08:30.429Z"
}