Payment initialization is the first step in processing any payment through the Juice API. This guide covers the core concepts, supported payment methods, and common parameters required for initializing payments.
Before capturing a payment, you must first initialize a payment session with customer and transaction details. The initialization process:
Validates the payment request
Creates a session identifier
Sets up the appropriate payment flow
Returns payment session details
Credit and Debit cards[Visa & Mastercard]
Direct bank transfers.
NGN bank accounts.
International wires.
ACH transfers.
Cryptocurrency Stablecoins
Direct Binance integration.
Multiple currencies.
Instant settlement.
Canadian bank transfers via Interac.
Email money transfer.
Instant deposits.
Coming soon!
Multiple providers.
Regional support.
These parameters are required for all payment initializations regardless of the payment method:
Payment amount in minor units (e.g., cents, kobo)
Minimum: 100
Must be positive integer
Example: 10000 = $100.00 USD
Three-letter ISO currency code
Supported: NGN, USD, CAD
Must match payment method
Example: “USD”
Customer information object
Payment description
Maximum length: 200 characters
Will appear on statements
Unique transaction reference
Must be unique per transaction
Maximum length: 50 characters
Order information object
Optional additional data
Header | Description | Example |
---|---|---|
Authorization | Your API key | sk_test_abc123... |
Content-Type | Request content type | application/json |
Never expose your API key in client-side code. Always make API calls from your server.
Initialize Payment
Create payment session with customer and transaction details
Handle Authentication
Complete any required authentication steps (3DS, OTP, etc.)
Capture Payment
Finalize the payment after successful authentication
Handle Response
Process success/failure and update your system
For detailed implementation steps for each payment method, see:
See our
Contact
Payment initialization is the first step in processing any payment through the Juice API. This guide covers the core concepts, supported payment methods, and common parameters required for initializing payments.
Before capturing a payment, you must first initialize a payment session with customer and transaction details. The initialization process:
Validates the payment request
Creates a session identifier
Sets up the appropriate payment flow
Returns payment session details
Credit and Debit cards[Visa & Mastercard]
Direct bank transfers.
NGN bank accounts.
International wires.
ACH transfers.
Cryptocurrency Stablecoins
Direct Binance integration.
Multiple currencies.
Instant settlement.
Canadian bank transfers via Interac.
Email money transfer.
Instant deposits.
Coming soon!
Multiple providers.
Regional support.
These parameters are required for all payment initializations regardless of the payment method:
Payment amount in minor units (e.g., cents, kobo)
Minimum: 100
Must be positive integer
Example: 10000 = $100.00 USD
Three-letter ISO currency code
Supported: NGN, USD, CAD
Must match payment method
Example: “USD”
Customer information object
Payment description
Maximum length: 200 characters
Will appear on statements
Unique transaction reference
Must be unique per transaction
Maximum length: 50 characters
Order information object
Optional additional data
Header | Description | Example |
---|---|---|
Authorization | Your API key | sk_test_abc123... |
Content-Type | Request content type | application/json |
Never expose your API key in client-side code. Always make API calls from your server.
Initialize Payment
Create payment session with customer and transaction details
Handle Authentication
Complete any required authentication steps (3DS, OTP, etc.)
Capture Payment
Finalize the payment after successful authentication
Handle Response
Process success/failure and update your system
For detailed implementation steps for each payment method, see:
See our
Contact