Overview

Records a payment made outside GetBill. Use it for a dated pay-down on a debt, or include installment_id to mark a specific payment-plan installment as paid. This endpoint is provider-agnostic: the payment can come from any external payment link provider, bank transfer, card processor, or partner system. GetBill only requires your stable external_payment_id. external_payment_id is required and used for idempotency on the debt. Re-sending the same ID with the same amount and same installment_id returns the existing payment instead of creating a duplicate. Reusing the same ID with a different amount or installment returns 409. Reusing the ID of a cancelled payment also returns 409; send a new external_payment_id for a new payment. New payments cannot exceed the relevant remaining amount. Send the same external_payment_id again to safely replay a successful call. Use Cancel Payment to fully cancel a payment that was sent by mistake.

Authentication

Requires a valid OAuth 2.0 access token with the debts:write scope.

Common workflows

Mark an installment as paid

Send the installment_id returned by Get Payment Plan. The payment amount must exactly match the installment amount; partial payments cannot be attached to an installment. When the last outstanding installment settles the debt, GetBill automatically marks the debt as paid and closes the payment plan. For a grouped plan, you may send the request through any debt ID in the group. GetBill records the installment on the shared plan debt and distributes its amount across group balances in deterministic FIFO order. The plan closes only when the complete group balance is paid.

Record a partial payment without a payment plan

Omit installment_id and send the amount received. GetBill deducts it from the debt’s remaining balance without creating a payment plan. On a grouped debt, a payment without installment_id remains scoped to the debt ID in the URL; it is not distributed across the group. Use a new external_payment_id for each distinct payment. Reuse the same ID only when retrying the same request.

Complete a payment plan

Record each installment payment with its corresponding installment_id. The final payment closes the plan automatically; no separate payment-plan deletion request is required.

Example