Bank transfer checkout that confirms itself.
Each order gets its own one-time IBAN. When the transfer lands, the order is marked paid automatically. No reference for your customer to type, no payments to chase.
Available to verified businesses only.
Expires in 23:41:12
- No reference needed. This IBAN belongs to your order.
- Pay from any bank app. Instant rails confirm in seconds.
Simulate
Sample dataCards are expensive and references are unreliable.
- Card fees and chargebacks are expensive for high-value B2B orders.
- Ordinary bank-transfer checkout depends on the customer typing a reference correctly.
- Finance teams waste hours matching transfers to orders.
Four steps, no manual matching.
Create a session
Your server creates a checkout_session with amount, currency and expiry.
Show the IBAN
The customer sees a hosted page (or your embedded widget) with a unique IBAN.
Customer pays
The customer pays from their banking app.
Confirm
NEO matches the credit to the session, checks the amount, and fires checkout_session.paid.
Session lifecycle
Everything you need, nothing you have to build.
Hosted page
Branded with your logo and colours; mobile-first; available in English, French, German, Dutch, Spanish and Italian.
Embeddable widget
A drop-in component for your own checkout.
Exact-amount rules
Choose to accept, partially accept or refund over- and under-payments.
Expiry
Sessions expire after a set time (default 24 h); late payments are returned.
Copy and QR
One-tap copy for every field; EPC QR code for EUR where supported by the payer's bank.
Status in real time
The page updates the moment funds arrive.
Refunds
Full or partial refunds back to the payer's account via API.
Payment links
Generate a payable link from the dashboard without code.
Try it with sample data.
Expires in 23:41:12
- No reference needed. This IBAN belongs to your order.
- Pay from any bank app. Instant rails confirm in seconds.
Simulate
Sample dataCreate a checkout session
Idempotent POST, synchronous response, signed webhook. Full details in the API reference.
Every checkout credit is name-checked against the payer and screened by Shield before the session is marked paid. Third-party or sanctioned payers are returned to source.
curl https://api.neofin.tech/v1/checkout-sessions \
-H "Authorization: Bearer $NEO_API_KEY" \
-H "Idempotency-Key: 3e8b1d7c-52aa-4f0e-9c1d-0a7b6e5d4c3b" \
-H "Content-Type: application/json" \
-d '{
"amount": 24900,
"currency": "EUR",
"order_ref": "NW-20418",
"expires_in": 86400,
"amount_rules": {
"underpayment": "refund",
"overpayment": "refund_excess"
},
"success_url": "https://shop.example/thanks",
"branding": { "display_name": "Northwind Store" }
}'
{
"id": "cs_8Wn3Qa",
"object": "checkout_session",
"status": "open",
"amount": 24900,
"currency": "EUR",
"order_ref": "NW-20418",
"iban": "FR7630004012770001983362015",
"bic": "NEOFFRP1",
"holder_name": "Northwind Store",
"hosted_url": "https://pay.neofin.tech/s/cs_8Wn3Qa",
"expires_at": "2026-11-06T14:02:11Z",
"created_at": "2026-11-05T14:02:11Z"
}
{
"id": "ev_6Rd20",
"type": "checkout_session.paid",
"created_at": "2026-11-05T14:09:48Z",
"data": {
"id": "cs_8Wn3Qa",
"order_ref": "NW-20418",
"amount": 24900,
"amount_received": 24900,
"currency": "EUR",
"credit": "cr_3Mn8vB",
"payer": { "name": "Orchard Retail SAS", "country": "FR" },
"paid_at": "2026-11-05T14:09:48Z"
}
}
Questions we get about Checkout.
How fast does the customer see confirmation?
As soon as the transfer settles on its rail. Timing depends on the payer's bank and the rail used; SEPA Instant and Faster Payments typically settle within seconds, while standard SEPA settles on the next business day.
What if the customer pays the wrong amount?
Your session rules decide: auto-refund, accept as partial, or hold for review.
What if they pay after expiry?
The payment is returned and credit.returned fires with the reason session_expired.
Can I use my own domain?
Yes. Custom checkout domains are available on Scale and Institutional plans.
Do customers need an account with NEO?
No. The payer simply makes a bank transfer from their existing bank account.
Issue your first virtual IBAN this week.
Sandbox access is immediate. Live accounts follow KYB review of your business.