Skip to content

Player and provider API ​

Endpoints exposed by the player-backend Fastify services — what the player site calls, and where provider callbacks land. See conventions.

Provenance

This list was extracted from the Fastify route registrations across the services. Paths and fields are quoted as registered; request-body field lists are the fields each handler reads. Treat the provider services as the more volatile part and confirm against source before integrating.

player-management — transactions ​

Service management-services/player-management, routes under /player/... (src/routes/transactionsRoute.js).

Deposits ​

MethodPathPurpose
POST/player/transactions/depositCreate a deposit (fiat or crypto) → status: "pending"
GET/player/transactions/deposit/:playerIdA player's deposits (paginated, currency filter)
GET/player/transactions/deposit/by-external-id/:transactionIdLook up by provider tx id
GET/player/transactions/deposit/address/:playerId/:currencyLatest crypto deposit address
POST/player/transactions/deposit/addressSave a crypto deposit address mapping
PUT/player/transactions/deposit/tx-hash/:playerIdAttach a crypto tx hash
PUT/player/transactions/deposit/updateUpdate a deposit (status, ids, metadata)
PUT/player/transactions/deposit/update-callbackGeneric deposit callback (credits wallet on success)
PUT/player/transactions/deposit/update-callback/tektikpayTektikPay deposit callback
POST/player/transactions/deposit/manual-bank/callbackManual bank deposit callback
POST/player/transactions/yumgo/callbackYumGo deposit callback
POST/player/transactions/sans/callbackSANS deposit callback
POST/player/transactions/alphapo/callbackAlphaPo deposit callback

POST /player/transactions/deposit body: amount, walletId, transactionId, provider, method, idempotency_key, playerId, paymentType, paymentSystemName, metadata.

Withdrawals ​

MethodPathPurpose
POST/player/transactions/create-withdrawal/:playerIdCreate a withdrawal (debits wallet) → pending
POST/player/transactions/withdrawal/alphapo/:playerIdAlphaPo crypto withdrawal
POST/player/transactions/withdrawal/bancosants/:playerIdBanco SANTS PIX withdrawal
POST/player/transactions/withdrawal/crypto/:playerIdSANS crypto withdrawal (debits USD wallet)
POST/player/transactions/withdrawal/tektikpay/:playerIdTektikPay withdrawal (awaits admin approval)
GET/player/transactions/all-withdrawal/:playerIdA player's withdrawals (paginated)
GET/player/transactions/withdrawal/:idOne withdrawal
GET/player/transactions/withdrawal/by-payout-id/:payoutIdLook up by provider payout id
GET/player/transactions/withdrawal/rollback-status/:transactionIdHas the rollback finished?
PUT/player/transactions/withdrawal/updateUpdate status / rejection / retry count
POST/player/transactions/withdrawal/external-idAttach provider payout id
POST/player/transactions/withdrawal/alphapo/rollbackRoll back a failed AlphaPo payout
PUT/player/transactions/withdrawal/update-rollback-statusMark failed + rollback complete
POST/player/transactions/alphapo/withdrawal/callbackAlphaPo withdrawal callback
POST/player/transactions/sans/withdrawal/callbackSANS withdrawal callback
POST/player/transactions/withdrawal/bank-payment/callbackManual bank withdrawal callback

POST /player/transactions/create-withdrawal/:playerId body: addressData, walletId, method, provider, idempotency_key, bankAccountId, amount. The wallet is debited as part of creation; the transaction moves created → pending, or created → error if the debit fails.

Config, addresses and saved accounts ​

MethodPathPurpose
GET/player/payment-configRead-only display config: enabled methods + toggles
POST/GET/DELETE/player/withdraw-address[...]Saved crypto withdrawal addresses
POST/GET/PUT/PATCH/DELETE/player/withdraw-bank-accounts[...]Saved bank accounts for manual bank withdrawal

GET /player/payment-config returns configured, enableCryptoDeposit, enableLocalCurrencyDeposit, enableManualBankDeposit, enableCryptoWithdraw, enableLocalCurrencyWithdraw, and the available provider lists — the player-facing projection of the admin payment settings.

wallet-management ​

Service management-services/wallet-management, routes under /wallet/.... The single source of truth for balances. Deposit callbacks call credit; withdrawal creation calls debit.

