Checker Documentation
Everything you need to integrate payment routing, reconciliation, and compliance into your platform.
API Reference
Full endpoint documentation for routing, reconciliation, compliance, and webhook delivery.
Browse endpointsAuthentication
Create and manage API keys. Understand scopes, environments, and key rotation procedures.
Learn about keysWebhooks
Receive real-time notifications for routing decisions, settlement events, and compliance holds.
Set up webhooksCore concepts
Understand how Checker's components fit together before making your first API call.
Routing engine
How Checker selects the optimal payment provider for each transaction using fee schedules, uptime data, and your custom rules.
Reconciliation ledger
How settlement events are matched to routed transactions and how discrepancies are surfaced before your finance close.
Compliance layer
MAS PSA checks, FATF counterparty screening, and cross-border reporting rules applied before each routing decision.
Provider connectors
Pre-built integrations for PayNow, FAST, PromptPay, QRIS, HitPay, Stripe, and Adyen. Add providers without writing connector code.
Automatic failover
What happens when a provider returns an error or drops below your uptime threshold. Rerouting happens in under 100ms.
Test environment
Make real routing decisions and see real reconciliation output without touching live payment rails. Test keys do not count toward your quota.
Quick start
Make your first routing call in under five minutes.
// npm install @checker/sdk
import Checker from '@checker/sdk';
const checker = new Checker({
apiKey: 'chkr_live_...'
});
const result = await checker.payments.route({
amount: 49700,
currency: 'SGD',
method: 'paynow',
reference: 'order_1234'
});
console.log(result.provider, result.transaction_id);
# pip install checker-sdk
from checker import Checker
client = Checker(api_key="chkr_live_...")
result = client.payments.route(
amount=49700,
currency="SGD",
method="paynow",
reference="order_1234"
)
print(result.provider, result.transaction_id)
// go get github.com/checker-api/checker-go
package main
import (
"fmt"
"github.com/checker-api/checker-go"
)
func main() {
client := checker.New("chkr_live_...")
result, _ := client.Payments.Route(&checker.RouteParams{
Amount: 49700,
Currency: "SGD",
Method: "paynow",
Reference: "order_1234",
})
fmt.Println(result.Provider, result.TransactionID)
}