Payments
Payment history, and recording payments taken outside Genaya.
/paymentsList payments
Returns the organization's payment history. Stripe identifiers are never exposed. Requires scope: payments:read.
Parameters
Query
invoiceIdcompanyIdmethodstatusproviderResponse 200
Errors
/paymentsRecord an offline payment
Records a payment that was taken OUTSIDE Genaya - cash on site, a mailed check, a bank transfer - against an invoice, and recalculates that invoice's paid amount and balance. Requires scope: payments:write. This endpoint cannot charge a card, and that is deliberate. An API key is an organization-wide bearer credential with no second factor and no cardholder present. If it could charge a stored card, a single leaked key would be enough to run charges against your customers. Card payments stay on the paths that have a human or a cardholder in the loop: the app, the client portal, and Genaya payment links. Passing a card method here is rejected with `card_payments_not_supported`. Send an Idempotency-Key. Without one, a retry after a network timeout records the payment twice and the invoice shows as overpaid.
Request body
invoiceIdrequiredamountrequiredmethodrequiredcompanyIdpaidOnnoteResponse 201
idobjectinvoiceIdcompanyIdcompanyNameamountcurrencymethodproviderstatusfeeserviceFeenetcardBrandlast4clientNameclientEmailnotepaidOncreatedAtErrors
/payments/{id}Retrieve a payment
Returns a single payment by id. A payment belonging to another organization returns 404 rather than 403. Requires scope: payments:read.
Parameters
Path
idrequiredResponse 200
idobjectinvoiceIdcompanyIdcompanyNameamountcurrencymethodproviderstatusfeeserviceFeenetcardBrandlast4clientNameclientEmailnotepaidOncreatedAt