Set up the integration
1
Create or log in to your Givebutter account
Go to givebutter.com and sign in, or create a new account for your camp if you don’t have one yet. Use an email address your admin team has access to — this is where Givebutter sends payout notifications and campaign reports.
2
Create a campaign or fund for dues
Inside Givebutter, create a new Campaign or Fund specifically for camp dues. Name it something clear — for example,
2026 Camp Dues — so it’s easy to identify in your dashboard.Set up your dues amounts as suggested donation options or required tiers. If your camp has multiple dues levels (base dues, RV fees, etc.), add each as a separate option.3
Copy your campaign URL into PlayaOS
Once your campaign is created, copy its public URL from Givebutter. Then in PlayaOS, go to Settings → Branding and paste the URL into the Givebutter URL field. Save your settings.This is the link members see when they click Pay dues in the portal. They’re taken directly to your Givebutter campaign to complete payment.
4
Set up the Givebutter webhook
The webhook is what tells PlayaOS when a payment succeeds.In Givebutter, go to Settings → Webhooks and click Add endpoint. Enter the following URL, replacing For the event type, select
your-slug with your actual camp slug:transaction.succeeded. This fires whenever a payment completes successfully.After saving, Givebutter will show you a webhook secret. Copy it — you’ll need it in the next step.5
Save the webhook secret in PlayaOS
In PlayaOS, go to Settings → Integrations and paste the webhook secret into the Givebutter webhook secret field. Save.PlayaOS uses this secret to verify that incoming webhook requests actually came from Givebutter. Without it, the webhook endpoint will reject all incoming payloads.
6
Test the integration
Make a small test transaction through your Givebutter campaign — even $1 is fine — using a real or test card. Wait a few seconds, then check the relevant member record in PlayaOS.If the integration is working, the member’s payment status should update to paid automatically. If it doesn’t, double-check that the webhook URL is correct and the secret matches what Givebutter shows.
Map dues tiers
PlayaOS identifies which membership tier a payment belongs to by reading the Details field value from the Givebutter transaction. To make this work, the label you set in Givebutter needs to match your tier configuration in PlayaOS. In your Givebutter campaign, make sure each dues option has a Details value that clearly identifies the tier:
Then in PlayaOS, go to Settings → Dues tiers and confirm that your fee tier names match what you’ve set in Givebutter. When a
transaction.succeeded webhook arrives, PlayaOS parses the Details field and assigns the payment to the right tier automatically.
Frequently asked questions
What if a member pays but their status doesn't update?
What if a member pays but their status doesn't update?
First, confirm the webhook is configured with the correct endpoint URL and that the webhook secret in PlayaOS matches the one shown in Givebutter. Then check Settings → Integrations → Webhook logs (if available) to see whether the webhook fired and what response it received.Common causes: a typo in the endpoint URL, a mismatched or missing webhook secret, or the webhook not being saved in Givebutter.
Can I use Zapier instead of the Givebutter webhook?
Can I use Zapier instead of the Givebutter webhook?
Yes. PlayaOS also supports a Zapier-based payment workflow. Set up a Zap that triggers on a Givebutter transaction and posts to
https://your-slug.playaos.app/api/webhooks/zapier-payment. This approach gives you more flexibility to transform data before it reaches PlayaOS, but requires a Zapier account and additional setup.The native Givebutter webhook is simpler and recommended for most camps.How do scholarship payments work?
How do scholarship payments work?
Scholarships are assigned directly in PlayaOS by an admin — they’re not processed through Givebutter. When you assign a scholarship to a member, their dues obligation is reduced or waived in the portal. No Givebutter transaction is needed for a full scholarship. For partial scholarships, the member pays the remaining balance through Givebutter as normal.
Can one Givebutter account serve multiple camps?
Can one Givebutter account serve multiple camps?
Yes. You can create separate campaigns or funds within a single Givebutter account for each camp. Each PlayaOS camp configures its own Givebutter URL and webhook endpoint independently. There’s no conflict between camps sharing a Givebutter account.
What Givebutter transaction data does PlayaOS store?
What Givebutter transaction data does PlayaOS store?
When a webhook fires, PlayaOS records the transaction ID, amount, payment date, and the tier parsed from the Details field. It links the payment to a member profile by matching the email address on the Givebutter transaction to a member record in your camp.If no matching member is found, the payment is logged but not linked to a profile. You can manually associate it from Admins → Payments.
What if I need to issue a refund?
What if I need to issue a refund?
Process the money movement in Givebutter, then record the refund in PlayaOS from Admins → Transactions → Record Refund so the ledger and member balance stay in sync. The refund dialog lets you decide whether to revert the member’s status from active back to approved when the refund leaves them no longer fully paid. See Recording a refund for details.