Stripe payments

Connect your Stripe account, decide when storefront baskets require payment, and see what customers experience at checkout.

Written By Bram Fofana

Last updated About 3 hours ago

Stripe lets you collect card payment on storefront baskets through a Stripe-hosted checkout page. You connect your own Stripe account. Salesbuildr does not process payments on your behalf.

This article covers enabling Stripe, when payment is required, what the customer sees, how a regular quote differs from a storefront basket, and how to fix webhook problems.

Storefront add-on required. The Stripe tile appears on Settings > Integrations only after Storefront is enabled for your account. Storefront is not included in the standard Salesbuildr plan. If you do not see the tile, contact your Salesbuildr account manager.

Enable Stripe

You need a tenant administrator account.

  1. Go to Settings > Integrations > Manage.

  2. Find the Stripe tile. It shows a Disabled badge until you turn it on.

  3. Click Configure.

  4. Turn on Enable.

  5. Enter your Stripe API Key (your Stripe secret API key from the Stripe Dashboard). The field is masked.

  6. Click Save.

The tile badge changes to Enabled. Saving with Stripe enabled creates a webhook in your Stripe account that points at your Salesbuildr site, so completed checkouts can update the order automatically.

If you save the same API key again, or you enter a key while Enable is still off, Salesbuildr may skip creating the webhook. In that case, open the Webhooks tab and create it yourself — see Troubleshoot webhooks.

After Stripe is enabled, Settings > Integrations > Stripe appears in the sidebar with a Webhooks tab.

Confirm the webhook

Go to Settings > Integrations > Stripe > Webhooks.

When the webhook is installed, the table shows:

  • URL — the Salesbuildr address Stripe calls after a payment

  • Events — checkout.session.completed, payment_intent.processing, payment_intent.succeeded, payment_intent.payment_failed, and payment_intent.canceled

If the page shows No webhook setup, click Create new webhook. Salesbuildr registers the endpoint and stores the signing secret for you.

You do not create this webhook by hand in the Stripe Dashboard. Use the buttons on this tab so the URL and secret stay in sync.

When a customer must pay

There is no “require payment before approval” toggle on Settings > Quotes > Configuration. That page sets defaults such as the default payment term and how quotes look. Payment terms and Payment types (for example Net 30 or Bank transfer) describe how you invoice. They do not start a Stripe checkout.

Stripe checkout is required only on a storefront basket, and only when all of the following are true:

  1. Stripe is enabled and has an API key.

  2. The person placing the order is a customer, not a quote manager on your team.

  3. The one-time items in the basket add up to more than the company’s credit limit.

Set the credit limit

Salesbuildr uses the first numeric limit it finds:

  1. Max credit limit on the company (Manage Company on the company record). See Companies.

  2. If the company has no limit, the tenant default at Settings > Financial > Pricing Rules > Max credit limit. See Financial.

Leave both empty (unlimited) if you do not want Stripe to block checkout. Then customers can place storefront orders without paying in Salesbuildr.

Only one-time line items count toward the limit. Recurring and subscription items are invoiced separately and are not charged in Stripe.

If payment is required but Stripe is not enabled, the customer cannot Place Order and cannot Proceed to Payment. Enable Stripe before you rely on credit-limit payment.

Your team (quote managers) can still place or approve a basket without paying.

What the customer sees

On the storefront checkout (basket overview):

  1. They confirm company, PO number, terms, and any required signature or documents.

  2. If payment is not required, the button is Place Order.

  3. If payment is required, the button is Proceed to Payment. A tooltip explains that payment is for one-time charges and that recurring cost is invoiced separately.

  4. They are sent to Stripe’s checkout page to pay.

  5. The basket status becomes Pending payment until Stripe confirms the payment.

While payment is in progress, a Payment Summary section appears on the basket:

  • Continue payment — shown while the Stripe checkout session is still open. It reopens the same Stripe page.

  • Payment Completed — shown after Stripe confirms the payment and Salesbuildr has processed it.

If they close the Stripe tab, they can return to the basket and click Continue payment (or use the original checkout link) as long as the session is still open.

Stripe checkout sessions expire 24 hours after they are created. An expired link opens Stripe’s “This payment link has expired” page, and Continue payment is hidden. Ask the customer to reload the basket page so Salesbuildr can create a new session, then click Continue payment again.

After a successful payment and a working webhook, the order moves forward (typically to Approved, or to the next approver if a workflow is still open). If you configured a thank-you page on the quote, Stripe can send them there after payment.

Card declines stay on Stripe’s page. The basket remains Pending payment until a payment succeeds.

Regular quotes versus storefront baskets

Regular quote (you send a proposal)Storefront basket (the customer builds an order)

Who starts it

Your sales team

The signed-in customer in the Storefront

Customer action

Accept or decline the proposal

Place Order or Proceed to Payment

Stripe checkout

Not used. Recipients do not pay in Salesbuildr before they accept.

Used when one-time items exceed the credit limit and Stripe is enabled

After accept / pay

The quote is approved and can sync to your PSA

Same PSA path once the basket is approved; status is Pending payment until Stripe confirms

A storefront basket is still a quote in your quotes list. You can track it, audit it, and sync it like any other approved quote.

Partial payments and deposits

Stripe in Salesbuildr collects the full one-time amount in one checkout (including shipping and tax when those apply). You cannot:

  • Take a partial payment or deposit through Stripe

  • Split one basket across multiple card charges

  • Charge only recurring lines through Stripe

Recurring items stay off the Stripe invoice and are billed later. Leasing down payment on a quote is a leasing calculation setting, not a Stripe deposit — see Leasing.

Troubleshoot webhooks

Salesbuildr marks a basket paid only when Stripe can reach your webhook. There is no background check that looks up the payment later. If the card was charged but the basket stays Pending payment, fix the webhook.

Go to Settings > Integrations > Stripe > Webhooks.

What you seeWhat to do

No webhook setup

Click Create new webhook.

Webhook listed, but payments do not update the basket

Click Reinstall webhook. This deletes the old endpoint in Stripe, creates a new one, and stores a fresh signing secret.

You changed your Salesbuildr site address

Click Reinstall webhook so the URL matches the new address.

You rotated or replaced the Stripe API key

Save the new key on Configure, then confirm the Webhooks tab still shows a row. If it shows No webhook setup, create or reinstall the webhook.

You can also click Delete webhook if you need to remove the endpoint, then Create new webhook to start clean.

In the Stripe Dashboard, failed deliveries on the webhook endpoint usually mean the URL is stale or the signing secret no longer matches. Reinstalling from Salesbuildr is the supported fix.

Other checkout issues

  • Stripe tile is missing — Storefront is not enabled for the tenant. Contact your account manager.

  • Saving Configure shows a Stripe error — the API key was rejected. Paste a valid secret API key from the Stripe Dashboard and save again.

  • Currency error when checkout starts — the basket currency must be one your Stripe account accepts. Change the currency on the quote or enable that currency in Stripe.

  • Session expired — reload the basket, then Continue payment.

See also

  • Storefront — Self-service catalog, basket, and checkout

  • Integrations — All integrations

  • Financial — Tenant Max credit limit

  • Companies — Per-company Max credit limit

  • Quotes — Payment terms, payment types, and quote configuration