iGaming online payment: the deposit flow end to end

September 09, 2026

iGaming online payment: the deposit flow end to end

Every iGaming online payment starts the same way. A player picks an amount, chooses a method, and expects the balance to move before they lose interest. Between those two moments your platform runs a sequence of handoffs. A request goes to a provider, a payment page opens, an authorization or an on-chain confirmation happens, a status message comes back to your servers, and a row lands in your ledger.

Most operator-side deposit complaints are not really payment-method complaints. They are one stage in that sequence behaving differently from the way the cashier told the player it would. EukaPay runs the stablecoin and crypto leg of the sequence, from the payment page the player lands on through to fiat in your bank account. This guide walks the flow stage by stage, names what each method does differently at each stage, and shows which parts you build against the EukaPay invoices API and webhooks.

In this guide, you'll learn:

  • The five stages every iGaming online payment moves through, from method selection to the balance write

  • What a card deposit, an e-wallet deposit, and a stablecoin or crypto deposit each do differently at those stages

  • Which stage a stuck deposit is usually sitting in, and what to check first

  • How to build the flow against the EukaPay invoices API, webhook events, and transaction tolerance settings

The five stages of an iGaming online payment

Every deposit, on every method, moves through the same five stages. What changes is who performs each stage and how long it takes.

Stage 1. Method selection - the player chooses a payment method at the cashier

The player picks an amount and a payment method. Your cashier decides which methods to show, in what order, and with what minimums. No money moves at this stage, but it sets everything after it. A method that is shown and then fails costs more than one that was never shown, because the player has already committed attention. Our breakdown of

iGaming payment methods compared

covers how the main options behave once they are on the page.

Stage 2. Payment initiation - your platform requests a payment object

Your platform calls the provider and gets back something the player can act on. For a card that is an authorization request. For a stablecoin or crypto deposit with EukaPay, your platform calls the invoices API and gets back a payment page URL. The player follows that URL and pays from their own wallet in a browser. You can pass a redirect_uri so the payment page returns the player to your cashier as soon as they finish.

Stage 3. Authorization or confirmation - the money moves

Stage 3 varies more between methods than any other. A card authorization is a decision made by an issuer in about a second. It can be declined for reasons your platform never sees. An on-chain payment is a broadcast transaction that confirms on the network, so the wait depends on the network the player chose, not on any single institution's opening hours.

Stage 4. Notification - the provider tells your platform what happened

Your platform does not credit a balance because a player says they paid. It credits because a provider said so. EukaPay sends webhooks as HTTPS POST requests to a URL you set in Settings, Integrations, Webhooks. Each one carries a payment code, the paid amount, the invoice code, and the invoice currency. A lot of "the deposit disappeared" tickets start here: the money moved and the message did not arrive.

Stage 5. Balance credit and reconciliation - your ledger writes the deposit

Your platform matches the notification to a player account, writes the deposit, and keeps the provider's reference against the row. That reference is what makes reconciliation possible later. Without it, finance can see a total and not which player it belongs to.

How card, e-wallet, and stablecoin or crypto deposits differ at each stage

Card deposit

E-wallet deposit

Stablecoin or crypto deposit

Who decides it succeeds

The card issuer

The wallet provider

The blockchain network

What the player does at stage 2

Enters card details

Signs in to the wallet

Follows the payment page URL and sends from their wallet

Can it be reversed later

Yes, by issuer chargeback

Sometimes, by provider dispute

No, an on-chain payment confirms and stays confirmed

Common stall point

Stage 3, a decline your platform cannot see

Stage 3, a failed sign-in

Stage 3, a wrong network or an under-sent amount

The last two rows change your support workload most. A crypto payment confirms on-chain, so protection against chargebacks is a property of the payment method. A stablecoin or crypto deposit that goes wrong also tends to go wrong visibly, at the moment of payment, instead of arriving as a dispute after the player has spent the balance. We covered the broader set in

iGaming payments challenges

.

What happens when an iGaming online payment does not credit a player balance?

Work the stages backwards, because the last stage takes the least time to check.

Start at stage 5. If your ledger has no row, look for the notification. EukaPay retries a failed webhook delivery every 20 minutes for up to two hours, then drops the event from the retry queue. An endpoint that was down for a short window can still catch up. One that returns an error for longer than that will not.

