API Reference

Enibay API Documentation

Version 1.2

Choose the API documentation you want to view.

This page is prepared as the Enibay API documentation catalog. Seller API documentation is currently available, while the other categories are still being prepared and can be added later.

Last Updated 20 Mei 2026
Active Docs Seller API
Environment Sandbox

Catalog

API Categories

Select an API category. Badges indicate whether the category is available or still in development.

General API

General documentation for configuration, status, and public endpoints.

Coming Soon

Buyer API

Integration documentation for buyer needs and purchase flows.

Coming Soon

Seller API

Access seller profile, transactions, transaction updates, webhooks, settlements, and withdrawals.

Available

Security

Authentication

Enibay API uses API Key based authentication. Each account will receive an API Key and Secret Key that must remain confidential and should only be used by the account owner.

Header Required Description
Enibay-Api-Key Yes Used to identify the account accessing the API.
Enibay-Signature Yes Used as an additional security layer to validate the request payload.
Content-Type Yes Use application/json for all requests.

Security

Signature

The signature is generated using the HMAC SHA256 algorithm with the Secret Key. It verifies that the request data comes from a valid system and has not been modified during transmission.

Payload Example

{
  "ref_id": "TRX123",
  "product": "Mobile Legends 86 Diamonds"
}

PHP Example

$payload = json_encode($body);
$signature = hash_hmac("sha256", $payload, $secret_key);

Request

Request Format

All requests to the Enibay API must use JSON format.

Header Request

Content-Type: application/json
Enibay-Api-Key: {api_key}
Enibay-Signature: {signature}

Body Request

{
  "ref_id": "TRX123",
  "product": "Mobile Legends 86 Diamonds"
}

Response

Response Format

Every Enibay API response uses a consistent JSON format.

Structure

{
  "status": true,
  "message": "Request processed successfully",
  "data": {}
}

Field Description

Parameter Description
status Indicates whether the request succeeded or failed. Use true for success and false for failure.
message Description for the completed request.
data Response data as an object or array depending on the endpoint.

Seller API

API Seller

Enibay Seller API is an API service that helps sellers integrate their systems with the Enibay platform. This API allows sellers to access important data directly from their own systems without always using the dashboard manually.

Through this API, sellers can retrieve account information, view transaction lists, view transaction details, update transaction status, receive transaction webhooks, view settlement data, and view withdrawal data.

Environment

Base URL

This documentation uses the testing or sandbox environment for development and integration testing without affecting real transaction data.

Dashboard URL

https://seller-staging.enibay.com/login

Endpoint API URL

https://seller-staging.enibay.com/api/v1

Production

The production Base URL will be provided after the sandbox integration has been validated by the Enibay team.

POST

Profile Info

/profile-info

This API is used to retrieve seller account information such as username, store, email, phone, balance, and join date.

Body / Payload

{}

Response Success

{
  "status": true,
  "message": "Profile data retrieved successfully",
  "data": {
    "username": "enibay",
    "store": {
      "name": "Enibay",
      "link": "https://enibay.com/store/enibay"
    },
    "email": "info@enibay.com",
    "phone": "628123456789",
    "balance": 460.6,
    "join": "2026-02-27 10:06:19"
  }
}
POST

List Transaction

/transaction-list

This API is used to retrieve the transaction list. The response returns the 5 latest transactions.

Body / Payload

{}

Response Success

{
  "status": true,
  "message": "Order data retrieved successfully",
  "data": [
    {
      "ref_id": "ENREF_177805165054907C517F0611EA553",
      "price": 53,
      "product": [
        {
          "id": "228",
          "code": "VGCDISNEY50",
          "platform": "Disney+",
          "product": "50 USD",
          "price": 53,
          "quantity": 1,
          "type": "Voucher",
          "target": []
        }
      ],
      "status": "Processing",
      "date": "2026-05-06 07:14:10"
    }
  ]
}
POST

Detail Transaction

/transaction-detail

This API is used to retrieve transaction details based on ref_id.

Body / Payload

{
  "ref_id": "ENREF_177805165054907C517F0611EA553"
}

Response Success

{
  "status": true,
  "message": "Order data retrieved successfully",
  "data": {
    "ref_id": "ENREF_177805165054907C517F0611EA553",
    "price": 53,
    "product": [
      {
        "id": "228",
        "code": "VGCDISNEY50",
        "platform": "Disney+",
        "product": "50 USD",
        "price": 53,
        "quantity": 1,
        "type": "Voucher",
        "target": [],
        "cashback": 0,
        "settlement": false
      }
    ],
    "status": "Processing",
    "buyer": "Nei***iro",
    "date": "2026-05-06 07:14:10"
  }
}
POST

Update Transaction

/transaction-update

This API is used to update a transaction. Send qty_processed according to the quantity successfully processed.

Success

If the processed quantity equals the purchased quantity, the transaction status becomes Success.

Canceled

If the processed quantity is 0, the transaction status becomes Canceled.

Partial

If the processed quantity is lower than the purchased quantity, the transaction status becomes Partial.

Body / Payload

{
  "ref_id": "ENREF_17770797420640EEAAD33C1315E72",
  "product": [
    {
      "id": "127",
      "qty_processed": "0",
      "sn": [""]
    },
    {
      "id": "128",
      "qty_processed": "0",
      "sn": [""]
    }
  ]
}

Response Success

{
  "status": true,
  "message": "Order data updated successfully",
  "data": {}
}
POST

Transaction Webhook

Seller callback URL

Enibay will send transaction data in real time to the endpoint URL configured in the seller area settings. The system will automatically resend up to 3 times if the seller server returns a response other than HTTP 200.

Payload

{
  "ref_id": "ENREF_177805165054907C517F0611EA553",
  "product": [
    {
      "id": "228",
      "code": "VGCDISNEY50",
      "platform": "Disney+",
      "product": "50 USD",
      "price": 53,
      "quantity": 1,
      "type": "Voucher",
      "target": []
    }
  ]
}
POST

Settlement Data

/settlement

This API is used to retrieve settlement data. The page parameter is used to fetch data from a specific page. Each page displays 10 records.

Body / Payload

{
  "page": 1
}

Response Success

{
  "status": true,
  "message": "Settlement data retrieved successfully",
  "data": [
    {
      "ref_id": "ENREF_1776316523475FE31A8A799C1D2EF",
      "total": "19.02",
      "date": "2026-04-16 13:07:23"
    }
  ]
}
POST

Withdraw Data

/withdraw

This API is used to retrieve the withdrawal list. The page parameter is used to fetch data from a specific page. Each page displays 10 records.

Body / Payload

{
  "page": 1
}

Response Success

{
  "status": true,
  "message": "Withdraw data retrieved successfully",
  "data": [
    {
      "ref_id": "WD110001",
      "method": "Bank Transfer (BCA)",
      "account": {
        "name": "Enibay",
        "data": "08123456789"
      },
      "amount": 5,
      "status": "Pending",
      "note": "Waiting",
      "date": "2026-05-15 03:21:11"
    },
    {
      "ref_id": "WD110001",
      "method": "Bank Transfer (BCA)",
      "account": {
        "name": "Enibay",
        "data": "08123456789"
      },
      "amount": 1.03,
      "status": "Success",
      "note": "Waiting",
      "date": "2026-03-30 13:33:12"
    }
  ]
}