API Documentation

Dokumentasi endpoint NexPay Gateway.

Base URL

Semua endpoint QRIS menggunakan base URL ini.

Loading...

API Key

Semua endpoint API menggunakan header x-api-key.

Login untuk melihat API Key
POST

/api/qris/create

Membuat QRIS baru dari nominal pembayaran.

Headers

{
  "x-api-key": "NX_xxx",
  "Content-Type": "application/json"
}

Body

{
  "amount": 50000
}

Response

{
  "success": true,
  "transaction": {
    "invoice_id": "NEXPAY-028",
    "transaction_id": "TRX_928282",
    "amount": 50000,
    "status": "PENDING",
    "qr_url": "https://nexpay.nexsora.biz.id/qris/NEXPAY-028.png",
    "expired_at": "2026-05-07 12:00:00"
  }
}

Example cURL

curl -X POST /api/qris/create \
-H "x-api-key: NX_xxx" \
-H "Content-Type: application/json" \
-d '{
  "amount": 50000
}'
GET

/api/qris/status

Cek status QRIS berdasarkan invoice.

Headers

{
  "x-api-key": "NX_xxx"
}

Query

/api/qris/status?invoice_id=NEXPAY-028

Response

{
  "success": true,
  "transaction": {
    "invoice_id": "NEXPAY-028",
    "transaction_id": "TRX_928282",
    "amount": 50000,
    "status": "PAID"
  }
}

Example cURL

curl -X GET "/api/qris/status?invoice_id=NEXPAY-028" \
-H "x-api-key: NX_xxx"
POST

/api/qris/cancel

Membatalkan QRIS yang masih pending.

Headers

{
  "x-api-key": "NX_xxx",
  "Content-Type": "application/json"
}

Body

{
  "invoice_id": "NEXPAY-028"
}

Response

{
  "success": true,
  "message": "QRIS berhasil dibatalkan",
  "transaction": {
    "invoice_id": "NEXPAY-028",
    "status": "CANCEL"
  }
}

Example cURL

curl -X POST /api/qris/cancel \
-H "x-api-key: NX_xxx" \
-H "Content-Type: application/json" \
-d '{
  "invoice_id": "NEXPAY-028"
}'