Connecting Stripe
Set up Stripe for pay links, keyed card entry, hosted tip collection, and automatic payment syncing in CE Pro.
Connecting Stripe
Stripe powers the hosted and direct card-payment flows in CleanEstimate Pro. Once connected, your team can send pay links, open the embedded Collect Payment modal, take keyed card payments, present customer tip options, and let invoice and estimate balances update automatically after Stripe confirms success.
What Stripe Handles
- Estimate and invoice pay links
- Hosted online checkout for customers
- Hosted crew tip selection on invoice payment pages
- Keyed credit card entry from the Collect Payment modal
- Automatic invoice and estimate payment status updates
- Ledger entries for successful, pending, and failed Stripe collections
How to Connect
- Go to Settings.
- Open Integrations.
- Find Stripe and click Connect.
- Complete the Stripe authorization flow.
- Return to CleanEstimate Pro and confirm the Stripe card shows Connected.
What Becomes Available After Setup
After Stripe is connected, the payment tools on leads, estimates, jobs, and invoices can:
- Generate Stripe pay links
- Open hosted checkout for customers with optional crew tipping on invoice payments
- Charge a keyed card from the office with Stripe's embedded payment form
- Let field crews open a card checkout flow from the mobile app when they collect payment in person
- Show alternate card collection flows for pay link, tap to pay / reader, and external processor recording
- Sync partial and full card payments back into the shared ledger
- Show payment-history status updates plus eligible refund / void actions for collected card payments
Offline methods like cash, check, and bank transfer are still recorded in CleanEstimate Pro, but they do not require Stripe.
The shared office Collect Payment modal now also keeps its intended wide desktop frame on estimate, invoice, job, and lead detail pages instead of falling back to the small default dialog width on some screens. That keeps the payment setup and history panes readable when staff opens billing from a record detail page.
Customer Payment Experience
When a customer opens an estimate or invoice pay link:
- Estimate links can go straight to Stripe checkout.
- Invoice links first land on the CE Pro hosted invoice payment page.
- On invoice payments, the customer can choose 10%, 15%, 20%, Custom, or No Tip based on the invoice taxable amount.
- CE Pro opens Stripe checkout with the selected payment amount plus any tip.
- Stripe confirms the payment.
- CleanEstimate Pro updates the related estimate or invoice to Partial or Paid based on the remaining balance.
When a crew member collects a card payment from the mobile app:
- They open the job's invoice payment section.
- They choose card, cash, or check.
- For card payments, they can present the same 10%, 15%, 20%, Custom, or No Tip options to the customer.
- CE Pro opens Stripe checkout for the balance due plus any selected tip.
When the pay link started from an estimate, CE Pro now sends the customer back to the same signed estimate experience after success or cancel. Customers are no longer dropped onto an admin-only page after checkout.
Estimate payment links and estimate payment status now stay mirrored onto the shared quote-core record too. When the office generates a Stripe pay link or records a payment against an estimate, CE Pro updates the quote's shared delivery and payment state so the public quote page, office follow-up history, and quote-core automation stay aligned across both Stripe and manually recorded collections.
That shared payment sync now also merges against the latest saved quote delivery state before it writes. If the office resends a quote or creates a pay link right before a payment posts, CE Pro preserves the newer shared quote-link history instead of letting the balance update overwrite it with an older snapshot.
Customer-facing estimate and quote pages, plus the office estimate list, now also read estimate payment status and pay-link state back from that shared quote-core delivery state when needed. If a payment posts before an older flat estimate column catches up, the pay badge and pay-link CTA still reflect the latest shared quote payment state.
The estimate-list projection now keeps that shared delivery-state payload as structured JSON too, which prevents projection refreshes from flattening the quote payment metadata back into an unreadable string on the office list surfaces.
Shared manual-quote sends now also fall back to a neutral sender label if the workspace name cannot be loaded, so customer-facing estimate, quote, and asphalt-maintenance messages never default to another provider's brand name during delivery.
Troubleshooting
A Stripe payment does not appear right away
- Refresh the invoice, estimate, or job page.
- Check whether the ledger entry is still Pending.
- Confirm the charge succeeded in Stripe.
- If a delayed payment method was used, wait for Stripe's final success event before expecting a paid status.
If a payment attempt fails during office collection, mobile collection, public invoice checkout, or billing-portal launch, CleanEstimate Pro now shows a plain-language action or setup message instead of raw Stripe or provider error text. Use those messages to confirm whether the issue is a balance rule, missing record, or Stripe setup/configuration problem.
The keyed card option is unavailable
- Confirm Stripe is connected.
- Confirm the app has a valid Stripe public key configured. CleanEstimate Pro loads the public key from the billing config endpoint before it opens the embedded payment form.
- If the modal shows Stripe not connected, go to Settings -> Billing and finish the Stripe setup there.
- Reload the page after any Stripe settings changes.
The keyed card form asks to refresh after I changed the payment
- If you change the amount or tip after secure card entry has already loaded, CleanEstimate Pro keeps the current card form on screen but pauses submission until you click Refresh Card Entry.
- Use that refresh step any time you adjust the amount or tip so the Stripe intent matches the final payment total before you charge the card.
The customer cannot use a pay link
- Make sure the balance due is greater than
$0.00. - Confirm the invoice or estimate is not voided.
- Generate a fresh pay link if needed.
If the customer finishes checkout successfully but still reports an access issue, resend the latest estimate or payment link. CE Pro now preserves the signed customer context across Stripe return URLs, so a fresh link should bring them back to the correct public page.
Related articles
Was this article helpful?
Still need help? Contact support