Crypto Pay-ins Integration Guide
Introduction
This guide provides you with the technical part of Paybis Send integration into your platform, enabling to accept cryptocurrency deposits. These deposits are automatically converted to fiat and credited to the partner's ledger.
Prerequisites
- Implement signing requests. See our Signing Requests Guide for details on how to secure your API requests.
- (Optional) Implement a user interface that utilizes our APIs to display dynamic crypto deposit addresses to end-users.
Pay-in Crypto Flow
1. Request a Sell Quote
Call the Quote API to obtain a real-time exchange rate for the "Sell" direction (Crypto to Fiat). You can specify the exact crypto amount the user wants to send or the fiat amount you wish to receive. See the Quote API reference.
2. Execute Pay-in Event
Utilize the Execute API (payin_execute) to confirm the quote and generate a unique, single-use blockchain deposit address. See the Execute API Endpoint reference.
3. Get Deposit Address and Monitor
Since the address is generated asynchronously, you must listen for the webhook or poll the status to retrieve the address before displaying it to the user.
- Via Webhook (Recommended): Wait for the
waiting_for_fundswebhook. The payload of this webhook will contain the generatedblockchain_address. - Via Polling: You can periodically call
GET /v1/event/pay-in/{event_id}until the blockchain_address field is populated.
Once obtained, display the address and the specific crypto amount to your user.
4. Transaction Statuses and Reconciliation
Paybis will notify you of the deposit status using the Transaction Data Webhook. Implement logic to process these webhooks to credit your user's account on your platform instantly. See the Transaction Data Webhook reference.
Available Environments
Sandbox: A testing environment for your integration.
- Use the provided sandbox API key and URL.
- IP whitelisting is not enforced in the sandbox.
- Crypto pay-ins are simulated using testnet blockchains. See the Sandbox Testing section for more details.
Managing Paybis Send Prefunding Balance
While the primary purpose of Pay-ins is to receive funds, understanding how they interact with your Prefunded Balance is crucial.
Crediting Your Balance:
Unlike payouts which deplete your balance, Pay-ins automatically top up your balance. When a user's crypto deposit is confirmed and sold, the resulting fiat amount (e.g., EUR or USD) is credited directly to your internal Paybis ledger.
Key Points:
- Settlement: Funds settled from Pay-ins become immediately available in your
available_balancefor future Payouts or settlement. - Currency: The credit is applied in the fiat currency defined in the Quote step (e.g., selling BTC to credit EUR balance).
Pay-ins act as a seamless sell mechanism, allowing you to convert incoming crypto flows directly into usable fiat liquidity on your ledger.
Additional Considerations
- Supported Cryptos and Fiats: See the Supported Assets section for more details.
- Testing: Use the recommended testnet assets (e.g., Sepolia ETH, Testnet BTC) to simulate deposits in Sandbox.
- Key Generation: You must generate the RSA key pair for signing requests and provide the public key to Paybis.
- Webhook URL: Webhooks are critical for Pay-ins to detect when funds arrive. Ensure your Webhook URL is configured and active.
For assistance with Paybis Send API, signing requests, webhooks, sandbox setup, and prefunded balance inquiries, contact your Paybis account manager or the designated support team.
Updated 2 months ago