Error Codes

semua error code yang mungkin dikembalikan Qrisy API.

Error Response Format

{
  "status": 404,
  "error": {
    "code": "TRANSACTION_NOT_FOUND",
    "message": "Transaction not found",
    "details": null
  }
}

Code Reference

CodeHTTP StatusDescription
INVALID_CREDENTIALS401Email atau password salah
TOKEN_INVALID401JWT atau API key tidak valid
TOKEN_EXPIRED401Access token expired — refresh diperlukan
ACCOUNT_DISABLED403Akun dinonaktifkan
EMAIL_ALREADY_USED409Email sudah terdaftar
API_KEY_REVOKED401API key sudah di-revoke
API_KEY_SCOPE_INSUFFICIENT403API key tidak punya scope yang diperlukan
QRIS_INVALID_FORMAT400QRIS string tidak valid
QRIS_DUPLICATE409QRIS string sudah ada
QRIS_MERCHANT_NOT_FOUND404QRIS merchant tidak ditemukan
TRANSACTION_NOT_FOUND404Transaksi tidak ditemukan
TRANSACTION_NOT_CANCELABLE409Transaksi tidak dalam status pending
TOO_MANY_PENDING_TRANSACTIONS429Limit concurrent pending tercapai
FREE_TIER_EXHAUSTED403Free tier limit tercapai
WEBHOOK_SIGNATURE_INVALID401Webhook signature tidak valid
WEBHOOK_ENDPOINT_NOT_FOUND404Webhook endpoint tidak ditemukan
WEBHOOK_EVENT_NOT_FOUND404Webhook event tidak ditemukan
PAYMENT_PAGE_NOT_FOUND404Payment page tidak ditemukan
VALIDATION_ERROR422Request body/query tidak valid (Zod)
RATE_LIMITED429Rate limit exceeded
INTERNAL_ERROR500Internal server error

Handling Errors

Node.js

import { QrisyError } from '@qrisy/node';

try {
  await qrisy.checkStatus('txn_missing');
} catch (err) {
  if (err instanceof QrisyError) {
    console.log(err.code);   // TRANSACTION_NOT_FOUND
    console.log(err.status); // 404
    console.log(err.message);// Transaction not found
  }
}

Python

from qrisy import QrisyError

try:
    qrisy.check_status("txn_missing")
except QrisyError as e:
    print(e.code)    # TRANSACTION_NOT_FOUND
    print(e.status)  # 404
    print(e.message) # Transaction not found

PHP

use Qrisy\Exception\QrisyException;

try {
    $qrisy->checkStatus('txn_missing');
} catch (QrisyException $e) {
    echo $e->errorCode; // TRANSACTION_NOT_FOUND
    echo $e->getCode(); // 404
    echo $e->getMessage(); // Transaction not found
}