Virtual Terminal / Accept Credit Cards Over the Phone

AngelTrack integrates with Stripe to provide you a virtual credit card terminal, also known as M.O.T.O., so that your dispatchers can accept credit card payments during call intake.

Minimal PCI Compliance Hassle / PCI SAQ-A

To avoid incurring a major PCI compliance burden on you or on AngelTrack LLC, AngelTrack's card-charge system does not collect or store card numbers -- not in the AngelTrack software itself, nor in your AngelTrack database, nor on the computer systems in your offices. Instead, AngelTrack uses the Elements technology from Stripe to securely collect card numbers entirely within a private connection between the user's browser and Stripe's servers.

AngelTrack creates records within your Stripe account to represent your customers (facilities, affiliates, and patients), and within those, each customers' card numbers are securely stored for re-use later, in a simple UI where AngelTrack only knows the last-four and the expiration date.

As such, your PCI compliance burden will only be SAQ-A:

SAQ-A

Card-not-present merchants (ecommerce or mail/telephone-order) that have fully outsourced all cardholder data functions to PCI DSS–compliant third-party service providers, with no electronic storage, processing, or transmission of any cardholder data on the merchant’s systems or premises.

You must complete the PCI Self-Assessment Questionnaire A and submit it to Stripe when you contat them to activate the feature, in the configuration steps described below.

Configuration

Carefully follow these steps to enable AngelTrack's credit card virtual terminal:

  1. If your IT department implements a whitelist of websites you are allowed to visit, ask them to add the domain "stripe.com" and all its subdomains to your whitelist.
  2. Visit the Stripe Configuration item under Settings, and activate AngelTrack's Stripe integration. That is a two- or three-step process, as Stripe may require you to provide additional details about your business before activating all of the features. Be sure to complete all verifications that Stripe wants. To learn more, refer to the Stripe Integration Guide.
  3. Download and complete the PCI Self-Assessment Questionnaire A.
  4. After your Stripe account is fully provisioned and active, visit your Stripe Dashboard. You can find a link to it on the Stripe Configuration item under Settings in AngelTrack.
  5. From the Stripe Dashboard, submit a support ticket and ask them this:
    "Please enable MOTO-via-API privileges on my account, for use by my billing platform AngelTrack. I do NOT need access to raw card data APIs, nor do I need to manually enter card payments on my Stripe dashboard."
    MOTO stands for "Mail Order / Telephone Order", and it means the privilege of charging a customer's credit card over the phone. This privilege creates many possibilities for fraud, so Stripe does not bestow the privilege lightly. You must specifically ask for "MOTO via API" so that AngelTrack can submit charges on your behalf. Be sure to attach your completed PCI SAQ-A questionnaire to your support request.
  6. If your company firewall has a whitelist of allowed websites, add "js.stripe.com" to it, so that AngelTrack can load the Stripe card-input controls from it. While you're at it, you will need to whitelist the entire stripe.com domain in order to purchase AngelTrack licenses through the authorization page.
  7. Once your Stripe account is ready, you must give its API key to AngelTrack.  AngelTrack needs the API key in order to utilize certain Stripe UI elements which Stripe provides in order to shield your business (and also AngelTrack LLC) from PCI compliance burdens.  You can find your API key by visiting your Stripe Dashboard, clicking "Developers" in the upper-right corner, clicking "API keys", and then copying the publishable key to the clipboard. Refer to the screenshot below for help. DO NOT COPY THE SECRET KEY; use only the publishable key.  Paste the publishable key into AngelTrack's Stripe Configuration page and then save.

StripeDashboard.PublishableKey
Once you've got the publishable key input to AngelTrack, you're ready to submit credit card charges while on the phone with your customers!

Call-Taker Workflow

To book a call for which the patient intends to pay up-front using a credit card, follow these steps:

  1. Book a new transport for a patient who wishes to pay with a credit card over the phone. Be sure to attach the relevant patient record, input a price quote for the trip, and select the "Cash up front" billing option.
  2. At the bottom of the page, rather than clicking the "Save" button, choose the "Save and Pay" button instead. AngelTrack will open the "Card Charge Begin" page.
  3. Select the Patient as the payor if not already, double-check the amount to be charged and the other options, and then click the "Start" button.
  4. On the next page, AngelTrack will show you any cards already on file for the specified patient or customer. If the caller wishes to use a different one, then choose the "Add new card" option, input the card data, and click "Submit". The user interface for inputting card data is securely provided by Stripe, and it interacts directly with them; no card data ever reaches AngelTrack, so that you are spared any PCI compliance overhead.

Credit and debit card charges normally process instantly, but it is always possible that there could be a delay in posting. When the money does post, it will appear in AngelTrack as payment event(s) for the relevant trip(s), and also as a transaction in the Check Register. You can also review the records in your Stripe dashboard, using the links AngelTrack provides.

Adding a Card Charge Later

You can also add a card payment against an existing dispatch by opening its run ticket, switching to its Payment Events tab, and clicking the card CreditCard.small icon.

