Preparing your experience
Preparing your experience
CHAPA DEVELOPER DOCUMENTATION
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.
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: "USD", customer: { email: "abebe.bikila@chapa.co" }, }), } ); const data = await response.json(); // data.checkout_url — redirect customer here
Quick Start
Integrate directly with Chapa's REST API. Full control over your payment flow with JSON requests, webhooks, and real-time responses.
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.
Use official SDKs for JavaScript, Python, Go, PHP, NestJS, Flutter, and Kotlin — or install one of our CMS and e-commerce plugins.
Documentation
From accepting payments and sending payouts to virtual accounts, direct charge, and fraud prevention — all documented in one place.

Supported Languages
JavaScript
@chapa/javascript
View on GitHub →
Python
chapa-python
View on GitHub →
Go
github.com/chapa-et/chapa-go
View on GitHub →
Laravel / PHP
@chapa/php-sdk
View on GitHub →
NestJS
@chapa/nestjs
View on GitHub →
Flutter
chapa_flutter
View on GitHub →
Kotlin
io.chapa:kotlin-sdk
View on GitHub →
Chapa CLI
@chapa/cli
View on GitHub →
Code Samples
Go from zero to accepting payments in under 10 minutes. Real v2 API examples — initialize, verify, and handle webhooks with minimal code.
View Full Docsinitialize_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: "USD", customer: { first_name: "Abebe", last_name: "Bikila", email: "abebe.bikila@chapa.co", 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
Explore open-source SDKs and plugins for JavaScript, Python, Go, PHP, Java, Ruby, .NET, and React Native.
Test API calls directly in the browser without writing any code. Explore endpoints and inspect live responses.
Step-by-step guide to upgrade from v1 to v2 with zero downtime. Covers breaking changes, new endpoints, and deprecations.
Check real-time API status, uptime history, and incident reports. Subscribe to get notified of any disruptions.
Create your own account instantly, or contact our sales team to help you create a custom package tailored specifically for your business.