Billing

Payment processing

A patient payment reaches ArkCloud one of three ways: the patient pays by card in the portal, staff take a card through Stripe's form on the account page, or staff record a payment that was taken somewhere else. Both card paths need Stripe and the practice's connected Stripe account.

Written for: Billing and RCM teams · Front desk · Finance

Is card processing on?

Card payments need both Stripe keys on the deployment and the practice's own connected Stripe account. Patient money is always taken on the practice's account, never on ArkCloud's. See connecting Stripe.

Record a payment taken elsewhere

ArkCloud RCM → My Work → Accounts → (account) → Payments

  1. Choose the method: cash, cheque, credit or debit card, ACH or money order.
  2. Enter the amount and, for a cheque or card, the reference number.
  3. Save. The payment is recorded as received - ArkCloud does not contact any processor - and applied to the account.

Take a card payment at the desk

Field or controlWhat it means
WhereTake card payment on the AR account page. Needs process_payments (Agent, Supervisor, Admin).
Card entryIn Stripe's own form, on the practice's connected Stripe account. Card numbers go to Stripe, not to ArkCloud. Cards only.
LimitsAt most the patient's share of the balance, less card payments already in flight. Until Stripe is connected the dialog says why and charges nothing.
Duplicate protectionThe payment row is written first, keyed by a request id the browser reuses on retry, and Stripe is asked with a key derived from that row, so a retry cannot charge twice.
ResultThe money is posted to the account when Stripe's signed webhook confirms the payment, not when the browser reports success.

A card payment in the portal

Field or controlWhat it means
WhoThe patient, in the portal through the link staff sent (or its code typed on the sign-in page), after confirming their date of birth.
Card entryIn a Stripe card field. Card numbers go to Stripe, not to ArkCloud.
LimitsAt least the organisation's minimum, at most the patient's share of the balance (not what insurance still owes; the portal has nowhere to hold a credit). A convenience fee is added if the organisation has one configured.
Duplicate protectionEach attempt carries a key generated by the patient's browser and reused on retry. The database holds one record per key, so a double click or retry cannot charge twice.
ResultThe charge is made on the practice's connected Stripe account and posted to the account when Stripe's signed webhook confirms it.

Where a payment lands

Field or controlWhat it means
ChargesApplied to the oldest charges the patient owes first, then to self-pay balances that are not on a claim. It is never applied to a line billed to insurance; whatever is left over stays on the account as an unallocated credit.
Account balanceRestated from the ledger identity.
Payment ledgerOne dated row, which dashboards and payment reports read.
Stripe eventsStripe tells ArkCloud about succeeded and failed payments, refunds, disputes and changes to the practice's account. A refund made in Stripe is reversed on the account.

Related documentation