Payment Gateway Integration
Patients pay by card in the patient portal, and staff can take a card on a patient account, through Stripe Connect: each practice connects its own Stripe account and the charge is made on it, with card details going straight to Stripe. It ships switched off - nothing is charged until the platform's Stripe keys are set and the practice has connected its account.
Card payments, saved cards and AutoPayNeeds an external connection
Built on Stripe, with each practice paid into its own Stripe account. Not switched on for the hosted service today: payments run in a non-charging mode and no Stripe keys are set, so no card can be charged. Payments received another way can still be recorded. No ACH.
Requires: Stripe enabled for the deployment by ArkCloud, then your administrator connects your practice's Stripe account.
What It Does
Patient card payments in the portal
Patients pay a balance by credit or debit card in the patient portal. The charge is made on the practice's own connected Stripe account - never on ArkCloud's.
Card data stays with Stripe
Card details are entered in Stripe's own form (Stripe Elements) and tokenised by Stripe; card numbers never reach ArkCloud's servers.
Payments recorded on the ledger
A successful payment is posted to the patient account through the payment ledger; Stripe's signed webhook confirms success, failure, refunds and disputes.
Staff card payments
Staff with the process_payments permission (Agent, Supervisor, Admin) use Take card payment on a patient account. The card is entered in Stripe's card form on the practice's connected account, and the ledger moves only when Stripe's signed webhook confirms the charge.
Saved cards and AutoPay
With the patient's explicit, versioned consent, a card can be saved through a Stripe SetupIntent (by staff or by the patient in the portal). AutoPay on a payment plan charges it only after the AutoPay terms are accepted; installments are charged by the background worker, so the worker service must be running.
Refunds
Refunds of card payments are issued through Stripe and need the refund_payments permission (ADMIN).
Turning It On
Platform: set the Stripe keys
Practice: connect Stripe
Test
Separately, staff with the process_payments permission (AGENT, SUPERVISOR, ADMIN) can record payments the practice took by other means, such as cash, cheque or its own card terminal. ArkCloud's own subscription billing of the practice also uses Stripe, but on ArkCloud's account - it is not part of patient payments.
Not Built
Security
Processor-held PCI DSS Level 1 attestation
Card details route to the processor, which holds the attestation. ArkCloud holds none and stores no card numbers.
Tokenisation by Stripe
Stripe Elements collects the card; ArkCloud handles Stripe's tokens and payment IDs, and for a saved card only the brand, last four digits and expiry Stripe reports.
Signed webhooks
Stripe events are accepted only with a valid Stripe signature; without the webhook secret the endpoint refuses every event.
Practice-owned funds
Charges go to the practice's connected account. If a practice has not connected one, the portal does not take the payment - it never falls back to ArkCloud's account.
PCI Compliance
Card data is handled by Stripe, which holds its own PCI DSS attestation. ArkCloud holds no PCI certification or attestation of its own. Because card details are entered in Stripe's form and never reach ArkCloud, your own PCI scope for portal payments is reduced - confirm your obligations with Stripe and your assessor.
Questions About Patient Payments?
Contact us if you need help connecting your practice's Stripe account.
Contact Us