This guide shows the shortest path through the integration: authenticating a backend request, initiating a payment checkout, and creating a payment link.

1. Choose an environment

Use the local or staging base URL while building and testing.
https://sandbox-api.userivo.co/business/v1
Use the production base URL only when your integration has been approved.
https:business-api.userivo.co/business/v1

2. Authenticate your request

Protected API requests should be sent by your backend with Rivo-issued API keys. Send the API key in the Authorization header as a Bearer token.
Authorization: Bearer YOUR_API_KEY
Read Authentication before testing live calls.

3. Initiate a Payment Checkout

Use the Payments API to initiate a checkout session for your customers.
curl -X POST https://sandbox-api.userivo.co/business/v1/payments/initiate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50000,
    "currency": "NGN",
    "customer": {
      "email": "customer@example.com",
      "name": "John Doe"
    },
    "reference": "my_custom_ref_123",
    "redirectUrl": "https://example.com/payment-success"
  }'
Use the Payment Links API to dynamically create a reusable or one-off link to collect funds.
curl -X POST https://sandbox-api.userivo.co/business/v1/payment-links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Support Campaign",
    "description": "Link for campaign donations",
    "amount": 1000,
    "currency": "usdt",
    "type": "crypto",
    "expiresIn": 24
  }'

5. What to build next

After the payment checkout flow works, continue with:
  • Listening for webhooks to automatically fulfill orders when payments succeed.
  • Fetching and managing all Payment Links.

6. Handle errors

Check the HTTP status code and the JSON status field before using the response data.
{
  "status": "error",
  "message": "Unauthorized access",
  "data": null
}