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

ModulePurpose
Age VerificationReal-time age checks logged for compliance audits
Geocompliance50-state shipping rule enforcement; auto-block restricted routes
Charge Intents + 3D SecureAVS/CVV enforcement, 3DS liability shift at checkout
PayoutsSplit payouts to distributors reconciled by SKU, state, or partner
SonarChargeback-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:

CREATE CUSTOMER ACCOUNT
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