Getting Started with Collect
Accept payments across 20+ markets through one unified API
The CrissCross Collect API enables you to accept payments from customers across 20+ markets in Africa and the Middle East through a single, unified interface. As your merchant of record, CrissCross handles all payment provider relationships, domestic acquiring, and compliance, allowing you to accept payments without registering with individual providers.
Key Features
- Unified API: Accept payments across multiple payment methods and regions through one integration
- Merchant of Record: CrissCross handles all payment provider relationships, so you can accept payments without registering with individual providers
- 20+ Market Coverage: Accept payments across 20+ markets in Africa and the Middle East
- Multiple Payment Methods: Support for cards, mobile money, bank transfers, and region-specific payment methods
- Intelligent Routing: Automatic failover and intelligent routing to optimize transaction success rates
- Hosted Checkout: Optional hosted checkout solution that handles the entire payment flow
- Real-time Status Updates: Monitor payment status through webhooks and polling
Core Concepts
1. Checkout Sessions
A checkout session represents a payment intent and contains the details needed to process a payment. Sessions can be created for hosted or direct integrations and include information about the amount, currency, payer details, and payment preferences.
- Create Session: Use
POST /v1/checkout/sessionto create a checkout session - Get Session: Retrieve session details using
GET /v1/checkout/session - Session Lifecycle: Sessions can be used to initiate payments and track the payment flow
2. Payments (Transactions)
In CrissCross, a payment is modeled as a transaction. Each transaction represents a complete payment attempt and can include multiple payment attempts if retries are required.
- Initiate Payment: Use
POST /v1/paymentto initiate a payment transaction - Poll Status: Use
GET /v1/payment/{transactionId}to check transaction status - List Payments: Use
GET /v1/payment?merchantIds=...with cursor-based pagination (nextCursor/backCursor) - Authorize: Use
POST /v1/payment/authorizewhen additional authorization is required
Integration Methods
CrissCross offers three integration approaches to suit different needs:
1. Hosted Checkout
The simplest integration method where CrissCross handles the entire payment flow:
- Minimal Development: Redirect customers to a CrissCross-hosted checkout page
- Automatic Payment Method Display: Payment methods are automatically shown based on customer location
- Low Compliance Burden: CrissCross handles PCI compliance and security requirements
2. Secure Fields
A middle-ground approach that provides more control while maintaining low compliance:
- Custom UI: Build your own checkout UI while using CrissCross’s secure field components
- Tokenization: Payment details are tokenized before reaching your server
- Reduced PCI Scope: Minimize your PCI compliance requirements
3. Direct API Integration
Full control over the payment experience:
- Complete Customization: Build a fully custom checkout experience
- Server-to-Server: Handle all payment logic on your backend
- Maximum Flexibility: Ideal for complex payment flows or unique requirements
Workflow Overview
The typical Collect payment flow follows these steps:
- Create Checkout Session: Use
POST /v1/checkout/sessionto create a session with payment details - Get Available Methods (optional): Use
GET /v1/payment/available-methodsto see which payment methods are available - Initiate Payment: Use
POST /v1/paymentto initiate the transaction with the selected payment method - Handle Authorization (if needed): If the response includes an
authState, follow the required steps (e.g., redirect) and usePOST /v1/payment/authorize - Poll Status: Use
GET /v1/payment/{transactionId}to check transaction status, or rely on webhooks for real-time updates - Process Refunds (if needed): Use the refund endpoints to process full or partial refunds
Supported Payment Methods
CrissCross supports payment methods across 20+ markets:
- Card Payments: Visa, Mastercard, and other major card networks
- Mobile Money: M-Pesa (Kenya, Tanzania, etc.), MTN MoMo, Airtel Mobile Money
- Bank Transfers: Instant EFT, bank transfers, and direct debit
- Regional Methods: Pay By Bank (South Africa), and other market-specific solutions
Payment methods are automatically configured based on your account settings and the customer’s location.
Supported Currencies and Markets
Collect supports payments in multiple currencies across Africa and the Middle East:
- Fiat Currencies: USD, EUR, NGN (Nigeria), KES (Kenya), ZAR (South Africa), GHS (Ghana), XOF (West Africa), XAF (Central Africa), EGP (Egypt), TZS (Tanzania), MZN (Mozambique), ZMW (Zambia), UGX (Uganda), and more
Authentication
All Collect API requests require OAuth 2.0 authentication. You obtain an access token by calling the Authentication endpoint with your merchantId and clientSecret, then include the token in the Authorization: Bearer ... header on subsequent requests.
For detailed authentication instructions, see the Authentication guide.
Next Steps
- Set Up Your Account: Complete account setup and enable the payment methods you want to offer
- Choose Integration Method: Select Hosted Checkout, Secure Fields, or Direct API Integration based on your needs
- Configure Payment Rules: Set up routing rules and preferences in the CrissCross dashboard
- Test Your Integration: Use the sandbox environment to test your integration before going live
- Go Live: Once testing is complete, contact your account manager to enable production access
For detailed integration guides, see: