PSP #1 API -- PassimPay

Overview of PassimPay as an external service. What it is, what it supports, how to connect.

Phase 1
External
PassimPay
PassimPay is a crypto payment processor. It provides an API for accepting crypto deposits and sending withdrawals. It is an external service -- your code interacts with it through the PSP #1 Adapter. Docs: passimpay.gitbook.io ยท Account: account.passimpay.io
1.

Setup -- what to do before development

1

Create account

Register at account.passimpay.io. Confirm email.

2

Create a platform

In the dashboard: create a new platform. Save the Platform ID (integer) and API Secret Key -- they are shown only once.

3

Whitelist server IP

In platform settings: add the outbound IP of your backend server. Required for /v2/withdraw to work. Without this, all withdrawal requests are blocked.

4

Set webhook URL

In platform settings: enter the URL where PassimPay will send deposit and withdrawal events (e.g. https://yourapi.com/webhooks/passimpay). Must be publicly accessible.

5

Enable withdraw webhook

In platform settings: toggle "Enable withdraw webhook" ON. Without this, you will not receive callbacks for withdrawal status changes.

6

Configure currencies

In platform settings: enable the cryptocurrencies you want to accept. Disabled currencies will not appear in /v2/currencies responses for your platformId.

2.

Supported Networks & Currencies (Phase 1)

Get exact minimums and currency IDs from POST /v2/currencies with your platformId -- they may differ per platform. The list below is for general understanding. Full currency table: Google Sheets
SymbolNameNetworkMin depositMin withdrawWebhooksNotes
BTCBitcoinBitcoin0.00010.0012 (at 1 and 2 confirmations)
UTXO
ETHEthereumEVM (Ethereum)0.0050.011 (instant)
USDTTetherTRC20 (Tron)151 (instant)
USDTTetherERC20 (Ethereum)10201 (instant)
USDCUSD CoinERC20 / TRC2010201 (instant)
LTCLitecoinLitecoin0.010.052 (at 1 and 2 confirmations)
UTXO
DOGEDogecoinDogecoin10202 (at 1 and 2 confirmations)
UTXO
DASHDashDash0.010.052 (at 1 and 2 confirmations)
UTXO
BCHBitcoin CashBitcoin Cash0.0010.0052 (at 1 and 2 confirmations)
UTXO
XRPRippleRipple151 (instant)
Tag required
TONToncoinTON121 (instant)
Tag required
TRXTronTRC20 (Tron)10201 (instant)
BNBBNBBSC (BEP-20)0.010.021 (instant)
3.

Two Integration Modes

H2H (Host-to-Host)

Phase 1

Player stays on your site. You show the crypto address in your own UI.

  • Full control over UI/UX
  • Player pays any amount
  • No redirect

Invoice (Redirect)

Phase 1

Player is redirected to the PassimPay-hosted page. Fixed amount.

  • Less code on your side
  • Supports payment splitting
  • On-ramp (fiat) -- future phase

H2H -- Player flow

1
Player

Player opens the deposit page and selects a crypto method (e.g. USDT TRC20)

2
System

Backend calls PassimPay /v2/address and gets a unique deposit address (+ destinationTag if XRP/TON)

3
Player

Player sees the address (and QR code) directly on YOUR site -- no redirect to PassimPay

4
Player

Player copies the address and sends crypto from their personal wallet (any amount)

5
PassimPay

PassimPay detects the transaction on-chain and sends a webhook to your server

6
System

Backend updates transaction status -- player sees "Processing" in real time (via polling or WebSocket)

7
System

On final confirmation, balance is credited and player sees "Deposit confirmed"

Invoice -- Player flow

1
Player

Player opens the deposit page, selects a crypto method and enters the amount

2
System

Backend calls PassimPay /v2/createorder with the fixed amount and receives a payment URL

3
System

Player is automatically redirected to the PassimPay-hosted payment page

4
Player

On the PassimPay page: player sees which currencies are accepted, selects one (or splits across multiple), and sees a countdown timer

5
Player

Player sends the exact amount from their wallet

6
PassimPay

PassimPay processes the payment and sends a webhook to your server

7
System

If returnUrl was set: player is redirected back to your site automatically

8
System

Backend credits the balance and player sees "Deposit confirmed"

4.

Limitations & Future Phases

Listed below are PassimPay capabilities that are NOT in scope for Phase 1. They are included here to understand the full potential of the service and the order of implementation.

No card payments in Phase 1

Planned: Phase 2--3

PassimPay supports fiat / card payments only through the Invoice method with on-ramp enabled. This requires separate activation by PassimPay support. Not in scope for Phase 1.

Payment splitting (Invoice only)

Available from Phase 1 (Invoice only)

Paying a single invoice with multiple cryptocurrencies (e.g. 50% BTC + 50% USDT) is supported only in the Invoice method. Not available in H2H.

On-ramp (fiat deposits) -- not in Phase 1

Planned: Phase 2--3

Accepting deposits via bank card (Visa/Mastercard) or bank transfer requires the Invoice method with on-ramp feature enabled. Requires contacting PassimPay support to activate. Implementation deferred.

INR bank transfers (India only)

Planned: Phase 3+ (India GEO)

PassimPay supports Indian Rupee bank withdrawals via /v2/inrout (IMPS/NEFT). Geo-specific feature, not relevant until India GEO is in scope.

Direct deposits (USDT TRC20 static address)

Not planned

PassimPay supports a "direct deposit" mode where all players share one static USDT TRC20 address and are identified by unique amounts. Complex to implement correctly (AML, amount matching). Not in scope for Phase 1.

DEPO44 | PSP #1 -- PASSIMPAY | SERVICE OVERVIEW