Developer-friendly API
Cardflo's API is designed with developers in mind, prioritising ease of use, comprehensive documentation, and robust functionality. This ensures a smooth integration process, allowing your team to quickly deploy and manage payment solutions.
Focus on innovation, not integration challenges.
- Category
- Developer
- Capabilities
- 10
- Available on
- All plans
The overview
A developer-friendly API serves as the primary interface between a merchant's digital infrastructure and the broader payments ecosystem. In the B2B sector, this means providing RESTful endpoints that allow for the programmatic execution of authorisations, captures, and refunds.
The architecture must account for complex data structures required by Card-Not-Present transactions, including 3DS metadata and Level 2 or Level 3 purchase details.
Effective API design prioritises idempotent requests to prevent duplicate transactions and utilises standard HTTP status codes to communicate the state of a request.
Beyond simple payment processing, these interfaces facilitate the management of recurring billing schedules, vaulting of tokenised credentials, and the retrieval of settlement reports.
By integrating directly at the API level, businesses can maintain full control over the checkout experience while delegating sensitive data handling to a PCI-DSS compliant environment. This structural approach reduces technical debt and ensures that backend systems remain synchronised with the acquirer's ledger.
How it works
Authentication and Credential Security
The integration begins by authenticating requests using secret keys or OAuth tokens transmitted over TLS. Developers configure webhooks to receive asynchronous notifications for events such as successful settlements or dispute initiations.
This ensures that the merchant's internal database stays aligned with the status of every transaction without constant polling of the server.
Request Construction and Validation
Developers construct JSON payloads containing transaction amounts, currency codes, and payment instrument details. The API validates these inputs against schema requirements before attempting authorisation.
Detailed validation errors are returned immediately if mandatory fields, such as the CVV or account holder name, are missing or incorrectly formatted for the specific MCC.
Idempotency and Resilience Testing
To handle network instability, the API employs idempotency keys. If a request is retried due to a timeout, the system recognises the unique key and returns the original response rather than creating a duplicate charge.
This logic is typically verified within a sandbox environment using simulated response codes for various scenarios.
Response Handling and Error Mapping
Upon receiving a response from the issuer, the API maps complex bank response codes into standardised, actionable categories.
Developers use these categorised codes to trigger specific workflows, such as prompting the user for a different payment method after a hard decline or initiating a 3DS challenge for a soft decline.
Why it matters
Reduced Integration Latency
Well-structured APIs with comprehensive documentation and native SDKs allow engineering teams to move from initial configuration to a functional sandbox in a shorter timeframe. By providing clear definitions for every endpoint and field, the need for back-and-forth support queries is minimised.
This efficiency ensures that payment logic can be deployed alongside core product features without becoming a bottleneck for the broader development lifecycle.
Operational Stability and Debugging
Detailed logging and transparent error messaging are critical for maintaining high uptime in production environments. When an API provides granular feedback on why a transaction failed, such as specific BIN-related restrictions or SCA requirements, developers can automate the appropriate response.
This reduces the manual overhead for finance and support teams who would otherwise need to investigate vague decline reasons via an acquirer portal.
Scalable Payment Architecture
As a business expands into new markets or adopts new business models, a flexible API allows for the addition of alternative payment methods and multi-currency support without rewriting the entire integration.
Standardised objects for customers, subscriptions, and payment methods allow developers to build modular systems that can adapt to changing regulatory requirements like PSD3 or evolving scheme rules from Visa and Mastercard.
Use cases
SaaS Subscription Scaling
Technical teams at SaaS firms use the API to automate complex dunning cycles and subscription upgrades. Programmatic access to the vault allows for seamless billing shifts as customers change tiers.
Marketplace Payout Automation
Marketplace platforms integrate APIs to split payments between vendors and calculate commissions in real-time. This ensures that KYB-verified sub-merchants receive settlements according to their specific contractual terms.
Custom Mobile Checkout
Mobile developers use specific SDKs to build bespoke checkout flows that trigger 3DS authentication natively. This maintains brand consistency while ensuring sensitive card data never touches the merchant's own servers.
ERP System Synchronisation
Large enterprises connect their ERP systems directly to the payments API to automate bank reconciliation. Transaction metadata is used to close out open invoices automatically upon receiving a settlement notification.
By the numbers
Typical efficiency gains reported by engineering teams when switching from legacy SOAP interfaces to modern RESTful APIs with comprehensive SDKs.
The standard industry benchmark for gateway overhead per request, excluding downstream latency introduced by the card networks and issuing banks.
The observed reliability rate for preventing duplicate transactions in high-volume environments where network retries are common.
Related terms
Talk to our team about a live rollout on your acquiring stack.
What you get with Developer-friendly API
- Comprehensive RESTful architecture for predictable resource-oriented URLs and standard HTTP method usage.
- Native SDKs for Python, Node.js, and Java to accelerate server-side integration and maintenance.
- Isolated sandbox environments for rigorous testing of edge cases without impacting live financial data.
- Granular webhook notifications for real-time updates on chargebacks, refunds, and successful settlement events.
- Idempotency header support to prevent duplicate transactions during intermittent network connection failures.
- Extensive documentation featuring code samples, field descriptions, and interactive API explorer tools.
- Standardised error objects with specific codes and human-readable messages for rapid troubleshooting.
- Versioned API releases to ensure backward compatibility and controlled migration to new features.
- PCI-compliant tokenisation endpoints to minimise the scope of annual security audits and assessments.
- Support for custom metadata fields to facilitate easier reconciliation with internal business intelligence tools.
A short scoping call, then a written plan for your MIDs.
Questions about Developer-friendly API
How does the API handle Strong Customer Authentication (SCA) requirements under PSD2?
The API is designed to support 3-D Secure protocols by including specific flags in the authorisation request. When a transaction requires authentication, the API returns a response indicating that a challenge is necessary.
The developer then redirects the user to the issuer's authentication page or uses an SDK to handle the challenge within the app. Once authenticated, the transaction process continues.
This logic ensures compliance with regional regulations while minimising friction for the end user by only triggering SCA when mandated by the issuer or scheme rules.
What is the role of idempotency keys in B2B payment integrations?
Idempotency keys are unique identifiers sent in the header of a POST request. Their primary purpose is to ensure that an operation is performed only once, even if the request is resent multiple times.
In B2B environments where transaction values are high, this prevents accidental double-charging due to network timeouts or browser refreshes.
If the API receives a second request with the same idempotency key, it returns the stored result of the first successful request rather than attempting to authorise the payment again.
Can we manage different currency settlements through a single API connection?
Yes. The API supports multi-currency processing by allowing developers to specify the currency code in the transaction payload.
Depending on your acquirer setup and MID configuration, the system can process transactions in one currency and settle in another, or provide like-for-like settlement.
The API response will typically include the transaction amount in the original currency and the converted amount if domestic settlement is required, allowing your accounting software to track FX impacts accurately.
How are error codes structured for debugging purposes?
Errors are returned using standard HTTP status codes combined with a JSON body containing a specific error type and code. For example, a 400 Bad Request might include a code for 'invalid_cvv', while a 402 Payment Required might indicate a 'card_declined' event from the issuer.
This hierarchy allows developers to distinguish between client-side integration issues, such as missing parameters, and downstream financial issues, such as insufficient funds, allowing for automated and specific error handling in the user interface.
What security measures protect the API from unauthorised access?
Security is maintained through a multi-layered approach starting with mandatory TLS 1. 2 or higher for all communication.
Authentication is managed via API keys which should be restricted to server-side calls to prevent exposure in client-side code. Additionally, IP whitelisting can be configured for sensitive endpoints, and webhooks are often signed with a cryptographic signature.
This allows the merchant's server to verify that the notification truly originated from the payments gateway and has not been tampered with in transit.
Does the API support custom metadata for reconciliation?
The API allows for the inclusion of custom metadata objects within payment and customer resources. Developers can attach internal identifiers, such as invoice numbers or customer IDs from an external CRM, to the transaction record.
This metadata is not passed to the card schemes but remains associated with the transaction within the gateway and reporting systems. This facilitates automated reconciliation, as these identifiers can be retrieved via the API or included in scheduled CSV settlement exports.
Ready for velocity?
Tell us about your business. We'll match you with the right acquiring partners and the right route, typically inside a week.
