---
updatedAt: 2026-01-31T06:33:55.000Z
agentTools:
  projectIndex: https://docs.pay.osl.com/llms.txt
---

# Sandbox testing guide

# Initialize sandbox on-ramp SDK

Access our Web SDK using the test appId: \[\[<http://ramptest.osl-pay.com/?appId=>[appId](http://ramptest.osl-pay.com/?appId=\[appId)]

To obtain a test appId, please contact your OSL Pay account manager at <fiatops@osl-pay.com>

# Create a sandbox test account

Know Your Customer (KYC) information entered in the sandbox will not be verified. When asked to provide documents, you may upload any files you like. OSL Pay does not check the authenticity or accuracy of these documents.

<Image align="center" border={false} width="300px" src="https://files.readme.io/ba88966b9e5c087210d74a23c3ff7f5ac8d6883cab984e158c61d707ae89b709-image.png" />

<br />

# Add a payment method

At the payment screen, choose the **debit/credit card** option and enter one of the provided test card numbers.

**Do not enter real payment card information, as this will result in a failed transaction.**

| Card Type             | Card number         | Expiration                      | CVC code           |
| :-------------------- | :------------------ | :------------------------------ | :----------------- |
| Visa 3DS Frictionless | 4242 4242 4242 4242 | Any future date within 20 years | Any 3-digit number |
| Visa 3DS Challenge    | 4539 3732 9896 7400 | Any future date within 20 years | Any 3-digit number |

<br />

# Test Card for Declined Transactions

<br />

| Card type                 | Card number         | Expiration                      | CVC code           |
| :------------------------ | :------------------ | :------------------------------ | :----------------- |
| Visa (insufficient funds) | 4532 2274 1657 1592 | Any future date within 20 years | Any 3-digit number |

**The same card can be re-added by changing its expiration date (MM/YY).**

# Pay with Google Pay & Apple Pay

<br />

| Payemnt type | Source amount                 | Mock result           |
| :----------- | :---------------------------- | :-------------------- |
| Google Pay   | 400                           | Visa 3DS Challenge    |
| Google Pay   | Any amount except 300 and 400 | Visa 3DS Frictionless |
| Google Pay   | 300                           | Payment failed        |
| Apple Pay    | Any amount except 300 and 400 | Payment success       |
| Apple Pay    | 300                           | Payment failed        |

# Test Fiat and Crypto Info

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Fiat
      </th>

      <th>
        Crypto
      </th>

      <th>
        Network
      </th>

      <th>
        Min. amount
      </th>

      <th>
        Max. amount
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        EUR
      </td>

      <td>
        USDT
      </td>

      <td>
        TRC20
        ERC20
        BEP20
        ArbitrumOne
        SOL
        Kaia
        Optimism
        KAVAEVMToken
        Polygon
        AVAXC-Chain
        PolkadotAssetHub
        Aptos
        TON
      </td>

      <td>
        14
      </td>

      <td>
        3,000
      </td>
    </tr>

    <tr>
      <td>
        EUR
      </td>

      <td>
        USDC
      </td>

      <td>
        OPTIMISM
        BEP20
        ERC20
        SOL
        POLYGON
        Aptos
        SONIC
        BASE
        ArbitrumOne
        PolkadotAssetHub
        AVAXC-Chain
        Noble
      </td>

      <td>
        14
      </td>

      <td>
        3,000
      </td>
    </tr>

    <tr>
      <td>
        EUR
      </td>

      <td>
        ETH
      </td>

      <td>
        BEP20
        ArbitrumOne
        ETH
        Optimism
        SCROLL
        Starknet
        zkSyncEra
        Morph
        LINEA
        BASE
      </td>

      <td>
        14
      </td>

      <td>
        3,000
      </td>
    </tr>

    <tr>
      <td>
        USD
      </td>

      <td>
        USDT
      </td>

      <td>
        TRC20
        ERC20
        BEP20
        ArbitrumOne
        SOL
        Kaia
        Optimism
        KAVAEVMToken
        Polygon
        AVAXC-Chain
        PolkadotAssetHub
        Aptos
        TON
      </td>

      <td>
        15
      </td>

      <td>
        3,000
      </td>
    </tr>

    <tr>
      <td>
        USD
      </td>

      <td>
        USDC
      </td>

      <td>
        OPTIMISM
        BEP20
        ERC20
        SOL
        POLYGON
        Aptos
        SONIC
        BASE
        ArbitrumOne
        PolkadotAssetHub
        AVAXC-Chain
        Noble
      </td>

      <td>
        30
      </td>

      <td>
        3,000
      </td>
    </tr>
  </tbody>
</Table>

<br />

# Sandbox Failure Reasons

| Error message                                                                                 | Trigger scenario                                                           | Description / handling                                                                    |
| :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- |
| Parameter validation failed, please retry                                                     | Merchant parameters failed validation                                      | Check and update the parameters, then resend the request                                  |
| Access token expired or invalid                                                               | The provided access token or no-login credential has expired or is invalid | Log in again and retry the operation                                                      |
| Unsupported blockchain network                                                                | Provided blockchain info is unavailable or unsupported                     | Confirm that the selected blockchain is supported or not                                  |
| Our service is currently not available for IP addresses in your country/region                | Request from unsupported region                                            | OSL Pay does not support this country/region, or crypto payments are not available there. |
| Order already processed. To create a new order, please start again from the merchant platform | Same `merchantOrder` parameter used                                        | The system performs idempotency checks; each `merchantOrder` can only create one order    |

<br />