Skip to main content
PlayaOS integrates with Givebutter to handle dues collection. When a member pays through your Givebutter campaign, a webhook notifies PlayaOS and automatically updates their payment status — no manual data entry required. This guide walks you through setting up the integration from start to finish.
The webhook must be configured correctly for payment status to update automatically. Without it, Givebutter transactions won’t be reflected in PlayaOS — you’d have to update member payment status by hand. Complete the webhook setup before directing members to pay.

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.
Use the Details field in Givebutter to label each tier with a consistent value — for example, Base Dues, 30 Amp RV Fee, 50 Amp RV Fee. PlayaOS reads this field to map payments to the correct membership tier. See Map dues tiers below for details.
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 your-slug with your actual camp slug:
For the event type, select 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

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.
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.
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.
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.
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.
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.