# Transition Guide for 2CO Sandbox

## Overview

In 2Checkout's legacy checkout system, we have always supported the demo parameter to test the checkout process without actually creating an order. In 2014, we introduced our sandbox environment to provide merchants with a way to completely test the order lifecycle through their API and INS integration.

Over the past couple of years, we have been working to integrate the legacy platform with our new platform's test ordering system so that our merchants can fully test their integration without the need for a separate sandbox account. Since there is no longer a need for it, we are decommissioning the legacy sandbox environment and ask that all remaining sandbox users transition their testing to our test ordering system.

{% hint style="warning" %}
If you are not using 2Checkout's legacy sandbox platform there is no need to read further. We are not making any changes to our production environment.
{% endhint %}

## Demo/Test Ordering System

To place a test order with 2Checkout's legacy checkout system using your production account, you just need to pass the demo parameter with a value of `Y` as we have always supported.

Example

{% code title="Checkout URL and form" %}

```html
https://www.2checkout.com/checkout/purchase?sid=your-seller-id&mode=2CO&li_0_name=test&li_0_price=1.00&demo=Y
Form:
<form action='https://www.2checkout.com/checkout/purchase' method='post'>
  <input type='hidden' name='sid' value='your-seller-id' />
  <input type='hidden' name='mode' value='2CO' />
  <input type='hidden' name='li_0_name' value='test' />
  <input type='hidden' name='li_0_price' value='1.00' />
  <input type='hidden' name='demo' value='Y' />
  <input name='submit' type='submit' value='Checkout' />
</form>
```

{% endcode %}

Example

You can then use the data detailed in this article to test each use case: <https://verifone.cloud/docs/2checkout/Documentation/09Test\\_ordering\\_system/01Test\\_payment\\_methods/>

To place a test order with 2Checkout's legacy Payment API, just add the demo property to the root of your JSON payload with a value of TRUE.

{% code title="Payment API request" %}

```php
https://www.2checkout.com/checkout/api/1/your-seller-id/rs/authService

{
    "sellerId": "your-seller-id",
    "privateKey": "your-private-key",
    "merchantOrderId": "123",
    "token": "customer-client-side-token",
    "currency": "USD",
    "total": "0.01",
    "billingAddr": {
        "name": "John Doe",
        "addrLine1": "123 Test St",
        "city": "Columbus",
        "state": "Ohio",
        "zipCode": "43123",
        "country": "USA",
        "email": "example@2co.com",
        "phoneNumber": "5555555555"
    },
    "demo": true
}
```

{% endcode %}

{% hint style="info" %}
Some legacy accounts may have demo mode disabled. If you are having any problems placing demo orders, contact 2Checkout for assistance.
{% endhint %}

## Test Order Management

To locate your **Test orders**, log in to your Merchant Control Panel and navigate to Orders & Customers → Order Search, and use the 'Test orders' filter.

![test orders cPanel.png](/files/ae62987a3e820fec829e3f4eddfe72cf7cc75425)

Test orders can be refunded or re-billed (recurring sales) and will send all necessary INS messages just like production orders. For more information on the 2Checkout test ordering system, please visit this [link](https://verifone.cloud/docs/2checkout/Documentation/09Test_ordering_system/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.2checkout.com/2checkout-apis/2checkout-apis/transition-guides/transition-guide-for-2co-sandbox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
