Authentication

Learn how to authenticate your API requests to HivePay.


API Keys

HivePay uses API keys to authenticate requests. Your API key is generated during merchant registration and grants access to:

  • Create and manage payment sessions
  • View payment history and details
  • Update merchant settings
  • Configure webhooks

Using Your API Key

Include your API key in the Authorization header of every API request:

import { HivePay } from '@hivepay/client';

const hivepay = new HivePay({
  apiKey: 'sk_live_xxxxxxxxxxxxx'
});

// All subsequent requests are authenticated
const payment = await hivepay.payments.create({
  amount: '10000',
  currency: 'HIVE',
  description: 'Order #123'
});
curl https://hivepay.me/api/public/payments \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxx"
const response = await fetch('https://hivepay.me/api/public/payments', {
  headers: {
    'Authorization': 'Bearer sk_live_xxxxxxxxxxxxx',
    'Content-Type': 'application/json'
  }
});

API Key Format

HivePay API keys follow this format:

sk_live_xxxxxxxxxxxxx
  • sk_ - Indicates a secret key
  • live_ - Environment identifier
  • xxxxxxxxxxxxx - Unique identifier

Security Best Practices

Do

  • Store API keys in environment variables, not in code
  • Use secrets management systems in production
  • Rotate keys if you suspect they've been compromised
  • Use separate keys for development and production (when available)

Don't

  • Commit API keys to version control
  • Share API keys in public forums or code snippets
  • Include API keys in client-side JavaScript
  • Log API keys or include them in error messages

Environment Variables

Store your API key in environment variables:

// .env file
HIVEPAY_API_KEY=sk_live_xxxxxxxxxxxxx

// Application code
import { HivePay } from '@hivepay/client';

const hivepay = new HivePay({
  apiKey: process.env.HIVEPAY_API_KEY
});
export HIVEPAY_API_KEY=sk_live_xxxxxxxxxxxxx

Lost API Key

If you lose your API key, you cannot retrieve it. Contact support to:

  1. Deactivate your existing key
  2. Generate a new API key

Authentication Errors

Status Code Error Code Description
401 AUTHENTICATION_ERROR Missing or invalid API key
403 FORBIDDEN_ERROR Valid key but insufficient permissions
import { isHivePayError } from '@hivepay/client';

try {
  await hivepay.payments.create({ ... });
} catch (error) {
  if (isHivePayError(error) && error.isAuthError()) {
    console.error('Invalid or missing API key');
  }
}