Build payment flows for alcohol e-commerce
Build compliant alcohol e-commerce with real-time age verification, 50-state shipping rules, and chargeback-ready fraud prevention.
Alcohol retailers need age verification for every order, state-by-state shipping compliance, and AVS/CVV enforcement with 3DS liability shift. frameOS provides Age Verification, Geocompliance, Charge Intents with 3D Secure, Payouts for split payouts to distributors, and Sonar for chargeback-ready fraud prevention with bottle-level descriptors.
Use this guide if you're building an alcohol platform where:
- You need real-time age checks logged for compliance audits.
- You enforce 50-state shipping rules and auto-block restricted routes.
- You require AVS/CVV and 3DS liability shift at checkout.
- You split payouts to distributors reconciled by SKU, state, or partner.
- You want chargeback-ready fraud prevention with clear descriptors.
We recommend this configuration for DTC alcohol and alcohol marketplaces. Use the API or Frame.js.
FrameOS modules
| Module | Purpose |
|---|---|
| Age Verification | Real-time age checks logged for compliance audits |
| Geocompliance | 50-state shipping rule enforcement; auto-block restricted routes |
| Charge Intents + 3D Secure | AVS/CVV enforcement, 3DS liability shift at checkout |
| Payouts | Split payouts to distributors reconciled by SKU, state, or partner |
| Sonar | Chargeback-ready fraud prevention with bottle-level descriptors |
Before you begin
Sign up at the Frame Developer Portal and obtain your sandbox API key. Geocompliance requires Frame.js or the mobile SDK for location capture.
Essential tasks
1. Create a customer account
Create an individual account with age verification and geocompliance. Age verification requires KYC:
curl --request POST \
--url https://api.framepayments.com/v1/accounts \
--header 'Authorization: Bearer sk_test_YOUR_SANDBOX_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"type": "individual",
"capabilities": [
"kyc",
"age_verification",
"geo_compliance",
"card_send",
"bank_account_send",
"address_verification"
],
"profile": {
"individual": {
"email": "customer@example.com",
"name": {
"first_name": "Jordan",
"last_name": "Customer"
},
"phone": {
"number": "3107484186",
"country_code": "1"
}
}
}
}'
2. Age verification and geocompliance
Use Age Verification for real-time 21+ checks; results are logged for audits. Add Geocompliance and configure geofences to block shipments to restricted states. Location is captured via Frame.js at checkout.
3. Checkout with 3DS and AVS
Use Charge Intents with Frame.js. Frame enforces AVS/CVV and triggers 3D Secure for liability shift. Include sonar_session_id for fraud checks. Use clear, bottle-level descriptors for dispute resilience.
4. Split payouts to distributors
If you split payments to distributors, use Payouts with reconciliation by SKU, state, or partner. See Payouts for configuration.
5. Fraud prevention
Use Sonar for chargeback-ready fraud prevention. Provide customer and order data to improve detection. Clear descriptors reduce dispute risk.
Resources
Accounts · Onboarding Sessions · KYC · Age Verification · Geocompliance · Charge Intents · 3D Secure · Payouts · Sonar · Frame.js