API Docs

Build with
CampzePay.

Create an account, generate a vendor API key, then use the SDK for custom platforms or the WordPress plugin for vendor websites. One API for listings, bookings, payments, payouts, compliance, and check-in.

10 modulesREST + SDKSigned webhooksSandbox available
terminal
ready
$ npm install @campzepay/sdk

import { CampzePay } from "@campzepay/sdk";

const pay = new CampzePay({
  apiKey: process.env.CAMPZEPAY_API_KEY,
  environment: "production",
});

const booking = await pay.bookings.create({
  listing: "krueger-2026",
  customer: "parent@example.com",
  amount: 1850_00,
  currency: "ZAR",
});

Quick start

Create a listing and reserve a booking.

Create a listing
const listing = await pay.listings.create({
  title: "Drakensberg Leadership Camp",
  type: "accommodation",
  price: 1350,
  capacity: 50,
  hostId: "vendor_abc123",
});
Reserve a booking
const booking = await pay.merchant.reserveBooking({
  listing_id: listing.id,
  student_pax: 20,
  adult_pax: 5,
  start_date: "2027-03-15",
  end_date: "2027-03-18",
});

Distribution

Choose your integration path.

npm SDK

Node, React, serverless. Generate an API key in Developer settings, then install the SDK.

npm install @campzepay/sdk
WordPress plugin

For vendor sites that need listing embeds, quote requests, and checkout buttons.

[campzepay_listings limit="6"]
Merchant API

Server-side vendor keys for bookings, checkout, payouts, and webhooks.

Authorization: Bearer cpv_live_...

npm SDK

Install CampzePay in any JavaScript app.

Install
# 1. Create account: https://app.pay.campze.com
# 2. Generate a vendor API key in Developer settings
# 3. Install the SDK

npm install @campzepay/sdk

# or
pnpm add @campzepay/sdk
yarn add @campzepay/sdk
Initialize
import { CampzePay } from "@campzepay/sdk";

const pay = new CampzePay({
  apiKey: process.env.CAMPZEPAY_API_KEY,
  baseUrl: "https://app.pay.campze.com/api",
  environment: "production", // or "sandbox"
});

WordPress plugin

Add CampzePay to a vendor website.

Install and configure
1. Create account at https://app.pay.campze.com.
2. Generate a vendor API key in Developer settings.
3. Download the plugin:
   (set VITE_WORDPRESS_DOWNLOAD in .env)
4. Upload the zip in WordPress Admin > Plugins > Add New.
5. Activate CampzePay.
6. Open Settings > CampzePay.
7. Add your vendor API key and webhook secret.
8. Confirm API base URL: https://app.pay.campze.com/api.
9. Need help? support@campze.com.
Shortcodes
[campzepay_listings limit="6" type="accommodation"]

[campzepay_quote_button listing_id="listing_123"]

[campzepay_checkout_button listing_id="listing_123"]
Best for vendor sites

Use WordPress when a lodge, camp, transport provider, caterer, or equipment-hire company needs a fast website integration.

Settings > CampzePay
Webhook ready

The plugin receives signed CampzePay events so WordPress can sync reservations, payments, and quote status.

/wp-json/campzepay/v1/webhook

Modules

One SDK, the full youth experience stack.

pay.listings

Accommodation, experiences, transportation, catering, services, and equipment hire.

pay.merchant

Vendor listings, reservations, quote requests, checkout, and webhooks.

pay.express

Email-first checkout with OTP, deposits, bank transfer, and balance payments.

pay.payments

Charges, refunds, wallets, multi-rail routing, and BNPL/LNPL flows.

pay.payouts

Vendor settlement, schedules, and bank account verification.

pay.compliance

Vendor verification, insurance, certificates, audit state, and booking gates.

pay.consent

Digital consent forms, signatures, medical vault, and parent records.

pay.checkin

QR check-in, attendance, emergency access, and trip day operations.

pay.agent

Per-tenant AI agent for recovery, follow-ups, and parent replies.

pay.ai

Listing imports, site generation, compliance analysis, and social content.

Express checkout

Email-first checkout for parents and schools.

OTP checkout
await pay.express.requestCode("parent@example.com");

const { checkoutToken } = await pay.express.verifyCode(
  "parent@example.com",
  "4821"
);

await pay.express.createOtpSession(checkoutToken, {
  listing_id: "listing_123",
  items: [{ ticket_id: "ticket_abc", quantity: 2 }],
});

Deposits

20% deposits for eligible individual bookings, with balance payments before the trip.

Compliance gate

Vendor compliance can block bookings until required checks are cleared.

Bank transfer

Direct-to-vendor bank transfer where vendor payment settings allow it.

Webhooks

Listen for booking and settlement events.

Verify a signed event
const event = pay.webhooks.constructEvent({
  payload: rawBody,
  signature: request.headers["x-campze-signature"],
  secret: process.env.CAMPZEPAY_WEBHOOK_SECRET,
});

if (event.type === "booking.confirmed") {
  // unlock access, send confirmation, sync CRM
}
Common events

booking.confirmed, booking.reserved, booking.cancelled, payment.failed, vendor.compliant, settlement.paid

X-Campze-Signature: sha256=...