Skip to content

OTCRecordPaymentInput ​

Type: Input

Input for recordPayment: writes a payment ledger row against an invoice and rolls the payment up onto that invoice and its order.

Fields ​

NameTypeDefaultDescription
amountFloat!Payment amount in the invoice's currency. Must be greater than zero. It is written to the payment ledger; the invoice's paidAmount is then re-derived by summing that ledger (overpayment is not rejected).
currencyCurrencyISOISO 4217 currency code of the ledger row (for example EUR). Defaults to the invoice's currency.
invoiceIdInvoiceID!TypeID (inv_…) of the invoice being paid. Payments cannot be recorded against a void or credited invoice.
methodPaymentMethodTyped payment method for the ledger row. Defaults to the value parsed from paymentMethod, or OTHER when that is absent or unrecognised.
notesStringInternal notes stored on the ledger row. Not shown to the customer.
paidAtStringWhen the payment was received, ISO-8601 with fractional seconds. Defaults to the current time, and is only stamped onto the invoice's paidAt when this payment settles it in full.
paymentMethodStringHow the payment was made, as free text recorded on the invoice (for example bank_transfer). Omit to leave any method already recorded on the invoice unchanged. Also used to derive the ledger row's method when that is not given explicitly.
paymentReferenceStringExternal reference for the payment, such as a bank transaction id, recorded on the invoice. Omit to leave the invoice's existing reference unchanged. Used as the ledger row's reference when that is not given.
receivedAtISO8601When the money was actually received (ISO-8601), as opposed to the ledger row's createdAt, which is when it was keyed into the system. Defaults to paidAt, or the current time.
referenceStringBank reference, cheque number, or card auth code for the ledger row. Defaults to paymentReference.

Connect machines, automate workflows, and build custom apps for print production.