One API for cards, wallets, BNPL, payouts and KYC across CIS & EU. Live in 4 minutes with real test cards, deterministic sandbox and an AI assistant that writes the integration with you.
curl https://maxfi-api.exezine.az/v2/payments/checkout \ -H "Authorization: Bearer sk_test_…" \ -H "Content-Type: application/json" \ -d '{ "amount": 4900, "currency": "USD", "description": "Pro plan — annual", "order_id": "order_2842", "success_url": "https://yourapp.com/success", "cancel_url": "https://yourapp.com/pricing", "webhook_url": "https://yourapp.com/maxfi" }'
{
"id": "cs_mo2hwnfb_044b0e14",
"checkout_url": "https://maxfi-api.exezine.az/checkout/cs_mo2hwnfb_044b0e14",
"expires_at": "2026-04-17T07:30:00Z",
"amount": 4900, "currency": "USD",
"status": "open", "livemode": true
}We built MAXFI from the inside of a payments shop. So we shipped what acquirers actually need.
sk_test_… key + one curl. No sales call. Real test cards with deterministic behaviours.
HMAC-SHA256, 8 retries across 24h, replay-safe event_id, live delivery log per merchant.
SAQ A-EP scope. Cards never touch your servers. Tokenisation through MAXFI Checkout.
Pass Idempotency-Key on any state-changing call. Cached for 24h. Safe to retry.
Claude-powered assistant ⌘K — generates SDK code in 7 languages with proper error handling.
Per-connector latency and success rate, Prometheus-grade metrics. Open even if you're not a customer.
Every method, one schema. Visa, Mastercard, Mir, SBP, SberPay, Apple/Google Pay, BNPL.
POST /v2/payouts. Card-to-card, IBAN, SBP. Same idempotency rules. Same webhook envelope.
12 test cards, deterministic decline reasons, 3DS forced flows, event simulator with real HMAC.
HMAC-SHA256 signed. Retried 8 times across 24 hours. Live delivery log in your dashboard. Built-in payment.requires_actionevent so you can track 3DS challenges in real time.
import crypto from "node:crypto"; export default function handler(req, res) { const sig = req.headers["x-maxfi-signature"]; // sha256=<hex> const expected = "sha256=" + crypto .createHmac("sha256", process.env.MAXFI_WEBHOOK_SECRET) .update(req.rawBody) .digest("hex"); if (sig !== expected) return res.status(401).end(); const event = JSON.parse(req.rawBody); if (event.type === "payment.succeeded") { fulfillOrder(event.data.payment_id, event.data.amount); } res.status(200).end(); // ack within 10s or we retry }
Our AI assistant has read every line of every endpoint, knows your merchant ID and last 50 API calls, and writes integration code in any language with the right error handling and idempotency keys already in place.
Try the assistantidempotency_key so a retry from your queue won't double-refund.Smart routing engine picks the rail with the best success rate and lowest cost for each payment — currency, method and customer geography handled for you. You call one API. They see MAXFI.
Sign up, copy your sk_test_ key, paste a curl. We'll guide you to live mode without a sales call.