Quick question? Chat with us
RibiRewards
Pricing
Talk to sales →
EgyptEthiopiaGhanaKenyaMoroccoNigeriaSenegalSouth AfricaTanzaniaUgandaEgyptEthiopiaGhanaKenyaMoroccoNigeriaSenegalSouth AfricaTanzaniaUgandaEgyptEthiopiaGhanaKenyaMoroccoNigeriaSenegalSouth AfricaTanzaniaUgandaEgyptEthiopiaGhanaKenyaMoroccoNigeriaSenegalSouth AfricaTanzaniaUganda
RibiRewards

The reward infrastructure for Africa — rewards, benefits, recognition and payouts on one platform across 14 markets.

RewardsCard BenefitsCard Payout API

Rewards

  • RewardsCard
  • Physical cards
  • Digital cards
  • Brand catalogue
  • Recognition (soon)

Benefits

  • BenefitsCard
  • Health & Wellness
  • Meal & Food
  • Transport & Commute
  • Learning & Dev
  • Family & Lifestyle

Payout API

  • Overview
  • FMCG & Brands
  • Channel Incentives
  • Banks & Fintechs
  • Insurance
  • API Docs
  • Playbook

Company

  • About Us
  • Pricing
  • Customers
  • Coverage
  • South Africa
  • Security
  • Press
  • Our Journey

Resources

  • Blog
  • HR Insights
  • Payout Playbook
  • How it works
  • API Documentation
  • Integration Guide
  • FAQs
© 2026 RibiRewards. All rights reserved.
Privacy PolicyTerms of ServiceSecurity
hello@ribirewards.comPhotography: Unsplash · Pexels · Pixabay
INTEGRATION GUIDE

Two ways to integrate.
Pick what fits your stack.

Connect payroll data with Deel Local Payroll (formerly PaySpace) for automatic employee sync, or integrate directly with our REST API for full programmatic control.

Full API ReferenceSandbox Docs

HR platform integration

Connect Deel Local Payroll, formerly PaySpace

If your team already runs payroll on Deel Local Payroll, this is the fastest path to live. No manual employee list, no CSV upload, no custom integration work on your side.

1

Connect Deel Local Payroll

Authorise the connection from your RibiRewards dashboard. No custom development, no CSV to prepare.

2

Employees sync automatically

Names, dates of birth, work start dates, and addresses sync from your payroll data, ready to use for rewards.

3

See upcoming milestones

Your dashboard shows upcoming birthdays and work anniversaries the moment your team syncs, no manual tracking.

4

Fund your wallet, start sending

Once synced, fund your wallet and send rewards straight from the milestone list. No separate spreadsheet to manage.

No custom development requiredEmployee data stays accurate as payroll changesWorks alongside our API for anything payroll does not cover
Talk to us about connecting Deel Local Payroll

Direct API integration

Prefer to build it yourself? Use the API directly.

Full programmatic control over sending rewards, tracking status, and handling events. Works with any language or framework.

STEP 01

Get your API key

Sign up and navigate to Settings, then API Keys, in your dashboard. Generate a key for the sandbox environment to start.

// Your API key
const RIBI_API_KEY = 'sk_live_your_key_here';
STEP 02

Make your first API call

Install the SDK or use plain HTTP. Send a reward to a test recipient to verify your setup.

const response = await fetch(
  'https://api.ribirewards.com/v1/rewards',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${RIBI_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      recipient: 'amaka@company.ng',
      type: 'choice_card',
      amount: 10000,
      currency: 'NGN'
    })
  }
);
STEP 03

Configure webhooks

Add your endpoint URL in the dashboard and subscribe to events. Every reward lifecycle event will POST to your URL.

// Your webhook handler
app.post('/ribi-webhook', (req, res) => {
  const { event, data } = req.body;

  if (event === 'reward.redeemed') {
    await db.rewards.update(data.reward_id, {
      status: 'redeemed',
      redeemedAt: data.redeemed_at
    });
  }

  res.status(200).send('OK');
});
STEP 04

Go live

Switch from sandbox to production keys. Update your base URL. Rewards are now flowing for real.

// Switch to production
const ribi = new RibiRewards({
  apiKey: process.env.RIBI_LIVE_KEY,
  // baseUrl defaults to production
});

Stuck on integration?

Our developer support team responds within 4 hours on business days.

Contact Developer Support →