Quickstart
Send your first reward in about five minutes.
Create an account and API key
Sign up for a merchant
account, then go to Developers → Create key. Give the key read and
write scopes and copy the secret — it's shown once.
export REWARDLY_KEY="rk_live_..."Fund your wallet
Rewards draw from your prepaid wallet. Top up from the dashboard (Wallet → Add funds) or via the API:
curl -X POST https://paybilt-rewards-api.fly.dev/v1/topups \
-H "Authorization: Bearer $REWARDLY_KEY" \
-H "Content-Type: application/json" \
-d '{"amountCents": 10000}'With Stripe payments enabled the response includes a checkoutUrl to finish
payment; the wallet is credited when checkout completes.
Send a reward
Send a $50 choice reward — the recipient picks any mix of gift cards adding up to $50:
curl -X POST https://paybilt-rewards-api.fly.dev/v1/rewards \
-H "Authorization: Bearer $REWARDLY_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042-reward" \
-d '{
"type": "CHOICE",
"valueCents": 5000,
"recipient": { "email": "casey@example.com", "firstName": "Casey" },
"message": "Thanks for being an awesome customer!"
}'The response includes the reward and its redemptionUrl. Casey also gets a
branded email with the same link.
{
"reward": {
"id": "rw_...",
"type": "CHOICE",
"status": "SENT",
"valueCents": 5000,
"remainingValueCents": 5000
},
"redemptionUrl": "https://paybilt-rewards-redeem.fly.dev/r/..."
}Track it
Poll GET /v1/rewards/:id or
subscribe to webhooks for reward.opened,
reward.redeemed, and card.issued events.
Next steps
- Fixed vs choice rewards — pick the right type
- Webhooks — react to redemptions in real time
- Build your own dashboard — the full API surface