Guides / Get started
Introduction
The Weav API lets your server accept payments through QR Ph, GCash, Maya, cards and over-the-counter partners, check your balance, and follow your withdrawals. You integrate once, and Weav handles each provider behind the scenes.
Base URL
Base URL
https://api.weavpayments.com/v1Every request goes to api.weavpayments.com over HTTPS. Live and test keys use the same base URL. Questions go to support@weavpayments.com.
OpenAPI, Postman and AI tools
The whole API is described in an OpenAPI 3.1 file. Import it into Postman (Import → Link), Insomnia, Swagger UI or a code generator to get every endpoint, field and example.
- openapi.yaml or openapi.json
- For AI assistants and coding agents: llms.txt (a short index) and llms-full.txt (the full reference as Markdown). Point your assistant at either link.
Conventions
- Requests and responses are JSON. Send
Content-Type: application/json. - Field names are
snake_case. Fixed values such as statuses areUPPER_SNAKE_CASE. - Money is a JSON number in pesos, with up to two decimal places. Weav writes whole amounts with one decimal, such as
1250.0, and others as they are, such as31.25. You may send1250,1250.0or1250.00. Never a string, and never formatted. - Dates and times are ISO 8601 with the Manila offset, such as
2026-10-26T10:12:00+08:00. - Every field is always present. An empty value is
null(or[]or{}for a list or an object), never left out. - Every successful response has
code,success,messageanddata.datais always an object. - Decide on
codeor the HTTP status. Never parsemessage, because its wording can change.
Response envelope
JSON
{
"code": "2000000",
"success": true,
"message": "OK",
"data": {
"payment": {
"reference_id": "PY7K3Q9M2X4TBA",
"status": "COMPLETED"
}
}
}Quick start
If you’re new to Weav, Core concepts shows what each part of the API is for and how they connect. How payments work shows who does what, with a diagram for each kind of channel.
- Sign in to the Weav dashboard and, under Developers, create a test API key (it starts with
wv_test_) and a signing key. - Set your webhook URL with PUT /v1/webhook-endpoint.
- The quickest way: create a checkout with POST /v1/checkouts and send your customer to its
checkout_url. They choose how to pay on Weav’s page. For full control, create a payment on one channel with POST /v1/payments instead. - Pay it as your customer would. With a payment of your own, show the QR code, send them to the checkout URL, or give them the payment code.
- Finish the payment on the test checkout page, then confirm your server received the signed webhook.
- When everything works, switch to a
wv_live_key.