MethodPathPurpose
POST/wallet/creditAdd funds. Body walletId, amount, type
POST/wallet/debitRemove funds. Body walletId, amount, type
POST/wallet/undo-debitReverse a debit (credit back). Body walletId, amount
POST/wallet/balanceBalance for a player. Body playerId
POST/wallet/get-wallet-by-currencyBody currency, playerId
POST/wallet/create / /wallet/update / /wallet/deleteWallet lifecycle
POST/wallet/set-active/:playerIdSet the active wallet
GET/wallet/get-active/:playerIdActive wallet + bonus balances
GET/wallet/get-all-wallets/:playerIdAll non-bonus wallets + bonus balances
GET/wallet/get-bonus-wallets/:playerIdBonus wallets only
GET/wallet/:idOne wallet

credit / debit carry a type (e.g. deposit, withdrawal, rollback) describing why the balance moved. debit fails on insufficient funds rather than going negative. There is also a GetActiveWallet gRPC method for internal callers.

Provider services ​

Each provider is its own service under payment-management/, registering routes under its own prefix. The shape is consistent: a create/payin endpoint, a status check, and a webhook/callback the provider calls to confirm. The callback is what ultimately drives the transaction to success or failed and triggers the wallet credit.

PayZeasy — /payzeasy ​

MethodPathPurpose
POST/payzeasy/payinCreate a payin. payment_method ∈ upi-qr, upi-collect, upi-imps, upi-intent
POST/payzeasy/payoutCreate a payout. Body tx_id
POST/payzeasy/webhookWebhook (event + data)
POST/payzeasy/status-check/:playeridStatus check. type ∈ deposit, withdrawal
POST/payzeasy/logs-query, GET /payzeasy/logs/:eventIdEvent logs

YumGo — /yumgo ​

MethodPathPurpose
POST/yumgo/payment-request/:playerIdCreate a payment request
GET/yumgo/order-status/:orderIdOrder status
PATCH/yumgo/order-cancel/:orderIdCancel
PATCH/yumgo/order-reverse/:orderIdReverse
POST/yumgo/payinCallback

AlphaPo — /alphapo ​

MethodPathPurpose
GET/alphapo/currencies, /alphapo/currency-pairsReference data
POST/alphapo/payment-request/:playerIdCreate a deposit request
POST/alphapo/withdrawal-request/:playerIdCreate a withdrawal request
POST/alphapo/callback / /alphapo/payinDeposit callback
POST/alphapo/withdrawal-callbackWithdrawal callback
GET/alphapo/transaction-statusStatus

TektikPay — /tektikpay ​

MethodPathPurpose
POST/tektikpay/banksBank list
POST/tektikpay/deposit/:playerIdCreate a deposit
POST/tektikpay/withdraw/:playerIdCreate a withdrawal request
POST/tektikpay/withdrawal/execute/:playerIdExecute an approved withdrawal
POST/tektikpay/callbackCallback (transid, amount, status, hashcode)
POST/tektikpay/status-check/:transactionidStatus

Banco SANTS — /bancosants ​

MethodPathPurpose
POST/bancosants/deposit/:playerIdCreate a deposit
POST/bancosants/withdrawal/:playerIdCreate a PIX withdrawal (pix_key, pix_key_type)
POST/bancosants/deposit-callback / /bancosants/withdrawal-callbackCallbacks
GET/bancosants/balance, /bancosants/transaction/:transactionIdReference

SANS Getirsin — /sans-getirsin ​

MethodPathPurpose
POST/sans-getirsin/list-wallets/:playerIdList wallets, cache a token (20 min)
POST/sans-getirsin/deposit/:playerIdCreate a deposit
POST/sans-getirsin/create-withdrawCreate a withdrawal

Bank payment (manual bank) — /bank-payment ​

The player-side counterpart of the admin manual bank service.

MethodPathPurpose
POST/bank-payment/deposit/:playerIdCreate a manual bank deposit
GET/bank-payment/bank-accounts/:playerIdBank accounts available to the player
GET/PUT/PATCH/DELETE/bank-payment/bank-account/:accountId[...]Account detail / status / delete
POST/bank-payment/callbackDeposit callback (approve / reject / refund)
POST/bank-payment/withdrawal-callbackWithdrawal callback
POST/bank-payment/withdrawal-confirm / /bank-payment/withdrawal-rejectWithdrawal resolution

Two /bank-payment services

There is a /bank-payment service on both backends. The admin one (Admin panel API) manages the brand accounts and takes operator actions; this player-side one creates player deposits and serves accounts to the player app. They are different services with overlapping path prefixes — don't conflate them.

Internal documentation. Every page states what has been verified and what has not.