> For the complete documentation index, see [llms.txt](https://docs.2checkout.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.2checkout.com/2checkout-apis/2checkout-apis/transition-guides/transition-guide-for-2co-sandbox.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