If no notification exists, the payment did not complete the way the player thinks it did. The most common version is an amount mismatch. EukaPay sends a paymentUnderpaid event when the sum of payments for an invoice comes in below the requested amount, and a paymentOverpaid event when it comes in above. Both are ordinary events, not errors, and both can be handled without a support ticket if your cashier listens for them. What counts as matched is set by your own transaction tolerance settings in the dashboard. A player who sends a few cents short need not become a manual case.

If the player sent on a network you do not accept, no confirmation reaches you at all, because nothing arrived on a network you are watching. That is really a stage 1 problem: the cashier offered a choice it should have constrained. Deposits can also stall at stage 3 for reasons that have nothing to do with the player, which is what

crypto deposits at peak load

deals with.

Building the deposit flow with the EukaPay invoices API and webhooks

The build is small. Your platform calls the invoices API with the amount and the fiat currency, then stores the invoice code against the player's pending deposit. Send the player to the returned payment page URL. Setting redirect_uri to your cashier means the player comes straight back after paying.

Then you listen. Handle paymentCompleted as the credit event, paymentUnderpaid and paymentOverpaid as cashier states instead of failures, and refundCompleted if you return funds. Verify every delivery before you act on it: compare the x-eukapay-signature header against an HMAC SHA-512 digest of the raw payload computed with your secret key. Unverified webhook handlers are how a deposit endpoint gets credited by someone who never paid.

A staging environment is available for development. A developer (or coding agent) can drive the whole sequence there and watch your own handlers before a real player ever touches it. The endpoints and payloads are documented at

docs.eukapay.com

. If you are earlier than that, start with

how to accept payments for an iGaming platform

.

One platform for deposits, payouts, and fiat settlement

The same EukaPay account that runs the deposit flow also runs player withdrawals. You get instant crypto-to-fiat conversion at a locked exchange rate to remove your exposure to crypto price swings, support for most major cryptocurrencies, and settlement in USD, EUR, GBP, and CAD to your bank account. Every conversion uses that locked rate by default, on pay-ins and on payouts. Pay-ins can arrive as BTC, ETH, LTC, SOL, USDC, or USDT. Player payouts are sent in ETH, USDT, or USDC. Payouts are not tied to banking hours or the banking calendar.

For an operator, that means one integration covers stages 2 through 5 of the deposit flow, plus the withdrawal side and the fiat that lands in your account. Read the webhook and invoice reference, map your cashier states to the four payment events, and run the whole thing in staging first.

Get started with EukaPay

Create an account at

app.eukapay.com/signup

, complete onboarding and verification, register your business information, and issue an API key. The invoices API, the webhook event list, and the payload examples are all at

docs.eukapay.com

.

Frequently asked questions

How does an iGaming online payment get credited to a player balance?

Your platform receives a notification from the payment provider, matches it to the pending deposit by its invoice code, and writes the credit. With EukaPay that notification is a paymentCompleted webhook carrying the payment code, the paid amount, and the invoice currency.

What is the difference between a card deposit and a crypto deposit at the cashier?

A card deposit is authorized by the issuer and can be reversed later by a chargeback. A crypto deposit is confirmed on a blockchain network and does not reverse once confirmed.

What happens if a player sends less than the deposit amount?

EukaPay sends a paymentUnderpaid event when the sum of payments for an invoice is below the requested amount. Your transaction tolerance settings decide how close counts as matched, so small shortfalls need not become manual cases.

What happens if a player sends more than the deposit amount?

EukaPay sends a paymentOverpaid event. Your cashier can decide whether to credit the full received amount or hold the difference for the player to resolve.

What if my webhook endpoint is down when a deposit completes?

EukaPay retries the delivery every 20 minutes for up to two hours, then drops the event from the retry queue. An endpoint that recovers inside that window will still receive the event.

Which cryptocurrencies can players deposit with?

Pay-ins support BTC, ETH, LTC, SOL, USDC, and USDT. Player payouts are sent in ETH, USDT, or USDC.

Do I need to build a wallet to accept crypto deposits?

No. Your platform calls the invoices API for a payment page URL, and the player pays from their own wallet in a browser. You handle the resulting webhook.

Related articles