Payments

Get a payment

Returns one confirmed payment by id, including the provider reference, the settlement timestamps, and whether the payment has reached the ERP as a receipt.

Available to admin and readonly API keys (no side effects).

get/v1/payments/{paymentId}

Request

  • Base URL: https://api.getfinero.com/functions/v1/api
  • URL: https://api.getfinero.com/functions/v1/api/v1/payments/{paymentId}
  • Auth: HTTP bearer

Path parameters

paymentIdstring uuid required

Payment id.

Response

Success

idstring uuid required

Payment id.

invoice_idstring uuid required

Invoice the payment settles.

installment_idstring uuid nullable required

Installment the payment settles, or null for an invoice-level payment.

payment_link_idstring uuid required

The payment link the payer used.

provider'stripe' | 'wix' required

Payment provider.

provider_payment_idstring required

The provider's payment/transaction identifier.

amount_minorinteger required

Settled amount. Integer amount in the currency's MINOR unit (e.g. cents), as defined by the PAYMENT PROVIDER's own table, which is not always ISO 4217 — the two disagree on ISK and MGA among others, so converting with an ISO exponent misprices those. Invoice and installment amounts are exact decimal strings and are the safe basis for arithmetic and display.

currencystring required

Settled currency. ISO 4217 alphabetic code, e.g. "USD".

mode'test' | 'live' required

Provider environment. test means a TEST processor handled this money: it is not revenue and must never be reported as cash collected, however real the amount looks. live is real money.

status'confirmed' required

Payments appear here only once verified/confirmed by the provider.

provider_paid_atstring date-time nullable required

Provider-reported payment time (ISO 8601 UTC).

confirmed_atstring date-time required

When Finero confirmed the settlement (ISO 8601 UTC).

erp_push_status'held' | 'pending' | 'processing' | 'posted' | 'failed' nullable required

Whether this payment has reached the ERP as a receipt. held = the connection's payment_push_mode is manual and no admin has released this receipt yet — nothing is wrong, and POST /v1/payments/erp-push releases it. posted = the ERP accepted it, and Finero's part ends there: what the ERP does with the receipt afterwards (allocating it, or reversing it) is the ERP's business. failed means it did not reach the ERP — retried automatically only while the cause is the ERP being unreachable. null when there is no push at all: a payment on a Finero-created invoice (there is no ERP to report to), a tenant not syncing payments to an ERP, or a payment that settled before ERP payment sync was switched on — enabling it never posts history backwards. NOT TO BE CONFUSED WITH an invoice's erp_push_state: that one rolls up every push on the invoice and reports the worst, while this is THIS payment's own.

erp_receipt_numberstring nullable required

The receipt identifier Finero sends to the ERP (FIN-…), derived deterministically from the payment id. This is the value that identifies the receipt inside the ERP.

erp_external_receipt_idstring nullable required

The ERP's own identifier for the receipt, once it has created one.

erp_pushed_atstring date-time nullable required

When the ERP first accepted the receipt (ISO 8601 UTC).

erp_push_error_categorystring nullable required

Coarse reason the push has not gone through, when it has not. Cleared by the database the moment a push succeeds, so it is never a stale error beside a posted status. Provider error text is deliberately not exposed.

Changes

No recorded changes to this operation across all 1 revision of this API.