Skip to main content

Create transaction for one player

Create a transaction for player with playerId
Behavior for transaction types:
All addTransactions calls are expected to be idempotent, i.e. if a transaction already exists then balance should be returned together with status OK.

  • WITHDRAW, PROMOWITHDRAW
    A withdraw transaction starts the chain of events for a game round.
  • DEPOSIT
    If there is no corresponding game round, return error PAM_ERR_TRANS_NOT_FOUND and balance.
    If there is a transaction with the same id but different user, game or round return error PAM_ERR_DUPLICATE_TRANS
    If there is in fact a corresponding game round, but it's closed, return error PAM_ERR_TRANS_ALREADY_SETTLED and balance.
  • PROMODEPOSIT
    A corresponding WITHDRAW does not need to exist for a PROMODEPOSIT to be accepted.
  • CANCEL, PROMOCANCEL
    If the corresponding WITHDRAW does not exist, return error PAM_ERR_CANCEL_NOT_FOUND and balance.
    If trying to cancel an already cancelled transaction, i.e. with a second unique cancellation request, return PAM_ERR_TRANS_ALREADY_CANCELLED and balance.
    If trying to cancel an already settled transaction, return error PAM_ERR_TRANS_ALREADY_SETTLED and balance.
    If trying to cancel something else, return error PAM_ERR_CANCEL_NON_WITHDRAW and balance.
Path Parameters
  • playerId string required

    id of player

    Example: 73619e57b3bc4b4e9014132be3bd12a9
Query Parameters
  • provider string required

    Name of the game provider associated with the session

    Example: Evolution
Header Parameters
  • X-Player-Token string required

    Possible values: >= 32 characters and <= 40 characters

    Player game session identifier

  • X-Correlation-ID string required

    Header for correlating requests between the services for debugging purposes and request tracing. The value will originate from the game providers that support request identification. Otherwise Valkyrie will generate a value.

  • traceparent string

    Describes the position of the incoming request in its trace graph. Further specified in https://www.w3.org/TR/trace-context

  • tracestate string

    Extends traceparent with vendor-specific data represented by a set of name/value pairs. Further specified in https://www.w3.org/TR/trace-context

Request Body required
  • currency string required

    Possible values: Value must match regular expression ^[A-Z]{3}$

    ISO 4217 three letter currency code

  • provider string required

    Game provider identity known by the PAM and Valkyrie

  • transactionType string required

    Possible values: [DEPOSIT, WITHDRAW, CANCEL, PROMODEPOSIT, PROMOWITHDRAW, PROMOCANCEL]

    Transaction types according to:

    • DEPOSIT - for adding funds
    • WITHDRAW - subtract funds from an account balance. Generally for placing bets
    • CANCEL - reverting a previous transaction
    • PROMODEPOSIT - payout from promo and similar offerings programs
    • PROMOWITHDRAW - buyin to promo and similar offerings programs
    • PROMOCANCEL - reverting a previous promo transaction
  • cashAmount double required

    Amount in some currency, rounded to 6 decimal places

  • bonusAmount double required

    Amount in some currency, rounded to 6 decimal places

  • promoAmount double required

    Amount in some currency, rounded to 6 decimal places

  • transactionDateTime date-time required

    A date and time in IS0 8601 format

  • providerTransactionId string required

    Possible values: non-empty and <= 40 characters

    The RGS transaction identifier. Unique for each provider. Either this or providerBetRef is required. providerBetRef will be prioritized if both are present.

  • providerBetRef string

    Possible values: non-empty and <= 40 characters

    Provider bet reference for grouping or matching transactions. Either this or providerTransactionId is required. This one is prioritized if both are present. It is used for RGS:s that encapsulate many transactions in a wrapper transaction.

  • providerGameId string

    Possible values: non-empty and <= 40 characters

    The game identifier unique for the RGS(provider)

  • providerRoundId string

    Possible values: non-empty and <= 40 characters

    The unique game round identifier for the provider

  • betCode string

    metadata about what kind of bet/transaction it is

  • isGameOver boolean
  • promos object[]
  • promoType string

    Possible values: [PROMOBONUS, PROMOTOURNAMENT, PROMOFROMGAME, PROMOCAP, PROMOLIMIT, PROMOMONEYREWARD, FREEROUNDS, FREESPINS]

    Promo types according to:

    • PROMOBONUS - bonus promotion
    • PROMOTOURNAMENT - tournament related promotion
    • PROMOFROMGAME - promotion awarded from a game
    • PROMOCAP - capped promotion
    • PROMOLIMIT - limited promotion
    • PROMOMONEYREWARD - real money promotion award
    • FREEROUNDS - extra game rounds for free
    • FREESPINS - extra spins for free
  • promoName string

    Possible values: non-empty and <= 40 characters

    Name of offering, if any

  • promoStatus string

    Possible values: non-empty and <= 40 characters

    Offering status, if any

  • promoReference string

    Possible values: non-empty and <= 40 characters

    Reference to the offering, if any

  • promoCode string

    Possible values: non-empty and <= 40 characters

    Offering code, if any

  • promoAmount double

    Amount in some currency, rounded to 6 decimal places

  • promoAmountTotal double

    Amount in some currency, rounded to 6 decimal places

  • promoConfigRef string

    Possible values: non-empty and <= 40 characters

    Offering configuration reference, if any

  • promoAwardRef string

    Possible values: non-empty and <= 40 characters

    Offering award reference, if any

  • currency string

    Possible values: Value must match regular expression ^[A-Z]{3}$

    ISO 4217 three letter currency code

  • jackpots object[]
  • jackpotId string

    Possible values: non-empty and <= 40 characters

    Jackpot identifier

  • jackpotReference string

    Possible values: non-empty and <= 40 characters

    Jackpot reference, arbitrary use

  • jackpotAmount double

    Amount in some currency, rounded to 6 decimal places

  • jackpotBuckets object[]
  • bucketType string

    Possible values: non-empty and <= 40 characters

    Type of jackpot bucket, if any. Arbitrary use

  • bucketReference string

    Possible values: non-empty and <= 40 characters

    Jackpot bucket reference, arbitrary use

  • bucketAmount double

    Amount in some currency, rounded to 6 decimal places

  • currency string

    Possible values: Value must match regular expression ^[A-Z]{3}$

    ISO 4217 three letter currency code

  • tip object
  • tipAmount double

    Amount in some currency, rounded to 6 decimal places

