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 request signing: Secure all API requests by implementing request signing. See our Signing Requests Guide for details.
  • (Optional) Customer-facing UI: Implement a user interface that uses Paybis APIs to display dynamic cryptocurrency deposit addresses, enabling end users to make payments in crypto.

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_funds webhook. The payload of this webhook will contain the generated blockchain_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_balance for 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: Refer to the Supported Assets section for the full list of available currencies.
  • Testing: Use testnet assets and small amounts when testing in the sandbox environment.
  • Key Generation: Generate an RSA key pair for request signing and provide the public key to Paybis during onboarding.
  • Webhook URL: To receive payout updates, provide your webhook URL to Paybis.
📘

For assistance with Paybis Send API integration, request signing, webhooks, sandbox setup, vIBANs, or pre-funded balance management, please contact your Paybis account manager or designated support team.