Your reference
When creating a payment you may pass order_ref — your own identifier (e.g. an invoice
number). It is stored with the payment, returned on reads, and included in webhook
payloads, so you can reconcile events back to your records.
order_ref is for correlation, not deduplication: sending the same order_ref twice
creates two distinct payments. Guard against double-submits on your side before calling the API.
Confirmation is idempotent
After the customer pays, Satim redirects them to Fintech Core’s return URL, which confirms
the result and fires the webhook. Re-hitting that URL on an already-finalized payment is a
no-op — the status is not recomputed and no duplicate webhook is enqueued. Polling
GET /api/v1/payments/{id} while a payment is still PENDING will refresh its status from
Satim without side effects.
Transfers
Bank transfers (/api/v1/transfers) require a unique_reference; reusing one is rejected,
which makes transfer creation safe to retry.