Synnzone - Top Up Game Cheapest and Reliable in Malaysia

SynnMLBB Logo

Register SynnStore Now!

Exclusive features for registered users
Easy access to order history
Faster and more secure experience
Account
LoginRegister
© 2024 SynnMLBB. All rights reserved.
SynnMLBB Logo

Webhook URL

This section details how the system sends transaction status updates to your pre-configured Webhook URL. To configure your webhook URL, navigate to Settings > API Settings in your reseller panel.

Endpoint Details

URL: [Your Configured Webhook URL]

Method: POST

Data Payload Sent

When a transaction event occurs, the system will make a POST request to your webhook URL with the following JSON data in the request body:

{
  "invoice": "#SYNNXXXXXXXXXX",
  "product": "Product name - Product type",
  "price": "The price of your product",
  "status": "Status transaction",
  "processed_at": "The time when the transaction was processed",
  "message": "xxxx"
}

Field Descriptions

  • invoice: The unique identifier for the transaction.
  • product: Name and type of the product involved in the transaction.
  • price: The price of the product for this transaction.
  • status: The current status of the transaction (e.g., "Success", "Failed", "Pending").
  • processed_at: Timestamp indicating when the transaction was processed.
  • message: Any additional message or notes related to the transaction status.

Important Notes

  • Ensure your webhook endpoint is publicly accessible and can accept POST requests.
  • Your endpoint should respond with a 2xx HTTP status code (e.g., 200 OK) to acknowledge receipt of the webhook.
  • It's recommended to process the webhook data asynchronously to avoid timeouts.
  • Consider implementing security measures, such as verifying a signature or checking the source IP.

Authentication

All API requests must be authenticated. This is done by providing your unique API key in the request headers.

API Key Usage

Include your API key in the Authorizationheader using the Bearer token scheme.

Authorization: Bearer <YOUR_API_KEY>

Obtaining Your API Key

You can find or generate your API key in the Settings > API Settings section of your reseller panel. Keep your API key confidential and secure. Do not share it publicly.

Check Balance

Retrieve your current account balance.

Endpoint Details

URL: /v1/balance

Method: GET

Authentication:Required

Success Response (200 OK)

A successful request returns your account balance details.

{
  "currency": "MYR",
  "available_balance": 1234.56,
  "pending_balance": 0,
  "last_updated": "2025-05-27T10:30:00Z"
}

Field Descriptions

  • currency: The currency of your account balance (e.g., "MYR", "IDR").
  • available_balance: The amount currently available for use.
  • pending_balance: Any balance that is currently pending or uncleared.
  • last_updated: ISO 8601 timestamp of when the balance was last updated.

List Products

Retrieve a list of available products for top-up.

Endpoint Details

URL: /v1/products

Method: GET

Authentication:Required

Query Parameters (Optional)

  • category: Filter by product category (e.g., mlbb,pubgm).
  • region: Filter by region code (e.g., MY,GLOBAL).
  • page: For pagination, page number. Defaults to 1.
  • limit: For pagination, items per page. Defaults to 20.

Success Response (200 OK)

Returns a paginated list of products.

{
  "data": [
    {
      "product_id": "MLBB_DIAMONDS_100",
      "name": "Mobile Legends 100 Diamonds",
      "category": "mlbb",
      "region": "GLOBAL",
      "price": 10.5,
      "currency": "MYR"
    },
    {
      "product_id": "PUBGM_UC_600",
      "name": "PUBG Mobile 600 UC",
      "category": "pubgm",
      "region": "MY",
      "price": 45,
      "currency": "MYR"
    }
  ],
  "pagination": {
    "total_items": 50,
    "total_pages": 3,
    "current_page": 1,
    "limit": 20
  }
}

Get Product Details

Retrieve detailed information for a specific product.

Endpoint Details

URL: /v1/products/{product_id}

Method: GET

Authentication:Required

Replace {product_id}with the actual ID of the product.

Success Response (200 OK)

{
  "product_id": "MLBB_DIAMONDS_100",
  "name": "Mobile Legends 100 Diamonds",
  "category": "mlbb",
  "region": "GLOBAL",
  "price": 10.5,
  "currency": "MYR",
  "description": "100 Diamonds for MLBB.",
  "stock_status": "in_stock",
  "requires_user_id": true,
  "requires_zone_id": true
}

Create Transaction

Initiate a new top-up transaction.

Endpoint Details

URL: /v1/transactions

Method: POST

Authentication:Required

Request Body (JSON)

{
  "product_id": "MLBB_DIAMONDS_100",
  "user_id": "12345678",
  "zone_id": "1234",
  "quantity": 1
}

Success Response (201 Created)

{
  "transaction_id": "TRX_zYxWvUt...",
  "status": "pending",
  "message": "Transaction received.",
  "created_at": "2025-05-27T11:00:00Z"
}

Get Transaction Status

Check the status of a previously created transaction.

Endpoint Details

URL: /v1/transactions/{transaction_id}

Method: GET

Authentication:Required

Replace {transaction_id}with the actual ID.

Success Response (200 OK)

{
  "transaction_id": "TRX_zYxWvUt...",
  "status": "success",
  "product_name": "Mobile Legends 100 Diamonds",
  "user_id": "12345678",
  "processed_at": "2025-05-27T11:00:15Z"
}

MLBB User Checker

Verify an MLBB User ID and Zone ID to retrieve the nickname.

Endpoint Details

URL: /v1/mlbb/check-user

Method: POST

Authentication:Required

Request Body (JSON)

{
  "user_id": "12345678",
  "zone_id": "1234"
}

Success Response (200 OK)

{
  "valid_user": true,
  "nickname": "SynnPlayerX"
}
Copied to clipboard!