Get started

Quickstart

Get started with CamelPay in under 5 minutes. Create an account, verify your phone, and make your first API call.

1. Create your account

Register as a developer on the CamelPay platform. A password is required — it's used for dashboard login.

curl -X POST https://api.camelpay.in/v1/students/register \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+255700000000",
    "password": "a-strong-password-8-chars-min",
    "first_name": "Your",
    "last_name": "Name",
    "email": "developer@example.com"
  }'

2. Verify your phone

Request an OTP to verify your phone number:

bash
curl -X POST https://api.camelpay.in/v1/students/auth/otp/request \
  -H "Content-Type: application/json" \
  -d '{"phone": "+255700000000"}'

Verify the OTP and get your JWT token — this is the simplest way to get a session token. (You can also log in later with your email/phone + password; that flow additionally requires a one-time code emailed to you. See Authentication.)

bash
curl -X POST https://api.camelpay.in/v1/students/auth/otp/verify \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+255700000000",
    "code": "123456"
  }'

3. Create an API key

First create a developer app, then generate an API key with the scopes you need. See API Keys for details.

4. Create a payment page with your key

This is the actual entry point for programmatic integrations — your API key creates the checkout link your customers pay:

bash
curl -X POST https://api.camelpay.in/v1/payment-pages \
  -H "X-API-Key: cp_test_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "product",
    "title": "Campus Delivery Order #482",
    "amount": 2000
  }'
Requires the pages:write scope on your key, and your account must be KYC-verified before you can create money-collecting pages — see Account Management.

Send the customer to the returned slug — checkout itself needs no API key at all, since it's the customer paying, not you:

bash
curl -X POST https://api.camelpay.in/v1/payments/checkout \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "campus-delivery-order-482-x7k2p",
    "phone_number": "+255712345678",
    "customer_name": "John Doe",
    "customer_email": "john@example.com",
    "idempotency_key": "order_12345_67890"
  }'
Save your JWT token from step 2. You need it to create developer apps, generate API keys, and register a webhook.