Take online payments with PayPal
Connect PayPal so guests can pay deposits and balances online. Covers where the Client ID and Secret come from, Sandbox against Live, how a PayPal payment is confirmed, testing, refunds, and what to check if a guest says they paid.
Last updated October 20, 2026
Guests pay you directly. The money goes from the guest's PayPal account or card into your own PayPal account, and Campiamo never holds it or takes a cut. To make that work, your Campiamo account needs your PayPal API credentials, which you add once under Settings → Payments in your dashboard.
PayPal is an alternative to Stripe, not an addition to it: Campiamo uses one payment provider per account. If you would rather take card payments through Stripe, see taking online payments with Stripe. Most campsites choose Stripe; PayPal suits you if you already run your business through a PayPal Business account and want the money to land there.
What you need
- A PayPal Business account. A personal account cannot receive payments this way. Upgrading a personal account to Business is free and takes a few minutes on paypal.com.
- About five minutes, switching between two browser tabs: your Campiamo payments settings and PayPal's developer site.
1. Create an app in PayPal
PayPal issues API credentials per "app". You need one for your live account.
- Go to developer.paypal.com and sign in with your PayPal Business login.
- Open Apps & Credentials.
- At the top of the page, switch from Sandbox to Live. This matters: the credentials differ, and sandbox ones cannot take real money.
- Click Create App, give it a name such as Campiamo, and confirm.
- On the app's page you will see the Client ID and, under it, a Secret key with a Show button.
Keep this tab open.
2. Save the credentials in Campiamo
- In Campiamo, go to Settings → Payments and choose PayPal.
- Paste the Client ID and the Secret.
- Set Environment to Live.
- Click Save Credentials.
Campiamo checks the credentials with PayPal there and then, in the environment you chose, and only saves them if PayPal accepts them. The status changes to PayPal credentials configured and active, with the mode shown beside it. The rest of the payments page then controls what guests are charged and when: full payment or a deposit, when the balance is due, and whether you also accept payment on arrival.
There is no webhook to set up for PayPal.
How a PayPal payment works
When a guest books on your website or through a booking widget, Campiamo creates a PayPal order for the amount due and sends the guest to PayPal to approve it. They sign in to PayPal and pay from their balance or a saved card, or, where PayPal offers it in their country, pay by card without an account.
PayPal then sends the guest back to your site, and that return is when the money is taken and the booking is created and confirmed. Nothing is charged while the guest is still on PayPal. If they close the window before approving, or approve but never come back, no money moves and no booking is made, and they simply book again. Balance payments through the links Campiamo emails work the same way: the balance is marked paid when the guest lands back on their booking page.
The confirmation email, the balance reminders and everything else about the booking are the same whichever provider you use. Gift vouchers sold on your website, and site fee invoices if you manage holiday homes, are also paid through PayPal once it is connected.
Testing with the sandbox
PayPal's sandbox is a copy of PayPal where no real money moves, and Campiamo supports it directly. Use it to try the full checkout before you go live, or any time you want to check something without paying PayPal's fee on a refund.
- On developer.paypal.com, switch Apps & Credentials to Sandbox and create an app there, or use the default one PayPal made for you. Copy its Client ID and Secret.
- Still on the developer site, open Testing Tools → Sandbox Accounts. PayPal has created a Personal account for you to buy with; open it to see its email address and password, or set a password you will remember.
- In Campiamo, under Settings → Payments → PayPal, enter the sandbox Client ID and Secret, set Environment to Sandbox, and save.
- Make a booking on your own booking page. On PayPal's page, sign in with the sandbox Personal account, not your real PayPal login, and pay.
- Check that the booking shows as paid in your dashboard and the confirmation email arrives.
- Go back to Settings → Payments, enter your live Client ID and Secret, set Environment to Live, and save. Then delete the test bookings so they do not sit on your calendar.
While the sandbox credentials are in, your booking page is in test mode for everyone. A real guest who books in that window pays nothing real and still receives a confirmed booking, so do this at a quiet time and switch back to Live straight away. Any payment link already emailed to a guest while you were live will not work until you are back on Live, because that order belongs to your real PayPal account.
Refunds
Refund from the booking in Campiamo, using Refund on the payment, in full or in part. That sends a real refund through PayPal to the guest and marks the payment as refunded in Campiamo. If you refund from PayPal's own site instead, the money still goes back but the booking in Campiamo will not know, so use the dashboard where you can.
PayPal keeps its fee on a refund, as its terms set out, which is why the sandbox is the better way to test.
Changing or removing PayPal
To use a different PayPal account, save the new credentials over the old ones. To move to Stripe, click Remove on the PayPal card first, then set up Stripe; guests cannot pay online in between, so do the two steps together. Existing bookings and past payments are not affected either way, and PayPal refunds on them still work once PayPal is connected again.
If something isn't working
"The PayPal credentials are invalid." The Client ID and Secret do not match the environment you selected: sandbox credentials with Live chosen, or live ones with Sandbox, is by far the most common cause. Check the Sandbox/Live switch on PayPal's Apps & Credentials page, copy both values again, and make sure the Secret is the full key shown by Show, not the Client ID twice.
A guest says they paid, but there is no booking. Look in Activity on paypal.com. If the payment is not there, the guest approved on PayPal but did not get back to your site, so no money was taken; ask them to book again. If a completed payment is there with no booking in Campiamo, which is rare, Campiamo alerts us automatically and we will match it up for you. Get in touch with the PayPal transaction ID and the guest's name.
A balance payment still shows as due after the guest paid. The guest approved the payment on PayPal and closed the window before returning. If they open their booking page from the payment link within a few hours, Campiamo completes it; after that PayPal lets the approval lapse without taking anything, and the guest pays again from the same link. If the money has left their account and the balance still shows as due, send us the transaction ID.
Guests see an error when they try to pay. Check the credentials are the live ones from a Business account, and that the account is in good standing on paypal.com. PayPal shows a notice in your account if it has restricted anything.
Further reading
Guides from the blog that go deeper on this topic.
Still stuck?
If this page didn't answer your question, it's our page that needs fixing. Tell us.
Get in touch