Facto is a payment method your customer already has. The customer links their account and approves payments on Facto-hosted pages. Your backend uses Basic auth to call the Merchant API.

You can take Facto payments without storing card data, customer credentials, or customer funds. The customer links once, then pays per order.

How Facto works

The integration has three parts:

  • One server-side API. Your backend calls the Merchant API for readiness, authorizations and payments. Nothing that moves money runs in the browser.
  • Hosted approval. Customers link their account and approve payments on pages Facto hosts, so their credentials never reach your systems.
  • Idempotent payments. Every charge carries a key, so a retry returns the original payment instead of creating a second one.

To link a customer, your page opens Hosted Connect and receives a one-time code. Your backend exchanges it for a userLinkRef and stores that reference with the customer record. For each order, check payment readiness, get an authorization, then submit the payment with an idempotency key.

Who owns what

OwnerResponsibilities
Your app and backendCart, order, customer session, checkout UI, support, reconciliation. Merchant API calls, userLinkRef storage, idempotency keys, and trusted order state: amount, currency, reference.
Facto SDKsPopup lifecycle and return-message validation in the browser; request signing, response typing, and secret isolation on the server.
FactoLinking, user setup, and payment approval in Hosted Connect; readiness, payment options, checkout sessions, authorizations, and payment admission in the Merchant API; settlement of admitted payments.

You never touch funds. No customer money enters, waits in, or leaves your systems.

Hard rules

Never call Facto-internal routes. Never resolve or validate a payment authorization yourself. Derive amount, currency, and order reference from trusted local order state, never from browser input. Keep clientSecret server-side, always.

Start with Access and credentials, then follow the Quickstart.