Skip to content

11. Payments with Stripe

Insight, then Integrations, then the Stripe (customer payments) card. This is the account your customers pay you through. It is a different Stripe account from the one that bills you for your Printer's Friend subscription, and the two never touch.

Connecting Stripe is what turns "invoice issued" into "invoice paid" without a phone call: every invoice gets a hosted payment link, and the payment is recorded against the invoice automatically.

Two ways to connect

Two clicks. Press Connect with Stripe, complete Stripe's own onboarding, and you are returned to the workspace with the account linked. Stripe holds your business details and your bank account; the workspace stores only the account id and whether charges are enabled.

This is the right choice for almost everyone. It is faster, there are no keys to paste or rotate, and disconnecting removes the link on our side without touching your Stripe account.

Your own API keys

Paste them into the same card if you would rather manage the connection yourself, or if you already have a Stripe integration you want this to sit alongside.

FieldWhere to get it
Secret key (sk_...)Stripe dashboard, Developers, API keys
Publishable key (pk_...)Same page
Webhook signing secret (whsec_...)Stripe dashboard, Developers, Webhooks, after adding the endpoint

Pasted keys take precedence over a Connect link if you have both.

Live keys mean live money

Test keys (sk_test_...) let you click through the whole flow without charging anyone, which is the right way to check your setup. When you switch to live keys, do one real low-value payment to yourself and confirm it lands, before you send a customer an invoice.

The webhook

Payments are confirmed by a webhook from Stripe, not by the customer's browser returning to your site. Without it, a customer can pay and the invoice stays showing unpaid.

If you connected with Stripe Connect, this is handled for you: one platform endpoint receives events for every connected account, verified with its own signing secret and resolved back to your workspace.

If you pasted your own keys, add the endpoint in your Stripe dashboard and paste the signing secret into the Stripe card. Full detail in the Stripe integration reference.

What the connection enables

FeatureNeeds Stripe
Hosted pay link on invoicesYes
Payment recorded automatically on the invoiceYes
Deposit checkouts on quotesYes
Card capture after a guest checkout on a store or campaignYes
Invoicing and PDFsNo, these work without Stripe

A shop that only takes bank transfer can skip this step entirely and still invoice properly. Put your bank details in the invoice template's payment instructions instead, and reconcile by hand.

Verify it works

  1. Create a test customer with your own email.
  2. Quote, convert, dispatch, so an invoice is issued.
  3. Open the invoice and use its pay link, in test mode.
  4. Confirm the invoice flips to paid on its own, without you marking it.

Step 4 is the one that matters. If the payment succeeds in Stripe but the invoice stays unpaid, your webhook is not arriving. See troubleshooting.

Next

12. The customer portal

Printer's Friend - software for apparel print shops