Skip to main content
All test products below are on rye-test-store.myshopify.com. Use Stripe test cards for payment.
rye-protocol.myshopify.com is also available for production test orders. It uses a live payment gateway — payments are not captured and funds are automatically returned to the card after ~1 week.

Shipping & Delivery

Standard Product (Baseline)

Use as a baseline for comparison against edge-case products.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/product-published-to-rye-channel
A product fulfilled via third-party logistics (3PL). Shipping rates are calculated dynamically by the carrier based on the buyer’s shipping address, rather than being flat rates set by the merchant.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/test-product-3pl
Expected behavior:
  • Shipping rates vary based on the buyer’s address
  • Applying a discount code may cause the available shipping options to change (e.g., if the discounted total drops below a free shipping threshold)
A digital product (e.g., an ebook or software license) that does not require physical shipping.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/digital-product
Price$9.99
Expected behavior:
  • A free shipping method is returned on the checkout intent
  • Shipping cost is $0
A product with a very high weight (100 lbs). Tests weight-based shipping rate calculations.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/heavyweight-product
Price$199.99
Expected behavior:
  • Shipping rates significantly higher than standard products

Inventory & Availability

A product with 0 inventory that cannot be purchased.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/sold-out-product
Expected behavior:
  • Checkout intent fails with product_out_of_stock
A product where some variants are in stock and others are sold out.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/partial-stock-variants
Price$40.00
VariantsSize: S (in stock), M (in stock), L (sold out), XL (sold out)
Expected behavior:
  • Selecting an in-stock variant (S or M) succeeds
  • Selecting a sold-out variant (L or XL) fails with product_out_of_stock
A product that is not published to any sales channel (draft or hidden).
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/unpublished-draft
Price$25.00
Expected behavior:
  • Product URL returns 404
  • Checkout intent fails with offer_retrieval_failed

Variants & Options

A product where each variant has a different price point.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/test-product-with-different-variant-prices
Expected behavior:
  • Offer returns the correct price for the selected variant
  • Switching variants updates the price, shipping, and tax accordingly
A product with many variant combinations (5 colors x 5 sizes = 25 variants) with different prices per variant.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/many-variants
Price$35.00 to $55.00 (varies by variant)
Expected behavior:
  • All 25 variants available for selection
  • Offer reflects the correct price for the selected variant

Pricing & Tax

A product at a very high price point.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/high-value-product
Price$9,999.99
Expected behavior:
  • Offer returns cost.subtotal.amountSubunits = 999999
  • Checkout completes successfully
A product with a compare-at (original) price showing a discount on the storefront.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/on-sale-compare-at
Price$19.99 (compare-at $39.99)
Expected behavior:
  • Offer returns the selling price ($19.99), not the compare-at price
A product that is not subject to sales tax.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/tax-exempt-product
Price$25.00
Expected behavior:
  • cost.tax.amountSubunits = 0
  • Total = subtotal + shipping (no tax component)
A gift card product with no shipping required and no tax applied.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/test-gift-card
Denominations$25, $50, $100
Expected behavior:
  • A free shipping method is returned
  • No tax applied
  • Fulfillment is digital (email delivery)

Product Data Edge Cases

A product with no product images uploaded.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/no-images-product
Price$10.00
Expected behavior:
  • Offer returns empty images array
  • Checkout completes without errors
A product with a 255-character title containing unicode, accented characters, and special symbols.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/long-title-special-chars
Price$15.00
Expected behavior:
  • Product title returned without truncation or encoding issues
  • Checkout completes without errors

Discounts & Promo Codes

A product with a discount code that can be passed via the promoCodes field.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/discount-test-product
Price$50.00
Discount CodeTESTDISCOUNT (20% off)
Expected behavior:
  • Pass promoCodes: ["TESTDISCOUNT"] when creating the checkout intent
  • Offer cost.discount.amountSubunits reflects 20% off
  • Only one discount code per order
A product priced just above the free shipping threshold, with a discount code that drops the subtotal below it.
FieldValue
Product URLhttps://rye-test-store.myshopify.com/products/free-shipping-threshold
Price$52.00
Discount CodeSAVE10
Expected behavior:
  • Without discount: free shipping applies
  • With SAVE10: subtotal drops to $42, free shipping no longer available, shipping cost increases
Applying a discount can change the available shipping methods if the discounted subtotal crosses a free shipping threshold.

Simulating Payment Failures

No special product needed — use Stripe’s test card numbers to simulate different payment outcomes with any product above.

Card Decline Scenarios

Card NumberBehaviorFailure Reason
4242 4242 4242 4242Payment succeeds
4000 0000 0000 0002Generic declinepayment_failed
4000 0000 0000 9995Insufficient fundspayment_failed
4000 0000 0000 9987Lost cardpayment_failed
4000 0000 0000 0069Expired cardpayment_failed
4000 0000 0000 0127Incorrect CVCpayment_failed
Use any future expiration date and any 3-digit CVC.

3D Secure / Authentication Challenges

Card NumberBehavior
4000 0027 6000 3184Requires 3D Secure authentication
3D Secure authentication is not currently supported. If 3DS is triggered by the store, the checkout intent will fail with payment_failed.

Malformed Input & Validation Errors

Rye returns synchronous 400 errors for invalid buyer data. No special product needed — just send bad inputs.

Address Validation

InputExampleExpected
Invalid state/provinceprovince: "XX"400 error
Invalid postal codepostalCode: "ZZZZZ"400 error
Wrong ZIP for statepostalCode: "90210" with province: "NY"400 error
Invalid country codecountry: "ZZ"400 error
Missing required fieldOmit address1 or city400 error
Emojis in addressaddress1: "123 Main St 🏠"400 error

Buyer Identity Validation

InputExampleExpected
Invalid emailemail: "not-an-email"400 error
Missing emailOmit email field400 error
Invalid phonephone: "abc"400 error

Failure Reason Reference

When a checkout intent fails, the response includes a failureReason with a code and message. Here are the most common failure codes you may encounter during testing:
Failure CodeMeaning
product_out_of_stockProduct or selected variant has no available inventory
offer_retrieval_failedCould not fetch pricing/shipping from merchant (product not found, unsupported, store issue)
payment_failedPayment was declined or could not be processed
missing_shipping_methodNo valid shipping method available for the buyer’s address
checkout_intent_expiredIntent was not confirmed within 45 minutes of creation
order_placement_failedPayment succeeded but order could not be placed at the merchant
variant_selections_invalidThe variant selections provided don’t match the product’s available options
variant_selections_requiredProduct has variants but no variantSelections were provided
constraint_total_price_exceededOrder total exceeded the maxTotalPrice constraint
constraint_shipping_cost_exceededShipping cost exceeded the maxShippingPrice constraint
form_validation_errorBuyer information was rejected by the merchant’s checkout form
unsupported_store_no_guest_checkoutMerchant requires customer login — guest checkout is not available