PayPal
A funnel can take payment with PayPal instead of Stripe. Buyers pay with their PayPal account or with a card through PayPal’s own popup, so a merchant in a country Stripe does not serve needs no Stripe account at all. Connect it under Cartless → Settings, then put a funnel on it under the funnel’s Settings tab.
Connecting
Section titled “Connecting”- In your PayPal developer dashboard, open Apps & Credentials and create a REST app, or open the one you have. Sandbox and Live are two tabs with two different pairs of credentials.
- Copy the Client ID and Secret into Cartless → Settings → PayPal, choose sandbox or live, and connect. Cartless proves the pair works by asking PayPal for a token, then registers its webhook with your own credentials — nothing to paste into PayPal.
Only the account holder can create these credentials. That is PayPal’s rule, and it is why Cartless asks you for them rather than connecting for you.
One processor per funnel
Section titled “One processor per funnel”Every step of a funnel — checkout, upsell, downsell — takes payment the same way. Take payment with appears on the funnel’s Settings tab once two processors are connected. To take both, make a second funnel.
| Stripe funnel | PayPal funnel | |
|---|---|---|
| One-time product, bump | Yes | Yes |
| Upsell / downsell | One click, saved card | Two clicks — a PayPal button on the offer, one more approval |
| Subscriptions | Yes (Pro, Grow) — the first payment is one charge | Yes (Pro, Grow) — the buyer approves a PayPal subscription; the first payment is two charges, a one-time setup fee for the bump and any one-off shipping, then the first cycle (how); the manage page in every receipt stops it |
| Card without a PayPal account | The card form | PayPal’s Debit or Credit Card button |
PayPal takes a fixed list of currencies; a funnel in another currency cannot be put on PayPal.
Payments held for review. If a payment arrives in a currency your PayPal account does not hold, PayPal parks it until you accept it, and the buyer’s order shows as confirming until then. To avoid the question, run the funnel in a currency the account holds, or set Payment preferences → Allow payments in currencies I don’t hold to accept automatically. Cartless copes either way: the buyer is moved on, and the webhook settles the order once the money is accepted.
What the buyer sees
Section titled “What the buyer sees”Email first, then the PayPal buttons where the card form would be. The bump, the variants, the discount code and any questions asked at checkout are the same form. Approving in PayPal’s popup completes the payment and sends the buyer to the next step. Closing the popup charges nothing; the checkout counts as abandoned, as an unfinished card form does.
On an upsell, the accept button is a PayPal button: one more approval, nothing to type. There is no one-click on PayPal — PayPal grants that per merchant after a review, and Cartless never depends on it.
If the buyer’s PayPal account has an address on file and the product ships, that address is copied to the order as the delivery address. The buyer can still change it on the thank-you page.
Refunds
Section titled “Refunds”Refund per line from the order screen, as with Stripe. The refund goes back through PayPal to the original payment. A refund made inside PayPal’s own site is noted in the event log for you to record on the order.
Webhooks and development sites
Section titled “Webhooks and development sites”Cartless records a PayPal payment the moment its own capture call returns — it does not wait for a webhook. The webhook exists for the rare case where PayPal completed the capture but the reply never reached your site, and it is registered automatically. On a development host PayPal cannot reach, no webhook is created and payments are still recorded.