Responses

The transaction response.


Schema
  • status string

    Possible values: [OK, ERROR]

  • error object

    Error details describing why PAM rejected the request

  • code string

    Possible values: [PAM_ERR_UNDEFINED, PAM_ERR_ACC_NOT_FOUND, PAM_ERR_GAME_NOT_FOUND, PAM_ERR_ROUND_NOT_FOUND, PAM_ERR_TRANS_NOT_FOUND, PAM_ERR_CASH_OVERDRAFT, PAM_ERR_BONUS_OVERDRAFT, PAM_ERR_SESSION_NOT_FOUND, PAM_ERR_SESSION_EXPIRED, PAM_ERR_MISSING_PROVIDER, PAM_ERR_TRANS_CURRENCY, PAM_ERR_NEGATIVE_STAKE, PAM_ERR_CANCEL_NOT_FOUND, PAM_ERR_TRANS_ALREADY_CANCELLED, PAM_ERR_CANCEL_NON_WITHDRAW, PAM_ERR_BET_NOT_ALLOWED, PAM_ERR_PLAYER_NOT_FOUND, PAM_ERR_API_TOKEN, PAM_ERR_TRANS_ALREADY_SETTLED, PAM_ERR_DUPLICATE_TRANS, PAM_ERR_PROMO_OVERDRAFT, PAM_ERR_TIMEOUT]

    • PAM_ERR_UNDEFINED - When you need a generic error.
    • PAM_ERR_ACC_NOT_FOUND - When account of playerId is not found.
    • PAM_ERR_GAME_NOT_FOUND - When specified providerGameId is not found.
    • PAM_ERR_ROUND_NOT_FOUND - In getGameRound, when there is no game round with id providerGameRoundId.
    • PAM_ERR_TRANS_NOT_FOUND - In DEPOSIT transaction if the game round with id providerRoundId is not found.
    • PAM_ERR_CASH_OVERDRAFT - When user does not have enough funds on their account for a withdraw transactions.
    • PAM_ERR_BONUS_OVERDRAFT - When user does not have enough funds on their bonus account for a withdraw transaction.
    • PAM_ERR_SESSION_NOT_FOUND - When no session is found for provided X-Player-Token.
    • PAM_ERR_SESSION_EXPIRED - When session related to X-Player-Token has expired.
    • PAM_ERR_MISSING_PROVIDER - When specified query parameter provider is not found.
    • PAM_ERR_TRANS_CURRENCY - When specified Currency does not match that of the session.
    • PAM_ERR_NEGATIVE_STAKE - When transaction amount is negative.
    • PAM_ERR_CANCEL_NOT_FOUND - When the transaction trying to cancel doesn't exist.
    • PAM_ERR_TRANS_ALREADY_CANCELLED - When trying to cancel an already cancelled transaction, or when a Deposit is made toward a cancelled withdraw.
    • PAM_ERR_CANCEL_NON_WITHDRAW - When trying to cancel a transaction that is not a Withdraw transaction.
    • PAM_ERR_BET_NOT_ALLOWED - When a bet cannot be done, eg when the user is blocked.
    • PAM_ERR_PLAYER_NOT_FOUND - When playerId is not found.
    • PAM_ERR_API_TOKEN - When Authorization header api token does not match the PAM api token.
    • PAM_ERR_TRANS_ALREADY_SETTLED - When trying to cancel an already Deposited bet or when trying to Deposit on an already finished gameRound, finished bet.
    • PAM_ERR_DUPLICATE_TRANS - When a Deposit is made with an already existing providerTransactionId but with different playerId/providerGameId/providerRoundId.
    • PAM_ERR_PROMO_OVERDRAFT - When user does not have enough funds on their promo account for a withdraw transaction.
    • PAM_ERR_TIMEOUT - A timeout occurred
  • message string
  • transactionResult object
  • transactionId string

    Possible values: non-empty and <= 40 characters

    Unique transaction identifier from the PAM system

  • balance object

    player account balance

  • cashAmount double

    Funds on the account.

  • bonusAmount double

    Funds on the bonus account.

  • promoAmount double

    Amount in some currency, rounded to 6 decimal places

Loading...