Record invoice payment
Record an offline payment, such as a bank transfer, on an open invoice.
POST https://cotlet.dev/api/v1/chargebee/invoices/{invoice_id}/payment
write Confirm
Records a payment received outside Chargebee on a payment_due or not_paid invoice. A partial amount reduces the amount due; an amount above it becomes excess payments on the customer. Amounts are in the smallest currency unit. It marks money as received, so by default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice_id string required | string | Invoice ID from list_invoices, for example INV-1042. |
| amount integer required | integer | Amount received in the smallest currency unit. |
| payment_method string required | string | Offline method as named in the Record payment dialog, for example Bank transfer. |
| date date | date | Day the money arrived. Default: today. |
| reason_code string | string | A reason code configured in Chargebee, if your site uses them. |
| comment string | string | Internal note, for example the bank reference. |
Request
curl -X POST https://cotlet.dev/api/v1/chargebee/invoices/invoice_8c41d2/payment \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1,"payment_method":"payment method"}' result = client.call("chargebee", "record_invoice_payment", {"invoice_id":"invoice_8c41d2","amount":1,"payment_method":"payment method"}) const result = await cotlet.call('chargebee', 'record_invoice_payment', {"invoice_id":"invoice_8c41d2","amount":1,"payment_method":"payment method"}); cotlet call chargebee record_invoice_payment --data '{"invoice_id":"invoice_8c41d2","amount":1,"payment_method":"payment method"}' Example response
{
"invoice": {
"invoice_id": "INV-1044",
"status": "paid",
"total": 29900,
"amount_paid": 29900,
"amount_due": 0
},
"payment": {
"amount": 29900,
"method": "Bank transfer",
"date": "2026-10-14"
}
}