Getting started

Follow these steps in order, from sign-up to your first sale.

Step 1: Sign up

Go to dash.ez2pay.gg and sign up with Google. Read the agreement to the end and accept it. It states that the player buys from EZ2Pay, you sell your in-game goods to EZ2Pay, and you receive payment for your goods when due.

Step 2: Create your game in the Dashboard

FieldExampleRules
NameMy Fantasy Town1-100 characters. Shown on the checkout page and receipt
Slugmy-fantasy-townLowercase letters, digits and hyphens. 3-63 characters, starting with a letter or digit
Webhook URLhttps://api.mygame.example/ez2pay/webhookPublic HTTPS on port 443. Private addresses are refused
Support URLhttps://mygame.example/supportHTTPS. Players see this when they need help

A new game starts as draft and cannot sell until it is approved.

Copy the webhook secret now. The Dashboard shows it once, when the game is created. If you lose it, or an AI created the game through MCP, open the game in the Dashboard and press สร้าง secret ใหม่ to get a new one. See Changing the webhook secret.

Step 3: Create an API key

On the game page in the Dashboard, create an API key. You can do this while the game is still draft. The key is shown once.

SecretLooks likeUsed for
API keyez2_live_...Calling the API: create orders, read them, acknowledge delivery
Webhook secret43 random charactersVerifying webhook signatures, including test pings

Keep both in server environment variables only. Never put them in source code, git, logs, the game client or an AI prompt. An MCP token is a different credential and cannot replace an API key.

Step 4: Create SKUs

A SKU is one item for sale.

FieldExampleRules
Codegem-0001The Dashboard builds it from a prefix you choose and a running number. You can edit only the prefix. Your game uses this code
NameGem Pack (100)1-200 characters. The player sees this on the checkout page and receipt. A receipt keeps the name the order was created with
Price100The baht the player pays. Minimum 59

You set the price the player sees. The checkout page shows exactly that price and adds nothing on top. The Dashboard shows what you receive at that price.

Through MCP, you choose the code (letters, digits, _ and -, 1-100 characters) and send the price as proposed_amount_satang: integer satang as a string, such as "10000" for 100 THB.

A SKU you create in the Dashboard is active at once. A SKU an AI creates through MCP is pending until the EZ2Pay team reviews it. Only active SKUs can be sold.

Step 5: Build your webhook endpoint

Your server needs one endpoint at the URL from Step 2. It must:

  1. Accept POST and read the raw body before parsing JSON.
  2. Verify the signature.
  3. Answer exactly 200 when everything succeeded.

See Webhooks and delivery for the rules and Direct HTTP integration for complete code in Node and Python.

Step 6: Press the webhook test button

On the game page in the Dashboard, press the webhook test button, or ask your AI to call test_webhook through MCP. EZ2Pay sends a signed ping to your URL:

{"type":"ping"}

Your server verifies the signature and answers 200. A ping creates no order and no sale. It only proves that the URL and signature work.

Step 7: Request activation

Complete these in the Dashboard first. The request is not submitted while anything is missing, and the Dashboard lists what is missing.

  1. Payment recipient details: individual or company, legal name, and a 13-digit citizen ID or company registration number.
  2. An identity document (PDF, PNG or JPEG), submitted for review. Both the identity check and the document check must pass.
  3. The latest version of the agreement. If a new version is released, accept it again.

Then press the activation request button. The EZ2Pay team reviews the game. Until it is approved, POST /v1/orders answers 409 GAME_APPROVAL_REQUIRED.

Only a person can request activation. AI cannot do it through MCP.

Before you receive payment for your goods for the first time, also complete your tax address, VAT status and bank account. The bank account name must match your legal name.

Step 8: Make one real purchase

There is no test mode. After approval:

  1. Open your game as a player and buy your lowest-priced SKU.
  2. Pay with PromptPay QR.
  3. Check that the goods arrive exactly once and that the order shows DELIVERED in the Dashboard.

Checklist

  • Agreement accepted.
  • Game created, with the webhook secret stored on your server.
  • API key stored on your server.
  • At least one active SKU.
  • Webhook test answers 200.
  • Identity and document checks passed, and the game is approved.
  • One real purchase delivered exactly once, with status DELIVERED.

Next: Orders and checkout links