Record a payment on an invoice
Record an offline payment against an invoice and settle it.
POST https://cotlet.dev/api/v1/wild-apricot/invoices/{invoice_id}/payments
Selects Record payment on the invoice, enters the amount, date and payment type and saves. The amount must be equal to or less than the invoice amount. A smaller amount marks the invoice partially paid, the full balance marks it fully paid, and contact balances update. Wild Apricot sends no receipt for a manual payment. Needs a full administrator, membership manager, events manager or donations manager. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice_id integer required | integer | Invoice ID from list_invoices. |
| amount number required | number | Amount received, at most the invoice amount. |
| date date required | date | Date the payment was received. |
| payment_type string required | string | How it was received, one of the payment types in your account, such as check, cash or wire transfer. |
Request
curl -X POST https://cotlet.dev/api/v1/wild-apricot/invoices/90417/payments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":95,"date":"2026-10-21","payment_type":"Bank transfer"}' result = client.call("wild-apricot", "record_payment", {"invoice_id":90417,"amount":95,"date":"2026-10-21","payment_type":"Bank transfer"}) const result = await cotlet.call('wild-apricot', 'record_payment', {"invoice_id":90417,"amount":95,"date":"2026-10-21","payment_type":"Bank transfer"}); cotlet call wild-apricot record_payment --data '{"invoice_id":90417,"amount":95,"date":"2026-10-21","payment_type":"Bank transfer"}' Example response
{
"payment_id": 71002,
"invoice_id": 90417,
"contact": "Sam Okafor",
"amount": 95,
"date": "2026-10-21",
"payment_type": "Bank transfer",
"invoice_status": "paid",
"balance": 0
}