Checkout
The Torque checkout system provides a comprehensive, multi-payment solution for businesses to accept payments from customers through various methods including cryptocurrency, traditional payment apps, and card payments.
Overview
Key Features
Multi-Payment Support
- Cryptocurrency Payments: Direct crypto transfers (USDC, USDT, AAVE, etc.)
- Traditional Payment Apps: Venmo, Revolut, Cash App, Wise
- Card Payments: Credit/Debit card processing (Visa, Mastercard, Amex)
- ZKP2P Integration: Fiat-to-crypto conversion through zero-knowledge proof technology
Business Benefits
- Global Reach: Accept payments from customers worldwide
- Low Fees: Competitive transaction fees across all payment methods
- Real-time Processing: Instant payment confirmation and settlement
- Multi-Currency: Support for multiple cryptocurrencies and fiat currencies
- Subscription Support: Recurring payment management for subscription products
Payment Methods
Cryptocurrency Payments
Supported Currencies
- USDC: USD Coin (most popular)
- USDT: Tether
- AAVE: Aave Protocol Token
- cbBTC: Coinbase Bitcoin
- stETH: Lido Staked ETH
- PYUSD: PayPal USD
- USDS: Sky USD
- sUSDS: Savings USDS
- USD0: Usual USD
- GHO: Aave GHO
- cbETH: Coinbase Ether
- wstETH: Wrapped Staked ETH
- weETH: Wrapped eETH
- mETH: Mantle ETH
- tBTC: Threshold BTC
- MORPHO: Morpho Protocol
- COMP: Compound
- LINK: Chainlink
Crypto Payment Flow
- Customer Selection: Customer selects preferred cryptocurrency
- Wallet Connection: Customer connects their crypto wallet
- Transaction Creation: System creates token transfer transaction
- Confirmation: Customer confirms transaction in wallet
- Settlement: Funds transferred directly to business wallet
Traditional Payment Apps
Supported Platforms
- Venmo: Popular US payment app
- Revolut: European fintech platform
- Cash App: Square's payment solution
- Wise: International money transfer service
ZKP2P Integration
- Fiat to Crypto: Convert fiat payments to cryptocurrency
- Zero-Knowledge Proofs: Privacy-preserving payment processing
- Real-time Conversion: Instant fiat-to-crypto conversion
- Global Accessibility: Support for international customers
Card Payments
Supported Cards
- Visa: Most widely accepted
- Mastercard: Global payment network
- American Express: Premium card network
Card Processing Flow
- Card Collection: Secure card details collection
- Payment Intent: Create payment intent with processor
- Token Conversion: Convert fiat to cryptocurrency
- Settlement: Transfer tokens to business wallet
Checkout Implementation
Basic Integration
Checkout Session Creation
// Create checkout session
const { sessionId, checkoutSessionId } = await createCheckoutSession({
businessId: business._id,
productId: product._id,
customerEmail,
customerName: `${shippingAddress.firstName} ${shippingAddress.lastName}`.trim(),
quantity,
variantId: selectedVariant?._id,
totalAmount: finalTotal,
currency: product.currency,
shippingAddress: product.requiresShipping ? shippingAddress : undefined,
})
Payment Processing
// Handle different payment methods
if (selectedPaymentMethod === 'crypto') {
await handleCryptoPayment(sessionId, checkoutSessionId)
} else if (selectedPaymentMethod === 'card') {
await handleCardPayment(sessionId, checkoutSessionId)
} else {
await handleZKP2PPayment(sessionId, checkoutSessionId)
}
Advanced Features
Subscription Management
// Subscription product configuration
const subscriptionProduct = {
isSubscription: true,
paymentPlans: [
{
id: 'monthly',
name: 'Monthly Plan',
price: 29.99,
interval: 'month',
intervalCount: 1,
trialDays: 7,
description: 'Monthly subscription with 7-day free trial'
},
{
id: 'yearly',
name: 'Yearly Plan',
price: 299.99,
interval: 'year',
intervalCount: 1,
trialDays: 14,
description: 'Annual subscription with 14-day free trial'
}
]
}
Discount Codes
// Apply discount code
const discountResult = await applyDiscountCode({
code: discountCode,
businessId: business._id
})
if (discountResult.valid) {
setDiscountAmount(discountResult.discountAmount)
toast.success('Discount code applied successfully!')
}
Multi-Product Cart
// Cart mode checkout
const cartData = {
items: [
{
productId: 'prod_123',
quantity: 2,
variant: 'large'
},
{
productId: 'prod_456',
quantity: 1,
variant: 'blue'
}
]
}
International Support
Shipping Address Management
Country-Specific Fields
const countries = {
US: {
name: 'United States',
fields: ['address', 'city', 'state', 'zipCode'],
stateType: 'state',
zipType: 'ZIP',
hasState: true,
hasZip: true
},
CA: {
name: 'Canada',
fields: ['address', 'city', 'province', 'postalCode'],
stateType: 'province',
zipType: 'Postal Code',
hasState: true,
hasZip: true
},
// ... more countries
}
Dynamic Form Fields
- State/Province: Required for countries with states
- Postal Codes: Country-specific postal code formats
- Address Validation: Real-time address validation
- Country Flags: Visual country selection with flags
Currency Support
Multi-Currency Pricing
// Product pricing in multiple currencies
const product = {
price: 99.99,
currency: 'USD',
localPricing: {
EUR: 89.99,
GBP: 79.99,
CAD: 129.99
}
}
Real-time Conversion
- Live Exchange Rates: Real-time currency conversion
- Price Display: Show prices in customer's local currency
- Payment Processing: Convert to business's preferred currency
Security Features
Payment Security
Encryption
- End-to-End Encryption: All payment data encrypted
- PCI Compliance: Card data handled securely
- Tokenization: Sensitive data tokenized
- Secure Storage: Encrypted data storage
Fraud Prevention
- Risk Assessment: Real-time fraud detection
- Velocity Checks: Transaction frequency monitoring
- Geolocation: Location-based risk assessment
- Device Fingerprinting: Device identification
Customer Data Protection
Privacy Controls
- Data Minimization: Only collect necessary data
- Consent Management: Clear consent for data collection
- Right to Deletion: Customer data deletion rights
- Data Portability: Export customer data
Compliance
- GDPR: European data protection compliance
- CCPA: California privacy law compliance
- PCI DSS: Payment card industry standards
- SOC 2: Security and availability standards
Analytics & Reporting
Payment Analytics
Transaction Metrics
- Success Rate: Payment completion percentage
- Average Order Value: Mean transaction amount
- Payment Method Distribution: Usage by payment type
- Conversion Rate: Checkout completion rate
Revenue Tracking
- Daily Revenue: Daily income tracking
- Monthly Trends: Month-over-month growth
- Currency Breakdown: Revenue by currency
- Refund Analysis: Refund rates and reasons
Customer Insights
Behavior Analytics
- Checkout Abandonment: Where customers drop off
- Payment Preferences: Preferred payment methods
- Geographic Distribution: Customer locations
- Device Usage: Mobile vs desktop usage
Performance Metrics
- Page Load Times: Checkout page performance
- Payment Processing Time: Transaction speed
- Error Rates: Payment failure analysis
- Customer Satisfaction: Feedback and ratings
Configuration
Business Settings
Accepted Currencies
// Configure accepted cryptocurrencies
const businessSettings = {
acceptedCurrencies: ['USDC', 'USDT', 'AAVE', 'cbBTC'],
defaultCurrency: 'USDC',
currencyConversion: true
}
Payment Method Configuration
// Enable/disable payment methods
const paymentMethods = {
crypto: true,
venmo: true,
revolut: true,
cashapp: true,
wise: true,
card: false // Disable card payments
}
Shipping Configuration
// Shipping settings
const shippingConfig = {
requiresShipping: true,
shippingCost: 9.99,
freeShippingThreshold: 50.00,
supportedCountries: ['US', 'CA', 'GB', 'DE', 'FR']
}
Product Configuration
Subscription Products
// Subscription product setup
const subscriptionProduct = {
isSubscription: true,
paymentPlans: [
{
id: 'basic',
name: 'Basic Plan',
price: 19.99,
interval: 'month',
intervalCount: 1,
trialDays: 7,
maxCycles: null // Unlimited
}
]
}
Product Variants
// Product variants
const productVariants = [
{
id: 'small',
name: 'Small',
price: 29.99,
inventory: 100
},
{
id: 'large',
name: 'Large',
price: 39.99,
inventory: 50
}
]
Getting Started
Setup Checklist
Business Configuration
- Complete business profile
- Set up accepted currencies
- Configure payment methods
- Set up shipping options
- Configure tax settings
Product Setup
- Create product catalog
- Set up product variants
- Configure subscription plans
- Set up discount codes
- Test checkout flow
Integration
- Install checkout widget
- Configure webhooks
- Set up analytics
- Test payment methods
- Go live
Testing
Test Mode
- Test API Keys: Use test credentials
- Test Payments: Process test transactions
- Test Webhooks: Verify webhook delivery
- Test Analytics: Check tracking accuracy
Test Scenarios
- Successful Payments: Test all payment methods
- Failed Payments: Test error handling
- Refunds: Test refund processing
- Subscriptions: Test recurring payments
Next Steps
- Business Dashboard: Monitor checkout performance
- API Reference: Technical integration details
- Webhooks: Real-time event notifications
- Analytics: Advanced reporting features
Need help with checkout setup? Contact our support team at support@torque.fi or check our integration guides.