Webhook Data Structure

When your webhook receives a payment or subscription event, a JSON payload is sent.

This document explains the structure and meaning of each field.

Example Payload

{
  "event": "payment.success",
  "created_at": "2025-09-04T13:45:44-04:00",
  "request_id": "51b97ba5891ec220e8b64385a00c3826",  
  "webhook_id": "458",
  "store_id": "7541",
  "mode": "live", // live or test
  "data": {
    "id": 71134,
    "type": 1, // 1 = payment | 2 = subscription
    "transaction_id": "68B9D0471D02A",
    "gateway": "paypal", // stripe, paypal or free
    "amount": {
      "total_paid": 12,
      "currency": "EUR"
    },
    "user": {
      "email": "[email protected]",
      "username": "Murga",
      "steam_id": "76561198030562915",
      "steam_username": "Murgator",
      "discord_id": "376442921087995901",
      "discord_username": "murgator"
    },
    "basket": [
      {
        "id": 183,
        "sub_key": "762szqztj",
        "name": "Gold Sword",
        "price": 10,
        "quantity": 1,
        "custom_fields": {
          "1": {
            "field_id": 1,
            "name": "Level",
            "value": {
              "option_id": 2,
              "name": "Maximum",
              "value": "800", // value selected by the customer
              "price": 2.00
            },
            "total_price": 2,
            "type": "selection"
          }
        }
      }
    ],
    "actions": [
      {
        "server_id": "20861",
        "commands": [
          {
            "str": "give apple {minecraft_uuid} 1",
            "event": "0",
            "item_key": 0,
            "product_id": "183"
          },
          {
            "str": "give hook{minecraft_uuid} 1",
            "event": "0",
            "item_key": 0,
            "product_id": "185"
          }
        ]
      },
      {
        "server_id": "20859",
        "commands": [
          {
            "str": "give apple {minecraft_uuid} 1",
            "event": "0",
            "item_key": 0,
            "product_id": "183"
          },
          {
            "str": "give hook{minecraft_uuid} 1",
            "event": "0",
            "item_key": 0,
            "product_id": "185"
          }
        ]
      }
    ],
  }
}

🧾Main Fields

Field
Type
Example
Description

event

string

payment.success, payment.refused, payment.refunded, subscription.created, subscription.renewed, subscription.expired

Event name

created_at

string (ISO 8601)

2025-09-04T13:45:44-04:00

Date and time of the event

request_id

string

51b97ba5891ec220e8b64385a00c3826

Unique webhook ID (useful for logs/debug)

webhook_id

int

458

Webhook ID

store_id

int

7541

Your shop ID

data

object

{...}

Event-related data

mode

string

test, live

Payment mode


💳 Data Object

Field
Type
Example
Description

id

int

71134

Internal payment ID or subscription ID

transaction_id

string

68B9D0471D02A

Transaction ID

gateway

string

free, paypal, stripe

Payment gateway used or free order

amount

object

{ "total_paid": 12, "currency": "EUR" }

Paid amount and currency

user

object

{...}

User information (multi-game + Discord/Steam/etc.)

basket

array

[ {...} ]

Purchased products

actions

object

{...}

Commands related to the payment (Discord, server, etc.)

type

int

1, 2

1 = payment, 2 = subscription


👤 user Object

Contains identifiers of the user, which may vary depending on the configuration:

  • email → User email

  • username → Display name

  • steam_id, steam_username → Steam identity

  • minecraft_username, minecraft_uuid → Minecraft identity

  • eosid → ARK:SA ID

  • fivem_citizen_id → FiveM identifier

  • discord_id, discord_username → Discord identity

⚠️ Some fields may be missing if the user has not linked that service.


🛒 basket Object

Each purchased product is listed here:

Field
Example
Description

id

183

Product ID

sub_key

762szqztj

Tip4Serv product key

name

VIP Rank

Product name

price

10.00

Unit price

quantity

1

Quantity purchased

custom_fields

{...}

Custom fields associated with the product


⚙️ commands Object

The commands object contains all servers (API type only) and actions configured by the seller in the product editor. For each server you will find one or more groups of commands which depends on what you have configured in the products ordered by the customer.

Field
Example
Description

str

give {steam_id} apple 1

The actual command string to execute.

event

0 or 1

Option selected by the seller in the product editor: 0 → Always execute 1 → Execute only if the player is online

product_id

183

The Tip4Serv product ID linked to this command.

item_key

0, 1, 2...

Index of the item in the buyer’s basket.

0 = first product, 1 = second product...

server_id

XXXXXX

Server ID on which these commands should be executed

Last updated