Build payment flows for telemedicine

Build compliant telehealth payment flows with patient identity prefill, FSA/HSA card verification, and recurring therapy billing.

Telemedicine platforms need to keep payment data out of EHR/EMR systems while verifying FSA/HSA cards, validating bank accounts for ACH copays, and managing recurring therapy billing with trials. frameOS provides KYC Prefill, card verification, bank account verification, Subscriptions with phases, Billing Meters, and Geocompliance for state licensing.

Use this guide if you're building a telemedicine platform where:

  • You pre-populate patient info and keep payment data out of EHR/EMR.
  • You need to verify FSA/HSA cards before processing.
  • Patients pay copays via ACH and you must validate bank account ownership.
  • You bill recurring therapy with trial phases and save cards via network tokens.
  • You need per-visit copay metering, invoicing, and dunning.
  • You enforce state licensing compliance for telehealth prescribing.

We recommend this configuration for telehealth platforms. Use the API or Frame.js for checkout.

FrameOS modules

ModulePurpose
KYC PrefillPre-populate patient info; keep payment data out of EHR/EMR
Card VerificationVerify FSA/HSA cards before processing
Bank Account VerificationValidate patient bank accounts for ACH copays
Subscriptions + PhasesRecurring therapy billing with trial phases; network tokens
Billing MetersPer-visit copay metering, invoicing, and dunning
GeocomplianceState licensing compliance for telehealth prescribing

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 patient account

Create an individual account with KYC prefill, card and bank verification, and geocompliance:

CREATE PATIENT 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",
    "kyc_prefill",
    "card_verification",
    "bank_account_verification",
    "card_send",
    "bank_account_send",
    "geo_compliance"
  ],
  "profile": {
    "individual": {
      "email": "patient@example.com",
      "name": {
        "first_name": "Jordan",
        "last_name": "Patient"
      },
      "phone": {
        "number": "3107484186",
        "country_code": "1"
      }
    }
  }
}'

2. KYC Prefill and verification

Use KYC Prefill to pre-populate patient info from a verified phone number. Create an onboarding session for card verification (FSA/HSA) and bank account verification. Keep payment data in Frame — never in your EHR/EMR.

3. Recurring billing with Subscriptions

Use Subscriptions and Subscription Phases for recurring therapy billing: trial → discount → full-price. Cards are stored via network tokens. See build subscriptions.

4. Per-visit metering and dunning

Use Billing Meters for per-visit copay metering and Invoicing for dunning. Track usage with metering events and reconcile by patient or visit.

5. State licensing compliance

Add geo_compliance and configure geofences for states where you're licensed. Location is captured via Frame.js or the mobile SDK at charge time.

Resources

Accounts · Onboarding Sessions · KYC Prefill · Card Verification · Bank Account Verification · Subscriptions · Billing Meters · Geocompliance · Frame.js · Webhooks