Payments
Accept cards and more through one provider abstraction.
Each provider adapter declares exactly what it supports. The checkout only offers methods that are really available for the seller, currency, region and mode.
Payment lifecycle, precisely.
We distinguish the stages that other platforms blur together, because each one has different guarantees:
- Authorisation and capture happen at the provider. Our payment record moves to processing or succeeded only on a verified webhook or an authoritative provider fetch.
- Settlement is when the provider makes funds available on the seller's connected account, on the provider's schedule.
- Payout initiation is provider-managed (automatic schedule or instant where eligible). We mirror pending → in transit → paid / failed.
- Bank receipt depends on the seller's bank; we show the provider's estimated arrival date, never a promise.
A browser returning to a success page is not proof of payment. Our status page polls our own record, which only changes through verified events.
Refunds, disputes and reconciliation
Money moving backwards is handled with the same care as money moving forwards.
Refunds
Full or partial, through the provider, with the platform fee reversed proportionally. Idempotency keys stop double refunds.
Disputes
Chargebacks are recorded as ledger debits when opened and reversed when won. Disputed payments are frozen for refunds.
Reconciliation
A scheduled job re-fetches stuck payments, fills in missing provider fees and checks that every succeeded payment has its ledger entries.