Stripe Payments
Connect your Stripe account so clients can pay invoices online by card or US bank transfer. Money lands directly in your Stripe account, the invoice is automatically marked Paid, and a receipt is sent. Keito charges zero platform fee on payments — you only pay Stripe’s standard processing fees.
Overview
The Stripe integration lets you:
- Accept credit and debit card payments globally
- Accept ACH bank transfers (US Stripe accounts, USD invoices only)
- Toggle card or ACH on or off at the integration level
- Override card and ACH per invoice for higher-value payments
- Have payments recorded against the invoice automatically when they clear
- Have the invoice flip to Paid automatically and a receipt emailed to the client
- Keep 100% of every payment minus Stripe’s processing fee — Keito never holds funds and never takes a cut
Requirements
- A Keito Business plan subscription (Stripe Payments is a Business-tier feature)
- Administrator access in Keito
- A Stripe account in a Stripe-supported country
Connecting Stripe
- Go to Settings > Integrations.
- Find the Stripe card and click Connect.
- You’ll be redirected to Stripe to log in and authorise the connection.
- Once authorised, you’re returned to Keito with the connection active.
- If your Stripe account is brand new, finish identity verification and add a bank account in your Stripe Dashboard before charges and payouts go live.
The connection uses Stripe’s OAuth flow over Stripe Connect Standard accounts, with automatic token refresh — so you won’t need to reconnect regularly.
Account status
After connecting, Settings > Integrations > Stripe shows three readiness checks:
| Status | Meaning |
|---|---|
| Submit account details | Stripe has your business and identity details |
| Enable charges | Your account can accept card and ACH payments |
| Enable payouts | Stripe can pay out collected funds to your bank account |
All three must be green before the Pay this invoice online button appears on your invoices. Stripe usually completes the checks within a few minutes of you submitting your details, but identity verification can occasionally take longer.
Configuration
After connecting, the Stripe settings page lets you choose which payment methods are enabled by default.
Credit and debit card payments
Toggle on to accept Visa, Mastercard, Amex, and other cards Stripe supports. Cards are available globally.
Bank transfer (ACH) payments
Toggle on to accept ACH bank transfers. ACH is available for US-based Stripe accounts on USD invoices only. Settlement takes 3–5 business days but processing fees are lower than cards — useful for high-value invoices where the slower clearing time is acceptable.
Per-invoice overrides
When you create or edit an invoice, the Get paid step lets you turn card or ACH off just for that invoice. This is useful if, for example, you’d rather receive a £10,000 invoice via ACH only.
How clients pay
From the client’s perspective, paying online takes three clicks:
- They receive the invoice email or open the PDF.
- They click the Pay this invoice online button.
- They land on a Stripe Checkout page (Stripe-hosted, with your branding from your Stripe Dashboard) and enter their card or bank details.
Once payment clears, they’re returned to the public Keito invoice page with a Paid badge.
Behind the scenes, the Stripe Checkout session is created when the client clicks the button — not when you send the invoice. That means the payment link works for the full life of the invoice, even if the invoice is paid weeks or months after it’s sent.
Payment recording
When Stripe confirms a payment via webhook, Keito automatically:
- Adds a payment row to the invoice with the card brand and last four digits (e.g. “Visa ending 7014”) or the bank transfer reference for ACH
- Moves the invoice to Paid status
- Sends a receipt email to the client
- Stores the Stripe Checkout Session ID and PaymentIntent ID for reconciliation
Partial payments via Stripe are not supported — Stripe Checkout always charges the full outstanding amount. If you need to record a partial payment, use the manual Record Payment flow described in Tracking Payments.
Branding the Stripe Checkout page
The Stripe Checkout page uses your merchant branding from your Stripe Dashboard > Settings > Branding — your logo, brand colours, and business name. This is configured once in Stripe and applies to every Keito-initiated payment.
Fees and money flow
Stripe Payments is built on Stripe Connect direct charges. That means:
| Fee type | Who charges it | Amount |
|---|---|---|
| Stripe processing fee | Stripe | Stripe’s standard published rates (e.g. 1.5% + 20p in the UK, 2.9% + 30¢ in the US for cards) |
| Keito platform fee | Keito | 0% — none, ever |
Money flows directly from the client to your Stripe account. Keito is never in the money path — we don’t see, hold, or route the funds.
Disconnecting
To remove the Stripe integration:
- Go to Settings > Integrations > Stripe.
- Click Disconnect Stripe.
- Confirm by typing
DISCONNECT. - Stripe OAuth tokens are revoked.
- Existing invoices remain in both Keito and Stripe; payment history is preserved. New payments can’t be initiated until you reconnect.
Troubleshooting
Pay button not appearing on the invoice
The Pay this invoice online button only appears when:
- Invoice state is Open (not Draft, Paid, or Closed)
- Invoice has an outstanding balance
- Your Stripe integration is connected and
chargesEnabledis true - At least one of card or ACH is enabled at the integration level
- The invoice’s per-invoice card and ACH toggles aren’t both off
If the button is missing, check each of the above in turn.
Payment succeeded but invoice still shows Open
Webhook delivery may have been delayed. Stripe automatically retries failed webhook deliveries for up to 3 days. The status will catch up once the webhook is processed — usually within a few seconds. If the issue persists for more than a few minutes, check Settings > Integrations > Stripe and click Refresh status.
Currency not supported
Stripe rejects sessions for currencies that aren’t enabled on your connected account. To enable additional currencies, go to your Stripe Dashboard and add them to your account.
My country isn’t on the Connect list
Stripe Connect supports a specific list of countries. If yours isn’t on it, the Connect button will fail. Stripe periodically expands the list — keep an eye on their announcements.