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
| Module | Purpose |
|---|---|
| KYC Prefill | Pre-populate patient info; keep payment data out of EHR/EMR |
| Card Verification | Verify FSA/HSA cards before processing |
| Bank Account Verification | Validate patient bank accounts for ACH copays |
| Subscriptions + Phases | Recurring therapy billing with trial phases; network tokens |
| Billing Meters | Per-visit copay metering, invoicing, and dunning |
| Geocompliance | State 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:
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