# Change Status in Sandbox
Use **Change Status in Sandbox** when you need to simulate payment status changes for Receive Money transactions before going live. In Sandbox, no real money moves, so changing status lets your team test callbacks, reconciliation, and customer-facing payment updates for Virtual Account and QRIS flows.

This guide is for dashboard-based testing in the Sandbox environment. Use it after you create a Virtual Account or QRIS transaction and need to move the transaction into a test status such as paid, completed, expired, or another status available for that payment method.

<video controls preload="metadata" aria-label="How to change status in the Sandbox environment">
  <source src="/assets/readme-migration/images/change-status-in-sandbox-demo.mp4" type="video/mp4" />
</video>

## Before You Start

1. Log in to the Brick Dashboard.
2. Make sure the workspace is in **Testing** mode.
3. Create a Sandbox transaction for Virtual Account or QRIS.
4. Prepare your callback URL so your system can receive the simulated status update.

## Change Virtual Account Status

1. Open **Receive Money** in the sidebar.
2. Select **Virtual Account**.
3. Find the Sandbox transaction you want to simulate.
4. Open the action menu on the transaction row.
5. Select **Update Status** or **Change Status**.
6. Choose the target status available for that transaction.
7. Confirm the change.
8. Check that your Virtual Account callback endpoint receives the status update.

For Virtual Account testing, use the same callback handling, idempotency, and reconciliation rules that you plan to use in Production.

## Change QRIS Status

1. Open **Receive Money** in the sidebar.
2. Select **QRIS**.
3. Choose the QRIS type you are testing, such as **Dynamic QRIS**.
4. Find the Sandbox QRIS transaction by `referenceId`, date, or status.
5. Open the action menu on the transaction row.
6. Select **Update Status** or **Change Status**.
7. Choose the target status available for the QRIS transaction.
8. Confirm the change.
9. Check that your QRIS callback endpoint receives and processes the simulated update.

## Expected Result

After the status is changed, Brick updates the Sandbox transaction record and sends the configured callback for that payment method. Your system should process the simulated callback in the same way it processes a real Production callback.

## Important Notes

* This feature is only for Sandbox testing.
* Do not use Sandbox status changes to represent real customer payments.
* Available status options can differ by payment method and transaction state.
* If the action menu is not available, confirm that you are in **Testing** mode and that the transaction was created in Sandbox.
* Keep callback validation and duplicate handling enabled during testing so the Sandbox result matches your Production behavior.
