Checkout keys and cashier keys
Cardflo utilizes Checkout Keys and Cashier Keys to provide secure and flexible integration options for merchants. Checkout Keys manage payment session initiation and customer data collection, while Cashier Keys facilitate server-side transaction processing.
This separation ensures PCI compliance and robust security for all payment flows.
- Category
- Developer
- Capabilities
- 10
- Available on
- All plans
The overview
The separation of credentials into checkout keys and cashier keys represents a foundational security architecture in modern payment orchestration. Checkout keys are public-facing identifiers used within client-side environments, such as web browsers or mobile applications, to initialise payment components and collect sensitive cardholder data.
These keys allow a merchant to render a checkout interface without exposing sensitive backend permissions. Conversely, cashier keys are restricted, server-side credentials designed for authenticated communication between a merchant server and the payment gateway.
By bifurcating these roles, the system ensures that a compromise of the client-side code does not grant an attacker the ability to perform administrative actions, such as initiating refunds or capturing authorised payments.
This architectural approach assists in maintaining PCI DSS compliance by minimising the scope of systems that interact directly with raw payment credentials while allowing for a programmable, granular control over transaction lifecycles.
How it works
Client-side session initiation
The integration begins with the checkout key being utilised within the frontend application to request a secure session.
This key identifies the merchant identity (MID) and authorises the rendering of secure payment elements, ensuring that customer card details are tokenised before they ever reach the merchant infrastructure.
Secure data tokenisation
As the customer enters their payment details, the checkout key facilitates a direct connection to the vault. Sensitve fields like the PAN and CVV are converted into temporary tokens.
This process ensures that the merchant environment remains outside the primary scope of PCI DSS requirements.
Server-to-server authorisation
Once a token is generated, the merchant server uses its cashier key to request a formal authorisation from the acquirer. This private key confirms the request is legitimate and allows the gateway to map the temporary token back to the stored payment data for processing.
Transaction lifecycle management
Post-authorisation actions, including capture, settlement, and refunds, are exclusively handled via the cashier key. Because these actions involve the movement of funds, they require the higher level of authentication and restricted access that the server-side cashier key provides to the merchant administrator.
Why it matters
Risk and liability mitigation
Dividing credentials reduces the blast radius of a potential security breach. If a checkout key is intercepted from a website source code, the attacker cannot use it to withdraw funds or access historical transaction records.
The cashier key remains protected on a secure backend, ensuring that only authorised server environments can execute financial movements, which is a critical defence against common injection attacks.
Simplified PCI DSS compliance
By utilising checkout keys to handle cardholder data via hosted fields or components, merchants typically qualify for a reduced compliance burden, such as SAQ A or SAQ A-EP.
The cashier key ensures that sensitive data is handled in a tokenised format on the backend, removing the need for the merchant to store, process, or transmit raw credit card information on their own servers.
Use cases
E-commerce web applications
Merchants use checkout keys to embed secure payment forms directly into their websites, while the cashier key is stored in their backend environment to finalise the capture of funds once the order is confirmed.
Native mobile apps
Mobile developers use checkout keys within iOS or Android apps to securely gather payment signatures, relying on server-side cashier keys to manage the complex logic of multi-currency settlement and recurring billing.
Subscription and recurring billing
After the initial checkout key collects the card details, the cashier key is used to establish a merchant-initiated transaction (MIT) framework, allowing for automated renewals without further customer intervention.
By the numbers
Industry standards suggest that offloading data capture to hosted components via client-side keys can reduce the number of applicable PCI requirements by over 90 percent.
Standardised key-based architectures typically allow developers to implement a basic secure checkout flow within approximately two working days of development time.
Professional payment gateways require 100 percent of server-side requests to be authenticated via a private key to ensure the integrity of the transaction lifecycle.
Related terms
Talk to our team about a live rollout on your acquiring stack.
What you get with Checkout keys and cashier keys
- Isolate client-side activities from sensitive administrative backend functions for improved security
- Minimise PCI DSS exposure by ensuring raw card data bypasses merchant servers
- Authorise frontend payment components using restricted, public-facing checkout key credentials
- Execute secure server-side captures and refunds with authenticated cashier key requests
- Maintain granular access control over specific API endpoints and transaction operations
- Support a wide range of frontend frameworks without risking backend credential exposure
- Reduce the probability of fraudulent fund transfers via compromised client-side code
- Facilitate secure tokenisation of cardholder details at the point of initial entry
- Enable merchant-initiated transactions for subscription models using secure backend authentication
- Provide clear audit trails for both client-side sessions and server-side management actions
A short scoping call, then a written plan for your MIDs.
Questions about Checkout keys and cashier keys
What is the primary difference between a checkout key and an API secret key?
A checkout key is designed for use in public environments where the code is visible, such as a browser. It has extremely limited permissions, typically only being able to create a payment token.
An API secret key, or cashier key, is used for server-side operations and has the power to move money, perform refunds, and access sensitive merchant data.
Keeping these keys separate ensures that even if a public key is copied, the core financial functions of the merchant account remain protected behind server-side authentication.
Can a checkout key be used to perform a refund or void a transaction?
No, checkout keys are specifically restricted to prevent any operations that involve the movement of funds from the merchant account. Refunds, voids, and captures require the use of a cashier key, which must be kept secret and only used within a secure server environment.
This safeguard is intentional and prevents malicious actors from manipulating the client-side code to trigger unauthorised financial reversals or data exports from the payment gateway.
Why is this two-key system necessary for PCI DSS compliance?
PCI DSS compliance focuses on how cardholder data is handled. By using a checkout key to facilitate the tokenisation of card data directly from the customer's browser to the payment processor, the merchant never touches the raw data.
The cashier key then allows the merchant to work with that token. This separation is what enables a merchant to use simplified compliance questionnaires, as their systems are never in possession of sensitive information like clear-text PANs.
How should cashier keys be stored within a merchant's infrastructure?
Cashier keys must be treated as highly sensitive credentials. They should never be hard-coded into source files or stored in version control systems like Git.
Instead, they should be managed using environment variables or a dedicated secret management service. Access to these keys should be restricted to the specific server instances that require them to communicate with the payment processor for transaction finalisation and reporting.
What happens if a checkout key is leaked or compromised?
If a checkout key is compromised, the impact is generally low compared to a secret key leak.
An attacker could potentially use the key to submit junk data or attempt to create tokens through the merchant's MID, but they cannot access existing customer data or funds.
However, it is still standard practice to rotate the leaked checkout key to prevent any unauthorised use of the merchant's frontend assets and to maintain clean transaction logs.
Do cashier keys support different levels of permission based on the user?
While the cashier key itself represents a high-level server credential, industry-standard gateways often allow for the creation of multiple keys with various scopes.
For example, one cashier key might be restricted to read-only access for reporting, while another might have the authority to process captures and refunds.
This follows the principle of least privilege, ensuring each part of a merchant's backend system only has the permissions it needs to function.
Related features.
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.
