PLYR GAMING UNIVERSE
  • API Endpoint
  • API Quickstart
  • API REFERENCE
    • Users
      • Authentication
        • PLYR[ID]
          • Login
          • Login and Approve
          • Logout
        • InstantPlayPass
          • RegisterIPP
          • RevealClaimingCode
          • VerifyClaimingCode
        • PLYR[CONNECT]
      • Check Session JWT
      • Get Basic User Info
      • Get Avatar
    • Game room
      • Create Game Room
      • Join Game Room
      • Pay Game Room
      • Earn Game Room
      • Leave Game Room
      • End Game Room
      • Helpers
        • Is Joined Game Room
        • Join and Pay
        • Earn and Leave
        • Create, Join and Pay
        • Earn, Leave and End
    • Assets
      • Tokens ( ERC-20 )
        • Get PLYR L1 Token List
        • Get User Token Balance
        • Get User Token Allowance
        • Approve User Token Spending
        • Revoke User Token Allowance
      • NFTs ( ERC-721 )
        • Get User NFTs
        • Official PLYR NFTs
          • Get User Zoo Genes
          • Get User Zoo Boosters
          • Get User Zoo Elixirs
    • Misc
      • Get Session JWT Public Key
      • Verify JWT Locally
      • Activity Logs
      • Get Task Message Status
Powered by GitBook
On this page
  1. API REFERENCE
  2. Game room

Pay Game Room

Pay tokens to a game room

Processes token payments from one or more players to a game room.

Endpoint: /game/pay Method: POST

{
    roomId: string; // The ID of the room to pay to
    sessionJwts: string[]; // Array of session JWTs for players making payments
    tokens: string[]; // Array of token names/symbols
    amounts: number[]; // Array of amounts to pay (corresponding to tokens array)
    sync?: boolean; // When true, returns direct response. When false/undefined, returns a task ID for polling status
}

When sync=false (default):

{
    task: {
        id: string; // Task ID for checking status
    }
}

When sync=true:

{
    // Payment details
}
{
    error: string;
}

The arrays `sessionJwts`, `tokens`, and `amounts` must have corresponding lengths.

Example Usage

// Sync=true usage
const timestamp = Date.now().toString();
const body = {
    roomId: '123',
    sessionJwts: ['playerJwt1', 'playerJwt1', 'playerJwt2'], // First player paying 2 tokens, second player paying 1
    tokens: ['TOKEN1', 'TOKEN2', 'TOKEN1'], // Token types to pay
    amounts: [100, 50, 75], // Corresponding amounts
    sync: true // or omit for task-based response
};

const hmac = generateHmacSignature(timestamp, body, secretKey);

const response = await axios.post(apiEndpoint + '/game/pay', body, {
    headers: {
        apikey: apiKey,
        signature: hmac,
        timestamp: timestamp
    }
});
PreviousJoin Game RoomNextEarn Game Room

Last updated 3 months ago