canonical: https://jentic.com/apis/zalopay.vn/zalopay-vn

# Zalopay Vn ZaloPay API

ZaloPay payment gateway API enabling merchants to create payment orders, process refunds, query order status, manage tokenization, and handle disbursements. Supports multiple payment channels in Vietnam. The API exposes 4 endpoints secured with apiKey authentication.

## For AI agents

Programmatically create a new payment order, query order status. Covers 4 operations with apiKey authentication.

## Scope

Does not handle communications, crm, or developer tools - use for payments only.

## Capabilities

- Create a new payment order
- Query order status
- Integrate ZaloPay API into automated workflows
- Query and filter ZaloPay API records by parameters
- Monitor ZaloPay API operational status and events

## Use cases

### Payments Operations

Use the ZaloPay API to perform payments operations programmatically. The API provides 4 endpoints covering core functionality including create a new payment order, query order status, create a refund.

Example prompt: Call POST /create to create a new payment order

### Automated Orders Management

Automate orders operations by combining multiple ZaloPay API endpoints. Agents can query order status and then create a refund in a single workflow.

Example prompt: Call POST /query to query order status, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call ZaloPay API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey tokens manually.

Example prompt: Search Jentic for 'create a new payment order', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/create` | Create a new payment order |
| POST | `/query` | Query order status |
| POST | `/refund` | Create a refund |
| POST | `/query_refund` | Query refund status |

## Key resources

- **Orders** — Operations related to Orders
- **Refunds** — Operations related to Refunds

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 49 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 51 / 100
  - Agent Usability: 94 / 100
  - Security: 15 / 100
  - AI Discoverability: 100 / 100
- **View full report:** https://jentic.com/apis/zalopay.vn/zalopay-vn/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring ZaloPay by hand means computing its HMAC signature over each request, passing the mac in the query string, and matching the openapi.zalopay.vn/v2 host yourself. Through Jentic you install once, import ZaloPay from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** ZaloPay carries the order details in the request body rather than the URL path, so limit the agent to the operations it needs, such as creating an order or querying its status. You leave out refund and refund-query operations unless the agent is meant to issue money back.
- **Credential handling:** Your ZaloPay key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a payment order' or 'check refund status', and Jentic returns the matching ZaloPay operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Alternative payments API
- **Adyen** — Alternative payments API
- **Square** — Complementary payments API
- **Paypal** — Complementary payments API

## FAQ

### What authentication does the ZaloPay API use?

The ZaloPay API uses an API key passed in the `mac` query. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I create a new payment order with the ZaloPay API?

Yes. Use the POST /create endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the ZaloPay API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I create a new payment order through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'create a new payment order'. Jentic returns the matching ZaloPay API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the ZaloPay API have?

The ZaloPay API exposes 4 endpoints covering orders, refunds operations.

### Can I limit what my agent is allowed to do with the ZaloPay API?

Yes. Because you run Jentic One yourself, your own rules decide which ZaloPay operations and credentials the agent may use. You can allow it to create payment orders with POST /create and check status with POST /query while leaving out the refund and refund-query operations, so it cannot issue money back unless you explicitly permit it. Your ZaloPay key is stored encrypted in your own instance and injected only for the calls you allow.
