Overview
The PachaPay API lets a merchant accept payments (pay-in), send payouts, refund payments and read balances in Latin America. It is a JSON API over HTTPS. The MVP countries are Chile (CL), Colombia (CO), Ecuador (EC), Peru (PE), Mexico (MX) and Brazil (BR).
Base URL
Section titled “Base URL”https://api.pachapay.io/v1All requests use HTTPS and carry the secret key in the Authorization: Bearer header. See Authentication.
Test and live modes
Section titled “Test and live modes”The key decides the mode.
| Key prefix | Mode | What happens |
|---|---|---|
sk_test_ |
test | Separate test data. No money moves. Runs on a mock provider. |
sk_live_ |
live | Real payments and payouts. Works only after the merchant passes KYB. |
There is no separate sandbox for external developers yet. It will appear after the first merchant is onboarded. Until then, test keys work in test mode as described in Testing. See Going live.
Conventions
Section titled “Conventions”- Field names are
snake_case. Object ids are opaque strings with a prefix:pay_,pout_,ref_,dep_,whk_,evt_. - Money amounts are integers in minor units of the currency, and the currency is a separate field. CLP has 0 decimals, COP, PEN, MXN, BRL and USD have 2. Floats are never used.
- Timestamps are RFC 3339 in UTC.
nullmeans the value is known and absent. A missing field means it does not apply.- Every object has
objectandid. - Human-readable texts (
message, methodname) are in English.
{ "amount": 100000, "currency": "CLP" }Versions and compatibility
Section titled “Versions and compatibility”The major version is in the path (/v1).
These changes are not breaking and ship without a new version: new fields, new optional parameters, new enum values, new endpoints. Your client must ignore unknown fields and tolerate unknown enum values.
A breaking change ships as /v2. The old version stays available at least 12 months after deprecation is announced. Deprecated fields and endpoints are marked deprecated in the OpenAPI spec and carry the Deprecation and Sunset response headers. Changes are listed in the Changelog.
No SDKs are published yet. They are planned to be generated from the OpenAPI spec, TypeScript first. Until then, call the HTTP API directly, as in the Quickstart.
Where to go next
Section titled “Where to go next”- Quickstart: first payment and first webhook.
- Payments guide: statuses and
next_action. - API reference: every endpoint and schema, generated from the OpenAPI spec.