Chapa
Sign InGet Started

Chapa API v2

Build fast
with Chapa

The next generation of Chapa's payment platform. Enhanced security, faster performance, more payment options, and multi-currency support — go from zero to accepting payments in under 10 minutes.

Get StartedAPI Reference

initialize_payment.js

const response = await fetch(
  "https://api.chapa.global/v2/payments/hosted",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer CHAPA_TEST_xxxxxxxxxxxxx",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      amount: 100, currency: "ETB",
      customer: { email: "abebe@chapa.co" },
    }),
  }
);
const data = await response.json();
// data.checkout_url — redirect customer here

Quick Start

Choose your integration path

REST APIs

Integrate directly with Chapa's REST API. Full control over your payment flow with JSON requests, webhooks, and real-time responses.

View Docs

JavaScript Libraries

Drop in our Inline.js or Popup library to add a seamless checkout experience to any web page with just a few lines of JavaScript.

View Docs

SDKs & Plugins

Use official SDKs for JavaScript, Python, Go, PHP, NestJS, Flutter, and Kotlin — or install one of our CMS and e-commerce plugins.

View Docs

Documentation

Everything you
need to know

From accepting payments and sending payouts to virtual accounts, direct charge, and fraud prevention — all documented in one place.

Developer using Chapa

Integrations

Code Samples

Copy-paste
ready examples

Go from zero to accepting payments in under 10 minutes. Real v2 API examples — initialize, verify, and handle webhooks with minimal code.

View Full Docs

initialize_payment.js

const response = await fetch(
  "https://api.chapa.global/v2/payments/hosted",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer CHAPA_TEST_xxxxxxxxxxxxx",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      amount: 500,
      currency: "ETB",
      customer: {
        first_name: "Abebe",
        last_name: "Bikila",
        email: "abebe@example.com",
        phone_number: "+251960000000",
      },
      meta: { order_id: "ORD-99887" },
    }),
  }
);

const data = await response.json();
// data.checkout_url — redirect customer here

verify_payment.js

const reference = "CHAPA123456789";

const response = await fetch(
  `https://api.chapa.global/v2/payments/${reference}/verify`,
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer CHAPA_TEST_xxxxxxxxxxxxx",
    },
  }
);

const { data } = await response.json();

if (data.status === "success") {
  // Payment confirmed — update order
} else {
  // Handle failed or pending payment
}

Resources

Everything to get you started

GitHub & SDKs

Explore open-source SDKs and plugins for JavaScript, Python, Go, PHP, Java, Ruby, .NET, and React Native.

View GitHub

API Playground

Test API calls directly in the browser without writing any code. Explore endpoints and inspect live responses.

Open Playground

Migration Guide

Step-by-step guide to upgrade from v1 to v2 with zero downtime. Covers breaking changes, new endpoints, and deprecations.

Read Guide

Status Page

Check real-time API status, uptime history, and incident reports. Subscribe to get notified of any disruptions.

Check Status

Ready to start?

Create your own account instantly, or contact our sales team to help you create a custom package tailored specifically for your business.

Chapa
Chapa is the leading online payment gateway that enables businesses in Ethiopia to accept digital payments from anyone and anywhere at any time.

Why Chapa