How to accept payments with Stripe or PayPal
A TeleportHQ store takes online payments through your own Stripe or PayPal account, or through Mollie, Razorpay, Square, Paddle or CoinGate. In the editor, open E-commerce → Payment Providers, click +, pick the provider, paste its API keys and click Save Configuration. Then publish: for Stripe and PayPal, TeleportHQ also connects the payment webhook, so orders are marked paid after the shopper pays.
Before you start
- E-commerce must be turned on in the project. See How to add a store to an existing project.
- You need an account with the provider, such as a Stripe account or a PayPal business account with a REST API app. TeleportHQ doesn't create these accounts for you.
- Shoppers pay on the provider's own secure checkout. The money goes to your account with that provider.
- Want to try the checkout without real money first? Use test keys. See How to test payments before going live.
Steps
1. Copy your keys from Stripe or PayPal
For Stripe: in your Stripe Dashboard, open Developers → API keys, reveal the Secret key and copy it. It starts with sk_test_ (test payments) or sk_live_ (real payments).
For PayPal: in the PayPal Developer Dashboard, open Apps & Credentials, pick Sandbox (test payments) or Live at the top, open your app, and copy its Client ID and Secret.
2. Add the provider in TeleportHQ
- In the editor's left sidebar, click E-commerce (the credit-card icon). If you hid it, click Plugins, then E-commerce, then Open next to E-commerce panel. (The same drawer has a Show in the left sidebar switch that brings the icon back.)
- In the Payment Providers section, click + (tooltip Add Payment Provider). With no provider yet, the list says No payment providers configured, and you can also click the Add Payment Provider button below it.
- In the Add Payment Provider panel, click Stripe or PayPal. The Configure Stripe or Configure PayPal panel opens.
Under API keys, paste your keys:
- Stripe: paste the key into Secret key.
- PayPal: paste Client ID and Secret.
Not sure where a key is? Click Where do I find this? under the field for the exact menu path in your provider's dashboard.
- Click Test Connection. Connection successful appears when the provider accepts the keys.
- Click Save Configuration. A message says, for example, "Stripe has been configured successfully".
3. Publish: the webhook connects itself
A webhook is a message your provider sends to your live site when a payment goes through. Without it, paid orders stay pending.
For Stripe and PayPal, you don't need to set it up by hand. At the top right, click Publish, then Publish to Production. When the publish ends, TeleportHQ creates the webhook in your Stripe or PayPal account and saves its secret. A message says "Stripe's webhook is connected: orders paid with Stripe are confirmed automatically." The saved secret reaches your live site with your next publish; until then, your store checks each payment with Stripe or PayPal directly. See How to publish your site.
Other providers, a password-protected site or a custom domain that isn't verified yet need a few more steps. See How to set up the payment webhook (so orders are marked paid).
Other payment providers
TeleportHQ stores can also take payments with these providers. You add them the same way, with these keys:
| Provider | Keys (under API keys) | Optional fields | Good to know |
|---|---|---|---|
| Mollie | API key (test_… or live_…) | none | Cards, iDEAL, Bancontact, SEPA and more across Europe. No webhook to set up. |
| Razorpay | API Key (Key Id) and Key Secret | none | Cards, UPI, netbanking and wallets. You add its webhook by hand after publishing. |
| Square | Access token | Location ID (empty uses your main location) | Charges in your Square location's currency only. After publishing, click Connect automatically, then publish again. |
| Paddle | API key and Client-side token | Tax Category | Sells digital products and software only. After publishing, set its Default payment link to the address the panel gives you, then connect the webhook. |
| CoinGate | Auth Token | Settlement Currency | Bitcoin, stablecoins and other cryptocurrencies. No webhook to set up. Not offered for gift cards. |
Remove a payment provider
To remove a payment provider from your TeleportHQ store:
- In the E-Commerce panel, under Payment Providers, click the trash icon on the provider's card (tooltip Remove payment provider).
- The Remove Payment Provider window says "You are about to remove Stripe." (with your provider's name). When something stops working with the provider, a warning below says what.
- Click Remove Provider. This can't be undone. To use the provider again, add it again with +.
The warning's title names what stops:
- Online payment will be switched off: it's your last provider. "Once you publish, customers can only pay on delivery or at pickup; invoices keep being generated according to your invoice settings."
- Bookings can no longer be paid online: your project also takes bookings, and this is the last provider that takes their payments. "Bookings can no longer be paid online once you publish: customers pay on arrival, and items that must be paid online cannot be booked until you add another provider."
- Subscription renewals will stop: you're removing CoinGate. CoinGate can't charge a saved payment method, so your store bills each subscription renewal itself, by emailing the buyer a link to pay. "Removing CoinGate stops the store billing its subscriptions: no renewal is issued and nothing ends them. Each buyer keeps access until the end of the period they paid for plus the grace days; cancel the subscriptions first if you want them to end now."
When more than one applies, the window shows them all, under the first of these titles. Removing a provider from the Bookings panel shows the same window.
Check that it worked
Your provider appears in the Payment Providers section with a status:
- Connected: keys saved and payment confirmations set up.
- Webhook after publish: keys saved; the webhook is set up once you publish.
- Webhook needed: the store is live, but its webhook isn't connected. Orders paid there stay pending. Click the card to fix it.
- Payment link needed (Paddle): Paddle's Default payment link isn't set to your store's payment page yet.
- Misconfigured: a key is missing or the provider refused it.
On your published checkout page, under Select Payment Method, shoppers now see the provider.
Troubleshooting
The provider card says "Misconfigured" A required field is empty or the provider rejected the key. Point at the label to see the error, for example "Failed to connect to Stripe" or a "Missing required fields:" list. Click the card, correct the key and click Save Configuration.
The provider is greyed out with "Already Active" in Add Payment Provider Your store already lists that provider, even when its keys are still missing, and clicking the greyed card does nothing. Close Add Payment Provider and click the provider under Payment Providers instead.
"This does not look like a Stripe secret key — they normally start with sk_test_ or sk_live_. You can save it anyway." The key has an unusual shape. Check that you copied the Secret key, not the Publishable key (pk_…). TeleportHQ still saves the value, so click Test Connection to be sure.
"Stripe has been saved, but some credentials do not look like the format it usually issues. Test the connection if payments do not go through." The keys were saved with a format warning. Click Test Connection to check them.
"PayPal is saved, but the checkout will not offer it." The provider accepted the keys but reported a problem with the account, for example that it takes no payments in your currency. The rest of the message says what to fix.
"PayPal does not support [currency]" when you save a product Every product must use a currency your connected provider supports. With several providers, the message reads "No active payment provider supports [currency]". Change the product's Currency, or connect another provider. See How to add a product.
Shoppers paid, but orders still say "pending" The webhook isn't connected, or its address is out of date. See How to set up the payment webhook.
Good to know
- Several providers at once. You can connect more than one. Shoppers choose one at checkout.
- Apple Pay and Google Pay appear on Stripe's checkout when you turn them on in your Stripe payment methods. There is nothing to set in TeleportHQ.
- Your keys are saved as project Secrets. A clone of the project never copies them: in the copy, every payment provider reads as not set up, and its new owner adds their own keys. See How to keep passwords and API keys safe (Secrets).
- Refunds. Use Refund on the order in Growth → E-Commerce → Orders: TeleportHQ sends the refund to the provider. A refund you make in the provider's own dashboard also updates the order once its webhook is connected. CoinGate refunds are issued from the CoinGate dashboard. See How to refund an order.
- Subscriptions work with every provider listed above. See How to sell subscriptions and manage subscribers.
- Cash on delivery is a store setting, not a provider. Turn on Cash on Delivery in E-Commerce Settings.
- Removing a provider can switch off online payment, bookings paid online or subscription renewals. See Remove a payment provider.
- Providers are shared with Bookings. If your project also takes bookings, the same providers take their payments. On a project that takes bookings without a store, the first save of a provider shows Setting up online payments with a progress bar while TeleportHQ prepares the tables its payments are recorded in.
- Unpaid orders are cancelled after 60 minutes. Each provider's Configure panel says so, for example: "An order paid through Stripe that is still unpaid 60 minutes after the buyer was sent to pay is cancelled: its items go back on sale and its payment page closes." Your published store checks every 15 minutes, with a scheduled workflow TeleportHQ adds for you (Release Abandoned Checkouts). It runs on an active trial or a paid plan. On a workspace whose trial or subscription has ended, the panel adds "That runs on a schedule, which needs a paid workspace. On this plan an unpaid order keeps its items until you cancel it from the orders page."
- Changes need a publish. The live checkout uses a new or changed provider only after you publish.
- This isn't your TeleportHQ subscription. Store payments go to your provider account. To pay for TeleportHQ itself, see How to subscribe to Pro or Premium.