Integration Guide

From Zero to
Production in 10 Minutes

Four clear steps. Minimal configuration. Dedicated support at every stage. Here's exactly how it works.

Architecture

How Requests Flow

Your application calls our API, our engine routes to the card network, and structured results return in milliseconds.

🖥 Your Application ⚡ MCL Edge (24 PoPs) 🤖 AI Fraud Engine 🌐 Card Networks (2,000+)
📦 JSON Response ✓ Validated + Scored 💳 Live Balance Data
<80ms
End-to-end
TLS 1.3
Encrypted
99.99%
Uptime SLA
Step by Step

The Integration Process

01

Create Your Account

Sign up at mycardliaison.com in under 60 seconds. You'll receive a live API key and a sandbox key immediately — no credit card required for the free tier.

  • Email verification only — no KYC for free tier
  • Sandbox environment with 100 free test checks
  • Live key active immediately
  • Dashboard access with usage stats
Create Account →
API Keys
// Your keys — available instantly
{
  "live_key":    "mcl_live_sk_••••••••••••",
  "sandbox_key": "mcl_test_sk_••••••••••••",
  "account_id":  "acc_8f3a9b2c",
  "plan":         "starter",
  "quota":        1000
}
02

Install the SDK

Use our official SDK for JavaScript, PHP, Python, Ruby, Java, or Go — or call the REST API directly with any HTTP client.

  • npm, Composer, pip, gem, Maven packages
  • Full TypeScript definitions included
  • OpenAPI 3.1 spec for code generation
Install
# npm
npm install @mycardliaison/sdk

# Composer (PHP)
composer require mycardliaison/sdk

# pip (Python)
pip install mycardliaison

# gem (Ruby)
gem install mycardliaison
03

Make Your First API Call

POST a card number, PIN, and network ID. Get back a structured JSON response with balance, status, expiry, and fraud score.

  • RESTful JSON API
  • Consistent error codes across all networks
  • Idempotency key support for retries
View Full API Docs →
balance_check.js
import { CardLiaison } from '@mycardliaison/sdk';

const client = new CardLiaison({
  apiKey: process.env.MCL_API_KEY
});

const result = await client.cards.check({
  cardNumber: '6006-4913-0000-0011',
  pin: '1234',
  network: 'visa_gift'
});

console.log(result.balance);    // 47.50
console.log(result.fraudScore); // 0.02
04

Deploy to Production

Swap your sandbox key for a live key, configure your webhook endpoint, and go live. Our onboarding team is available for dedicated support.

  • Zero-downtime key rotation
  • Webhook delivery with automatic retries
  • IP allow-list for extra security
  • Dedicated Slack channel (Growth+)
Go Live Now →
webhook.js
// Listen for fraud alerts
const webhook = client.webhooks.construct(
  req.rawBody,
  req.headers['mcl-signature'],
  process.env.WEBHOOK_SECRET
);

if (webhook.type === 'fraud.detected') {
  // card_id, fraud_score, reason
  await blockCard(webhook.data.card_id);
}
FAQ

Common Questions

Do you support sandbox testing?

Yes. Every account includes a sandbox environment with test cards and simulated responses — free of charge, no quota.

What happens if a network is down?

Our redundant routing automatically falls back to alternative network connectors. Degraded networks are shown in your dashboard.

Is card data stored on your servers?

No. Card data is never persisted. Requests are processed in memory and immediately discarded after the network response.

Can I use this for bulk batch checks?

Yes — our Batch API endpoint accepts up to 1,000 cards per request with async processing and webhook delivery.

What error codes do you use?

We use a consistent error schema across all 2,000+ networks, so you never need to handle network-specific error formats.

Is there a rate limit?

Free: 10 req/s. Growth: 200 req/s. Enterprise: custom. Burst allowances apply.