Developers

8B Global Partner API

A REST API for travel platforms and partners to create USD payments and onboard sellers. Payment processing is provided by Stripe and other regulated payment partners, and funds are held at regulated U.S. financial institutions.

Overview

  • REST API over HTTPS with JSON requests and responses. Production base URL: https://api.8bglobal.com.
  • Versioned paths (for example /v1/charges).
  • Authentication with a partner API key issued by 8B Global after review, sent as Authorization: Bearer <your-key>. Keep your key on your server and never expose it in a browser or app.
  • Partner API keys are not Stripe keys. Partners never receive the platform’s Stripe secret keys.
  • All amounts are in U.S. dollars, expressed in cents (for example 125000 = $1,250.00).

Sandbox and live

Sandbox
A separate environment with its own base URL and sandbox keys, provided when your access is approved. It uses Stripe test mode: no real money moves, and objects are returned with "livemode": false.
Live
Production at https://api.8bglobal.com, enabled after your integration is certified and your seller onboarding is complete. Objects are returned with "livemode": true.

Main resources

Charges
POST /v1/charges creates a USD payment for a booking. The response includes a client_secret that your page passes to Stripe.js so the customer can pay with Stripe. GET /v1/charges/{id} returns the current status.
Connected accounts
POST /v1/connected-accounts creates a seller account and returns a Stripe-hosted onboarding link. POST /v1/connected-accounts/{id}/account-links issues a new link when the previous one expires.
Health
GET /health reports service availability.

Idempotency

  • Every POST that creates an object requires an Idempotency-Key header (1 to 255 characters: letters, digits, dot, underscore, colon or hyphen).
  • Repeating a request with the same key and the same body returns the original result, marked with the Idempotent-Replayed response header. No duplicate payment is created.
  • Reusing a key with a different body returns 409 Conflict.
  • Use one key per business operation, for example booking-BK-10000-payment-1.

Webhooks

  • Payment events from Stripe are received by the 8B Global platform, verified with the Stripe-Signature header and processed once, even if Stripe delivers the same event more than once.
  • Charge status is updated from these events. If an event has not arrived yet, GET /v1/charges/{id} refreshes the status from Stripe.

Errors and limits

Standard HTTP status codes: 400 invalid request, 401 missing or invalid key, 404 not found, 409 idempotency conflict, 429 rate limit reached, 502 payment partner temporarily unavailable. Every response carries an X-Request-Id header to quote when you contact support.

Security

  • Card numbers, security codes and bank account numbers are rejected by the API. Customers enter payment details only in Stripe’s payment forms.
  • Use HTTPS only and rotate your key if you believe it was exposed.

Example: create a USD charge

curl https://api.8bglobal.com/v1/charges \
  -H "Authorization: Bearer $EIGHTB_API_KEY" \
  -H "Idempotency-Key: booking-BK-10000-payment-1" \
  -H "Content-Type: application/json" \
  -d '{"amount": 125000, "currency": "usd", "description": "Booking BK-10000", "metadata": {"booking_id": "BK-10000"}}'

$EIGHTB_API_KEY is an environment variable on your server that holds the key issued to you. Never paste a real key into code you share.

How to get API access

  1. Contact us through the form on this site and describe your business and use case.
  2. After review, we share the full API reference (OpenAPI) and sandbox keys.
  3. You build and test in the sandbox, then complete certification with our team.
  4. Live keys are issued after certification and seller onboarding with Stripe.

8B Global Pay, LLC is a technology company. Payment processing is provided by Stripe and other regulated payment partners, and funds are held at regulated U.S. financial institutions.

Contact 8B Global