Stripe customer payments
Stripe for customer payments is not available yet. This page describes how it is planned to work, so that you can prepare your Stripe account. Names of buttons and settings may change before it is released, and this page will be updated when it is.
Card payments today run through Cardknox.
Stripe is a card payment service you will be able to use instead of Cardknox for the money your customers pay your company: invoice payments, payment requests, Customer Portal payments and, if you allow it, card payments your drivers take at a stop.
This is not about your own subscription to RushHour. That is billed separately — see Subscription.
What it enables
With Stripe set up as your company's payment provider:
- Charging a customer's card from the Company Portal — a saved card, or a new card your team types into Stripe's secure fields. You can charge straight away or only authorize the amount and capture it later. See Recording payments.
- Payment requests — email a customer a link to pay for an invoice, an order or a quote, or to save a card for later. See Payment requests.
- Card payments in the Customer Portal — your customers pay their invoices and save cards themselves. See Invoices and payments.
- Card payments at the stop — when you turn it on, drivers can charge the customer's card in the Driver App. See Card payments at the stop.
- Refunds and voids from the Company Portal.
Card numbers are typed into fields served by Stripe and never reach RushHour. RushHour keeps only the card brand, the last four digits and the expiry date.
Stripe and Cardknox together
Your company takes new card payments through one provider at a time. When Stripe is set up and switched on for customer payments, new payments go through Stripe; otherwise they go through Cardknox, if it is set up. While Stripe is still verifying your account, Cardknox keeps taking them, so setting up Stripe doesn't interrupt the card payments you already take.
Cards that were saved before you switched keep working: each saved card is charged through the provider it was saved with.
Three ways to use Stripe
When you set Stripe up, you choose How you get paid. RushHour decides which of these options are offered to your company. Stripe's card processing fees apply to every payment.
Your own Stripe account (recommended)
You connect a Stripe account in your company's name with Connect with Stripe, or create one there. Stripe asks for your business details, checks the identity of the person responsible for the account, and asks for the bank account it pays out to. Payments go straight to your Stripe balance, Stripe pays them out to your bank on your Stripe payout schedule, and you see every payment in your own Stripe Dashboard.
This is the recommended option for most companies.
RushHour collects for you
Your customers' payments are taken on RushHour's Stripe account. RushHour then transfers the money to your connected Stripe account, after any refunds and RushHour's fee. When RushHour pays you another way instead, for example by bank transfer, it records the payout with a note of how and when you were paid. You still connect a Stripe account with Connect with Stripe and complete Stripe's verification, because that is where transfers are sent.
With this option RushHour is the seller your customers' card payments are made to.
Use your own API keys
You paste a publishable key and a restricted secret key from your own Stripe account into RushHour, much like the Cardknox keys. Payments go straight to your Stripe account. RushHour doesn't take part in onboarding: your Stripe account must already be fully set up. Use this if you can't connect your account.
Who pays fees and handles refunds and disputes
| Your own Stripe account | RushHour collects for you | Your own API keys | |
|---|---|---|---|
| Where a payment lands | Your Stripe balance | RushHour's Stripe balance, then transferred to your Stripe account | Your Stripe balance |
| Stripe's processing fees | Billed by Stripe to your account | Paid by RushHour's account | Billed by Stripe to your account |
| RushHour's platform fee, if your agreement includes one | Taken from each payment automatically | Kept from the amount transferred to you | Not taken through Stripe |
| Refunds | Taken from your Stripe balance | Taken from RushHour's Stripe balance | Taken from your Stripe balance |
| Disputes (chargebacks) | Raised on your account: you respond in your Stripe Dashboard, and the disputed amount and Stripe's dispute fee come from your balance | Raised on RushHour's account | Raised on your account |
| Name on your customer's card statement | Your business, as set in your Stripe account | RushHour's | Your business, as set in your Stripe account |
| Stripe's emailed receipts | Your Stripe branding | RushHour's Stripe branding | Your Stripe branding |
Stripe does not return its processing fee when a payment is refunded. How refunds, disputes and fees are settled between RushHour and your company under RushHour collects for you is part of your agreement with RushHour.
What you need
- The Company Admin role in RushHour.
- For Connect with Stripe: a business that Stripe can verify, in a country Stripe supports, and the details Stripe asks for — your business registration details, the identity of the account representative and a bank account for payouts.
- For your own API keys: an active Stripe account and permission to create API keys in it.
Set up Stripe
- Go to Settings → Integrations and find the Stripe (payments) row.
- Select Install, or View if it is already set up.
- Under How you get paid, choose an option. Only the options offered to your company are shown.
- Continue with the steps for that option, below.
Connect with Stripe
- Select Connect with Stripe. Stripe opens in the same browser tab.
- Sign in to Stripe, or create an account, and answer Stripe's questions. Stripe may ask you to upload documents.
- When you finish — or choose to save your progress and finish later — Stripe brings you back to Settings → Integrations, and RushHour reads your account's status from Stripe.
The Stripe account section of the dialog then shows your account's name and whether Payments enabled and Payouts enabled are on, marks a test account with Test mode, and lists anything Stripe still needs from you. If your setup isn't finished, select Continue setup on Stripe to pick up where you left off; once it is finished, Update details on Stripe lets you change your details there. Refresh status reads your account's status from Stripe again.
The link to Stripe works once and expires after a few minutes. If it has expired, the dialog tells you so; select Continue setup on Stripe to start again. Don't forward the link to someone else, and open it in a web browser rather than in a mobile app.
Enter your own API keys
- In your Stripe Dashboard, open Developers → API keys.
- Copy the publishable key.
- Create a restricted key for RushHour with write access to PaymentIntents, SetupIntents, Customers, PaymentMethods, Refunds and Checkout Sessions, and read access to Balance and Account. Copy it when Stripe shows it.
- In RushHour, enter the Publishable key and the Restricted secret key. If you created a webhook endpoint for RushHour in Stripe, also enter its Webhook signing secret (optional), so payment updates arrive right away. Then select Test connection.
- Select Save.
The secret key is stored securely and never shown again: after saving, the field says Saved. Leave blank to keep the current key. Type a new key into it to replace the saved one.
Use test keys only for testing: payments made with them are not real.
Settings
| Setting | What it does |
|---|---|
| Use Stripe for customer payments | On by default. When off, Stripe stays set up but new payments go through Cardknox, if it is installed. Cards saved with Stripe keep being charged through Stripe. |
| Statement descriptor suffix | Optional short text added to what your customers see on their card statement, so they recognize the charge — for example ORDER. Use up to 22 characters: Latin letters, digits, spaces and . , - & # /, with at least one letter. Stripe allows 22 characters in total for your business name and the suffix together, so keep it short. |
| Mail and telephone orders (MOTO) | Off by default. See below. |
Mail and telephone orders (MOTO)
When a customer reads their card number to your team over the phone, or sends it by mail, the payment is a mail order / telephone order (MOTO). Banks treat these differently from online payments: the customer can't complete a security check such as 3-D Secure, because they aren't the one entering the card.
Turn Mail and telephone orders (MOTO) on only after Stripe has enabled MOTO payments for your account — Stripe asks you to request it and checks your card-handling practices first. When it is on, cards your team types in for a customer are sent to Stripe as phone or mail orders.
Without it, some cards — particularly cards issued in Europe — may ask for a security check that your team can't complete for the customer. In that case, send the customer a payment request so they can pay themselves.
A card a driver types in at the customer's door is not a phone or mail order.
Test connection
When you use your own API keys, Test connection checks the keys you entered with Stripe. If Stripe accepts them, the dialog shows Connected to Stripe account with your account's name, and Test mode for test keys; otherwise it says Stripe did not accept the keys. It doesn't save anything or move any money.
With a connected Stripe account, the Payments enabled and Payouts enabled labels in the dialog show the same information; select Refresh status to check again.
Holds and how long they last
When you authorize a payment instead of charging it, the amount is held on the customer's card until you capture it. Card networks release a hold after about 7 days (some Visa holds after 5), and RushHour notifies your team two days before a hold expires.
If you need to charge days or weeks later — for example at delivery — save the customer's card instead, and charge it when the work is done.
Disconnect Stripe
Select Disconnect on the Stripe (payments) row or in the Stripe dialog, and confirm. RushHour stops taking new Stripe payments for your company. Payments already taken, refunds and the payment history stay in RushHour, and your Stripe account itself is not closed.
Common issues
The dialog shows Payments not enabled or Payouts not enabled. Stripe is still checking your account or needs more information. Select Continue setup on Stripe to see what Stripe is asking for.
The dialog says Stripe payments are not switched on for RushHour yet. RushHour hasn't switched Stripe customer payments on yet. Contact RushHour support to get started.
A charge was declined. The reason RushHour shows comes from Stripe and the customer's bank. Nothing was recorded in Accounting. Ask the customer for another card, or send them a payment request.
A customer's bank asks for a security check. Send the customer a payment request so they can complete the check themselves, or ask Stripe about phone and mail orders if your team takes card numbers by phone.