canonical: https://jentic.com/apis/qris.id/qris-id

# Qris Id QRIS Indonesian Payment API

QRIS provides Indonesian QR code-based payment processing. The API allows creating and checking invoice statuses for QR payments. The API exposes 2 endpoints secured with apiKey authentication.

## For AI agents

Programmatically create qris invoice, check invoice payment status. Covers 2 operations with apiKey authentication.

## Scope

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

## Capabilities

- Create QRIS invoice
- Check invoice payment status
- Access QRIS Indonesian Payment API payments resources via REST API

## Use cases

### Payments Operations

Use the QRIS Indonesian Payment API to perform payments operations programmatically. The API provides 2 endpoints covering core functionality including create qris invoice, check invoice payment status.

Example prompt: Call POST /show_qris.php to create qris invoice

### Data Retrieval and Monitoring

Query QRIS Indonesian Payment API endpoints to retrieve structured data for monitoring, reporting, or downstream processing. The API returns JSON responses that agents can parse directly, enabling automated data collection workflows.

Example prompt: Query the QRIS Indonesian Payment API API to retrieve current data and verify the response structure

### AI Agent Integration via Jentic

AI agents discover and call QRIS Indonesian Payment 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 qris invoice', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/show_qris.php` | Create QRIS invoice |
| POST | `/checkpaid_qris.php` | Check invoice payment status |

## Key resources

- **Invoices** — Operations related to Invoices

## 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:** 48 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 44 / 100
  - Agent Usability: 94 / 100
  - Security: 15 / 100
  - AI Discoverability: 100 / 100
- **View full report:** https://jentic.com/apis/qris.id/qris-id/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 the QRIS Indonesian Payment API by hand means appending its apikey query parameter to each call to qris.interactive.co.id and handling the PHP endpoint responses yourself. Through Jentic you install once, import the QRIS Indonesian Payment API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** The QRIS Indonesian Payment API works through operations like show_qris and checkpaid_qris rather than a resource id in the path, so scope by operations: limit the agent to the operations it needs, such as showing a QRIS payment. You choose which operations are in that set, and the agent can call only those.
- **Credential handling:** Your QRIS API 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 QRIS payment' or 'check whether a payment is paid', and Jentic returns the matching QRIS 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 QRIS Indonesian Payment API use?

The QRIS Indonesian Payment API uses an API key passed in the `apikey` 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 qris invoice with the QRIS Indonesian Payment API?

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

### What are the rate limits for the QRIS Indonesian Payment 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 qris invoice through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'create qris invoice'. Jentic returns the matching QRIS Indonesian Payment API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the QRIS Indonesian Payment API have?

The QRIS Indonesian Payment API exposes 2 endpoints covering invoices operations.

### Can I limit what my agent is allowed to do with the QRIS Indonesian Payment API?

Yes. Because you run Jentic One yourself, your own rules decide which QRIS operations and credentials the agent may use. The QRIS Indonesian Payment API is scoped by operation rather than by a resource id in the path, so you can allow only the calls the agent needs, such as creating a QRIS invoice with show_qris while withholding checkpaid_qris, or the reverse. The agent can call only the operations you place in that set, and your stored API key is injected at execution time rather than exposed to the agent.
