Testing orders in development stores

By placing a test order, you can make sure that your development store's checkout process and settings for order processing, inventory, shipping, email notifications, and taxes are all correct. Development stores can process unlimited test orders.

Ways to test orders

You can test orders in a development store in the following ways:

You can also create test orders using the following APIs: * REST Admin API * GraphQL Admin API

If you're using the Admin API to test orders, then you need to set the test property or field to true.

Limitations

There are limitations when you test orders in a development store:

  • You can't test orders using real transactions. Real transactions are transactions that are processed through a payment provider that isn't in test mode, and that use real payment information such as a valid credit card number.
  • You can't test orders using manual payment methods. This includes cash and custom payments on Shopify POS.
  • You can't test orders using draft orders that you create in the Shopify admin.

To test with these transaction types, you need to transfer the development store to a paid plan. - You can't test using draft orders you create in your Shopify admin. You need to place test orders using the development store's checkout.

Testing using Shopify's Bogus Gateway

To simulate a transaction on your development store's online checkout, you can set up Shopify's Bogus Gateway. Bogus Gateway is a payment provider that any store can use to create test orders.

To create an order, you need to enter test payment information at checkout. You can simulate different types of transactions, depending on what information you enter.

Steps:

  1. If you have a credit card payment provider activated, then deactivate it before continuing. Click Manage > Deactivate (this button also displays the name of your payment provider, for example Deactivate Shopify Payments), then confirm your deactivation.
  2. Do one of the following:
    1. If you have a third party payment provider activated, then deactivate it.
    2. If you have Shopify Payments activated:
      • In the Shopify payments section, click Manage > Manage payment methods.
      • At the bottom of the page, click Switch to a third-party provider, and then click Switch to a third-party provider again to confirm.
    3. If you don't have Shopify Payments activated, then in the Shopify payments section, click See all other providers.
    4. If Shopify Payments isn't available in your country, then in the Payment providers section, click Choose a provider.
  3. Select (for testing) Bogus Gateway from the list.
  4. Click Activate (for testing) Bogus Gateway.
  5. Click Save.
  6. Go to your online store and place an order as a customer would. At checkout, enter the following credit card details instead of genuine numbers:
Card details to enter when testing your checkout with the bogus gateway
Field name Details to enter
Name on card Enter Bogus Gateway
Credit card number

Enter each of these in turn to simulate different types of transaction:

  • Enter 1 to simulate a successful transaction
  • Enter 2 to simulate a failed transaction
  • Enter 3 to simulate an exception (this generates a message indicating that an error has occurred with the provider)
CVV Enter any 3-digit number (for example, 111.)
Expiry Date Enter any date in the future.
  1. After you're done testing, click Manage next to (for testing) Bogus Gateway in your Shopify admin.

  2. Click Deactivate (for testing) Bogus Gateway to remove this gateway from your checkout.

Testing using Shopify Payments test mode

To test your Shopify Payments setup, enable the test mode and use test credit cards to simulate payments.

Enable test mode for Shopify payments

Before you can create test orders, you need to enable the test mode for Shopify payments.

Steps:

  1. In the Shopify Payments section, click Manage.
  2. In the Test mode section, select Enable test mode.
  3. Click Save.

Next steps:

You can create orders and then simulate transactions by using a test credit card number. There are test numbers to create successful transactions, failed transactions, and transactions in different currencies.

Simulate successful transactions

To simulate a successful transaction, use the following information when you are asked for credit card details at checkout:

  • Name on card: Enter at least two words.
  • Expiry date: Enter any date in the future.
  • Security code: Enter any three digits.
  • Card number: Use any of the following numbers:
Simulate a successful transactions with these card numbers
Card type Test credit number
Visa 4242424242424242
Mastercard 5555555555554444
American Express 378282246310005
Discover 6011111111111117
Diners Club 30569309025904
JCB 3530111333300000

Simulate failed transactions

If you want to see the credit card error messages that might be displayed to a customer during checkout, then you can use these test credit card numbers to simulate different failed transactions:

  • Use credit card number 4000000000000002 to generate a card declined message.
  • Use credit card number 4242424242424241 to generate an incorrect number message.
  • Use credit card number 4000000000000259 to simulate a disputed transaction.
  • Use an invalid expiry month, for example 13, to generate an invalid expiry month message.
  • Use an expiry year in the past to generate an invalid expiry year message.
  • Use a two-digit security code number to generate an invalid security code message.

Test mode for third-party payment providers

Some third-party payment providers offer a test mode that you can enable in the Shopify admin. Third party payment providers must have an Enable test mode option enabled in their settings to be tested in a development store. For more information about using test mode with a specific third-party payment provider, refer to the payment provider's documentation.

When a payment gateway is in test mode, requests from Shopify include the test attribute. If test is set to true, then the payment is processed as a test payment and no actual transaction is made.

If you're a third-party payment provider and want to add the Enable test mode option to your settings, then you need to add payment sandbox URLs to your payments app extension in the Partner Dashboard.

Testing with real transactions

If you need to test your development store using real transactions, then you need to transfer your store to a paid plan. For more information, refer to Transferring development stores to clients.

If you want to switch a development store to a paid plan but still be the store's owner, then choose a plan in the Shopify admin.