Skip to main content
Arlo is pay-per-use. The patient approves each visit on a Stripe page linked from the conversation’s payment gate. No card setup is required, and Arlo does not auto-charge.

Approve a visit

  1. When the conversation reaches PAYMENT_REQUIRED, read the paymentGate from get_conversation, send_message, or wait_for_reply.
  2. Relay paymentGate.consultationSummary so the patient can review what a provider may help with.
  3. Give the patient paymentGate.paymentUrl to open on their device.
  4. The patient reviews their details and approves a temporary hold on the Stripe page.
  5. After approval, the conversation moves to MATCHING; use wait_for_reply for provider activity.
paymentGate.collects identifies any missing identity fields the patient must enter on the page. get_user_profile.capabilities.visit.atPayment lists those fields before the patient opens the link. Saving them with update_patient_info can shorten the form.

How the hold works

The patient sees the visit price on Stripe before approving the hold. The hold is captured only if a doctor joins. If no doctor joins, it is released. If the patient cancels while the request is in MATCHING, cancel_request releases the hold and returns the conversation to IDLE. The patient enters card details on Stripe; card details do not pass through the agent. If the patient declines the gate, cancel_request dismisses it and the conversation remains available for chat.