# Test and Live mode

> Practice the buyer experience without moving money, then prepare a separate checkout for real customers.

Source: https://railbed.io/docs/user-guide/test-and-live/ · Updated: 2026-09-26 · Railbed by DeepWork user guide

## Check the mode before you create

Use the **Live** switch in the dashboard. Live off means Test mode. The app shows a Test mode banner and labels so you can tell which records you are viewing.

| What changes | Test mode | Live mode |
|---|---|---|
| Card payments | Simulated; no card is charged | Real payments through available card providers |
| Wallet display | Simulated USDC received in the last 7 days | USDC balance read from your wallet on Polygon |
| Links, checkouts, orders, customers and payments | Separate Test records | Separate Live records |
| Provider list | Fixed for practice | Depends on current availability and buyer eligibility |
| Webhooks | Real signed HTTP deliveries for simulated events | Real signed HTTP deliveries for actual events |

Business details, branding and the payout wallet in Settings are shared across both modes. Changing those settings while viewing Test mode still changes your account settings.

## Run a practice payment

1. Turn **Live** off and create a payment link or checkout with a sample price, such as $49.
2. Open the buyer link and continue with an email address you use for testing. Choose one of the available Test providers.
3. Railbed opens a simulated provider page. Choose **Simulate successful payment**. You do not enter card details.
4. Return to the original checkout tab. It updates to the paid result, or follows your success URL if you set one.
5. Open **Payments** in Test mode. Find the payment, confirm **Paid**, and inspect the timeline and simulated receipt.

You can also open [Orders](https://railbed.io/docs/user-guide/orders.md) to inspect the purchase and its attempts, then open its [customer](https://railbed.io/docs/user-guide/customers.md). These are Test records. A simulated Paid status does not represent a real charge or settlement.

## Practice the exceptions too

Create a **new** Test payment for each outcome.

- **Simulate an underpayment:** the payment becomes **Being reviewed**. Open its details to understand the hold and any available review action.
- **Simulate a decline:** the payment becomes **Declined**. The Test decline is terminal; start a fresh payment to test again.
- **Leave a payment unfinished:** see how an open or in-progress payment differs from a paid one.

A Live card decline happens on the provider's page and is not directly reported to Railbed. The payment may stay open or in progress until it is paid or expires. Test mode teaches the UI and integration behavior; it does not prove which providers will approve a real buyer.

> [!NOTE]
> A configured Test webhook still sends real requests to its endpoint. Use an endpoint intended for testing, especially if your connected system sends emails or fulfils orders automatically.

## Before sharing a Live link

- [ ] Confirm the full Polygon payout address in **Settings** against the wallet you control.
- [ ] Review your business name, logo, support email and displayed Railbed fee.
- [ ] Switch to **Live** and create the payment link or checkout there.
- [ ] Open that exact buyer link and confirm its price, currency, description and appearance.
- [ ] Copy the Live embed code again if you are using a button or widget.
- [ ] Confirm how you will deliver the order after **Paid**, and what you will do with a payment that needs review.
- [ ] If you use a store or API integration, connect the matching Live key and Live webhook endpoint.

Opening a Live checkout is different from completing a card payment. A successful Test payment does not move funds or demonstrate real settlement.

## Where did my checkout go?

Check the mode first. A Test link, payment or key is not listed in Live mode, and vice versa. Switching modes changes the records you see; it does not delete them.

The buyer URL already identifies its checkout or payment. Your current dashboard mode does not change what a customer sees when they open a previously shared URL.