AngelTrack will show you the Card Charge Begin page, allowing you to review the price quote and balances, and select options for the payment, including the choice to collect a single payment for both legs of a round trip.

To include the return trip in the charge for an outbound trip, the return trip must already be priced and have a non-zero balance.

Automatic Workflow

Because card charges may experience a delay in posting, AngelTrack does not require the dispatcher/biller to wait for the posting. Instead, when the charge posts, Stripe will notify your AngelTrack server, which will then apply the payment to the dispatch(es).

When AngelTrack does so, it will actuate the automatic workflow, which moves your receivables forwards or backwards in the workflow according to a set of business logic rules. This can cause receivables to automatically advance to "Finished" when their balance becomes zero.

Transaction Fees

Stripe's standard transaction fees apply.

If permitted in your jurisdiction, you have the option in AngelTrack to automatically add a credit-card processing charge to each transaction, which AngelTrack calculates to exactly cover Stripe's fees.

You can configure this processing charge by visiting the Stripe Configuration page, available from the Settings page. DO NOT ENABLE THIS FEATURE UNTIL YOU CLEAR IT WITH YOUR LEGAL COUNSEL.

When this feature is enabled, and you run a card charge, you will see AngelTrack automatically increase the total amount to cover Stripe's fees, plus their additional fee on the fee amount, like this:

  • Suppose you want to charge the customer $70.00, and the customer agrees to pay the processing fee.
  • The Stripe processing fee on $70.00 is $2.33.
  • The total of the charge, therefore, would be $72.33.
  • But Stripe will also charge its fee on that $2.33 amount, which equals an additional $0.07 in fees.
  • AngelTrack will therefore add $2.33 + $0.07 to the charge, for a grand total of $72.40 charged to the customer.
  • After Stripe collects the payment and subtracts its fees, you will net exactly $70.00, as intended.
  • After the payment completes, Stripe will notify AngelTrack, and AngelTrack will then create a $70.00 payment event against the receivable.

Declined Charges

If your customer's credit card is declined, you will know immediately, as AngelTrack will pause after submitting the charge to see whether it succeeds.

Automatic Customer Record Syncing

As you accept card payments from your customers, AngelTrack will automatically create "Customer" records in your Stripe account that represent the facilities, affiliates, and patients in your AngelTrack database.

When you visit your Stripe dashboard, and click on the "Customers" tab, you can clearly see which records were created by AngelTrack, and their matching record within AngelTrack. You can also review their payment history, which will match the entries in AngelTrack's Check Register.

Refunds

To refund a charge made using this feature, you must do so in your Stripe dashboard.  You will find the charge listed under the relevant customer's record in Stripe.  (If you don't know the URL to your Stripe dashboard, you can find a link to it on the Stripe Configuration page in AngelTrack, available from the Settings page.)

After the refund completes, Stripe will notify AngelTrack, and then AngelTrack will update its payment event records to reflect it, applying the automatic workflow as necessary to pull the dispatch(es) back to billing office.

Disputed Charges

If your customer disputes a credit or debit charge, Stripe will notify you via email, and you'll be invited to respond to the dispute via your Stripe Dashboard.

You must handle the dispute within your Stripe dashboard. That will probably involve submitting evidence. A good piece of evidence to submit is a PDF of the completed run report, which you can easily pull from AngelTrack.

If you lose the dispute, Stripe will automatically notify AngelTrack, which will create the necessary accounting records for the lost monies. The affected receivable(s) will then advance straight to "Finished".

Customer Receipts

AngelTrack configures the customer's record in Stripe with their email address, if it knows it; or you can add it yourself in the Stripe dashboard.  Stripe will automatically send transaction receipts to that email address.

You can review and modify these customer records in your Stripe dashboard. Each one corresponds to a patient, a facility, or an affiliate in your AngelTrack server.

Direct Charges / Process a Charge Without a Dispatch Record

In your Stripe dashboard, you always have the ability to create a "direct charge", where you input a customer's credit card number given to you over the phone, and issue a charge against their card, without ever using AngelTrack's UI.

This is the only way to process a credit card charge not associated with a dispatch record in AngelTrack.

In this situation Stripe notifies AngelTrack of the completed charge, but AngelTrack will ignore it because it won't be able to tell which receivable it was intended for.

If you want AngelTrack to automatically apply the completed charge to your receivables, you must use AngelTrack's UI -- via the CreditCard.small icon -- to arrange the charge, and the charge must be associated with a dispatch record in AngelTrack.

Security Roles / Permission to Use MOTO for Card Payments

The following security roles are allowed to make MOTO card payments using AngelTrack's virtual terminal feature:

  • Administrator
  • Biller
  • Dispatcher

Troubleshooting

If you visit the card-payment page in AngelTrack where you would normally input the card number and expiration date, but instead the user-interface closes, leaving you on a nearly empty page, then double-check that the Publishable Key you input into AngelTrack's Stripe configuration is correct. Also verify that it came from the right Stripe account, since you might have two Stripe accounts, the one linked to AngelTrack plus a business or personal account that you already had from before.