Weav Docsv1

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/v1

Every 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.

Conventions

  • Requests and responses are JSON. Send Content-Type: application/json.
  • Field names are snake_case. Fixed values such as statuses are UPPER_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 as 31.25. You may send 1250, 1250.0 or 1250.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, message and data. data is always an object.
  • Decide on code or the HTTP status. Never parse message, 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.

  1. Sign in to the Weav dashboard and, under Developers, create a test API key (it starts with wv_test_) and a signing key.
  2. Set your webhook URL with PUT /v1/webhook-endpoint.
  3. 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.
  4. 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.
  5. Finish the payment on the test checkout page, then confirm your server received the signed webhook.
  6. When everything works, switch to a wv_live_ key.