Billing
Connecting Stripe
Stripe is the only payment processor ArkCloud uses for patient money. Turning it on takes two steps by two different people: the deployment's Stripe keys, set once by whoever runs ArkCloud, and the practice's own Stripe account, connected by the practice's administrator.
Written for: Practice administrators · Implementation teams · Platform operators
Status
1. The deployment
| Field or control | What it means |
|---|---|
| STRIPE_SECRET_KEY | The platform's Stripe key. Without it every patient payment is refused with a plain message and nothing is charged. |
| NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Loads Stripe's card form in the portal and on staff screens. Built into the browser code when ArkCloud is built, so changing it needs a rebuild. |
| STRIPE_WEBHOOK_SECRET | Required. Signing secret for the platform webhook endpoint. Without it the webhook refuses every event, Connect events included, so no card payment would ever be posted. |
| STRIPE_CONNECT_WEBHOOK_SECRET | Signing secret for the Connect webhook endpoint that delivers practices' payment, refund, dispute and account events. |
| PAYMENT_MODE | Must not be stub. In stub mode payments are refused even with a key. |
2. The practice
Settings → Payments
- An administrator presses Connect with Stripe.
- Stripe's own onboarding opens. The practice creates or links its Stripe account and completes it.
- Back in ArkCloud, the status reads Accepting payments once Stripe has enabled charges. If it reads Setup not finished, use Continue setup on Stripe.
From then on patient payments - in the portal, at the staff desk, and AutoPay on saved cards - are created on the practice's account: the practice is the merchant of record, settles the money, and responds to disputes in its Stripe dashboard. An Admin can refund a card payment from ArkCloud. If Stripe restricts the account, ArkCloud stops taking payments for it at once. There is no fallback to ArkCloud's own Stripe account.
