π Zero Authorization
What is Zero Authorization?
A Zero Authorization is a $0.00 authorization transaction that validates a customerβs card and securely stores the credentials for future useβwithout actually charging them. This enables you to verify card validity, store credentials, and establish authorization for subsequent transactions.
π Card Validation Without Charging
Zero Authorization confirms that a card is valid and can be charged, while creating a secure reference for future Card on File (COF) or Merchant Initiated Transactions (MIT).
Key Characteristics
- No Charge: Authorizes the card for $0.00, so the customer is not charged
- Card Validation: Confirms the card is valid and in good standing
- Secure Storage: Credentials are tokenized and stored in Coinflowβs PCI-compliant vault
- Future Authorization: Creates a
paymentIdreference for subsequent COF/MIT transactions - CVV Verification: Requires the customerβs CVV for proper authorization
Why Use Zero Authorization?
Zero Authorization is essential for business models where you need to store a customerβs payment method before charging them:
Store customer cards when they sign up, then charge based on actual usage later
Save payment credentials for automatic balance replenishment when thresholds are met
Validate payment methods for free trial signups without charging until trial ends
Verify payment capability before providing services or access
How It Works
Customer Provides Card Details
Customer enters their card information (including CVV) through your checkout flow.
Zero Authorization is Processed
Coinflow sends a $0.00 authorization to validate the card with the card network.
Credentials are Stored
On success, the card is tokenized and securely stored in Coinflowβs PCI-compliant vault.
Implementation Options
Zero Authorization can be implemented in two ways:
- SDK Integration - Using Coinflowβs prebuilt UI with
zeroAuthorization=true - API Integration - Direct API call to the Zero Authorization endpoint
Option 1: SDK Integration
The simplest way to implement Zero Authorization is using Coinflowβs SDK. Pass zeroAuthorization=true to the purchase component to perform a zero authorization instead of a regular purchase.
React
React Native
Vue
SDK Benefits
Using the SDK for Zero Authorization automatically handles:
- PCI-compliant card entry UI
- 3DS challenges if required
- Customer consent and compliance messaging
- Error handling and validation
Option 2: API Integration
For headless implementations or custom UI flows, use the Zero Authorization API endpoint directly.
View Zero Authorization API Reference
Request Parameters
*Either card or token is required, but not both.
Using a New Card
Using a Saved Token
If the customer has a previously tokenized card, you can use the token instead:
Response
A successful Zero Authorization returns the payment ID:
Save the Payment ID
Store this paymentId securely. Youβll use it as the originalPaymentId when processing future Card on File or Merchant Initiated Transactions.
Using Zero Authorization for Card on File
After completing a Zero Authorization, use the paymentId as the originalPaymentId for Card on File transactions:
Customer Must Be Present
Card on File transactions require the customer to actively participate in the transaction. For charges without customer involvement, use Merchant Initiated Transactions.
Learn More About Card on File β
Using Zero Authorization for Merchant Initiated Transactions
For charges where the merchant initiates payment without customer involvement (usage-based billing, account top-ups, etc.), use the paymentId as the originalPaymentId for MIT:
MIT Amount Limits with Zero Authorization
When using Zero Authorization as the original payment for MIT, the maximum charge amount is determined by your merchantβs maxZeroAuthAmount setting multiplied by the maxMultiple. Contact your Coinflow integration representative to configure these limits.
Learn More About Merchant Initiated Transactions β
Complete Example Flow
Hereβs a complete example showing Zero Authorization followed by both COF and MIT transactions:
Step 1: Perform Zero Authorization
Step 2a: Card on File Transaction (Customer Present)
Step 2b: Merchant Initiated Transaction (No Customer Involvement)
Error Handling
403 Forbidden - Zero Authorization Not Enabled
Error Message:
Cause: Zero Authorization requires Card on File or MIT to be enabled on your merchant account.
Resolution:
- Contact your Coinflow integration representative to enable Card on File and/or MIT
- Once enabled, Zero Authorization will be available
400 Bad Request - Invalid Card Data
Error Message:
Cause: The card details provided are invalid or incomplete.
Resolution:
- Verify all required card fields are provided (number, expiryMonth, expiryYear, cvv)
- Ensure the card number passes basic validation (Luhn check)
- Confirm expiration date is in the future
412 Precondition Failed - 3DS Challenge Required
Error Message:
Cause: The card issuer requires 3D Secure authentication.
Resolution:
- Handle the 3DS challenge flow by presenting the challenge URL to the customer
- After customer completes verification, retry with the
authentication3DSdata
Best Practices
Always Explain Why You're Storing Credentials
When performing a Zero Authorization, clearly communicate to the customer why youβre storing their card and how it will be used (e.g., βWeβll save your card for automatic billing based on your usageβ).
Handle 3DS Challenges Gracefully
Some card issuers require 3DS authentication even for Zero Authorization. Implement proper 3DS handling to ensure successful card storage.
Store Payment IDs Securely
The paymentId returned is your reference for future transactions. Store it
securely and associate it with the customer in your database.
Frequently Asked Questions
Does Zero Authorization charge the customer?
No. Zero Authorization creates a $0.00 authorization that validates the card without charging the customer.
Can I use Zero Authorization with Apple Pay or Google Pay?
No. Mobile wallet payments (Apple Pay, Google Pay) cannot be used with Zero Authorization yet.
What's the difference between Zero Authorization and tokenization?
Tokenization converts card details into a secure token for storage. Zero Authorization performs tokenization AND validates the card with a $0 authorization, establishing it as a reference for future COF/MIT transactions.
Next Steps
Learn how to process payments with stored credentials when the customer is present
Process charges without customer involvement using stored credentials
Test your Zero Authorization implementation
Handle 3DS challenges for Zero Authorization

