Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Accept an OXXO payment


Accept an the related setting payment

Checkout

Elements

Direct API

Mobile

the related setting is a single use payment method where customers are required to take additional steps to complete their payment. Customers pay by providing an the related setting voucher with a generated number and cash payment at an the related setting convenience store.

Determine compatibility

A Checkout Session must satisfy all of the following conditions to support the related setting payments:

  • Prices for all line items must be in the same currency. If you have line items in different currencies, create separate Checkout Sessions for each currency.
  • You can only use one-time line items (recurring subscription plans aren’t supported).

Accept a payment

Note

Build an integration to accept a payment with Checkout before using this guide.

When creating a new Checkout Session, you need to:

  1. Enable the related setting in your Dashboard. Stripe automatically displays the related setting to eligible customers using dynamic payment methods . If you currently specify payment _ method _ types , see the migration guide .
  2. Make sure all your line _ items use the mxn currency.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Additional payment method options

You can set an the related setting voucher’s expiration time to between 1 and 7 days by specifying the expires_after_days parameter in the payment method options for your Session. An the related setting voucher expires at 23:59 America/Mexico City time (UTC-6) on its expiration date. If you don’t specify expires_after_days, the default value is 5.

For example, if you create an the related setting voucher on Monday and set expires_after_days to 2, that voucher expires on Wednesday at 23:59 America/Mexico_City (UTC-6) time.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Redirect to Stripe hosted voucher page

After submitting the Checkout form successfully, the customer is redirected to the hosted_voucher_url. The customer can find the barcode or print the the related setting voucher from the hosted voucher page. You can locate the hosted_voucher_url in payment_intent.next_action.oxxo_display_details.

Stripe allows customization of customer-facing UIs on the Branding Settings page. The following brand settings can be applied to the voucher:

  • Icon —your brand image and public business name
  • Accent color —used as the color of Print button
  • Brand color —used as the background color

Fulfill your orders

Because the related setting is a delayed notification payment method, you need to use a method such as webhooks to monitor the payment status and handle order fulfillment. Learn more about setting up webhooks and fulfilling orders.

The following events are sent when the payment status changes:

Event NameDescriptionNext steps
checkout.session.completedThe customer has successfully submitted the Checkout form. Stripe has generated the the related setting voucher. You can choose to email the hosted_voucher_url to your customer in case they lose the the related setting voucher.Wait for the customer to pay the the related setting voucher.
checkout.session.async_payment_succeededThe customer has successfully paid the the related setting. The PaymentIntent transitions to succeeded.Fulfill the goods or services that the customer purchased.
checkout.session.async_payment_failedThe the related setting voucher has expired, or the payment has failed for some other reason. The PaymentIntent returns to a status of requires_payment_method.Contact the customer through email and request that they place a new order.

Test your integration

When testing your Checkout integration, select the related setting as the payment method and click the Pay button.

EmailDescription
{any_prefix}@{any_domain}Simulates an the related setting voucher which a customer pays after 3 minutes and the payment_intent.succeeded webhook arrives after about 3 minutes. In production, this webhook arrives after 1 business day. Example:
{any_prefix}succeed_immediately@{any_domain}Simulates an the related setting voucher which a customer pays immediately and the payment_intent.succeeded webhook arrives within several seconds. In production, this webhook arrives after 1 business day. Example:
{any_prefix}expire_immediately@{any_domain}Simulates an the related setting voucher which expires before a customer pays and the payment_intent.payment_failed webhook arrives within several seconds. The expires_after field in next_action.oxxo_display_details is set to the current time regardless of what the expires_after_days parameter in payment method options is set to. Example:
{any_prefix}expire_with_delay@{any_domain}Simulates an the related setting voucher which expires before a customer pays and the payment_intent.payment_failed webhook arrives after about 3 minutes. The expires_after field in next_action.oxxo_display_details is set to 3 minutes in the future regardless of what the expires_after_days parameter in payment method options is set to. Example:
{any_prefix}fill_never@{any_domain}Simulates an the related setting voucher which expires before a customer pays and the payment_intent.payment_failed webhook arrives after 1 business day and 2 calendar days. In production, this webhook arrives at the same time as in testmode. Example:

Optional Send payment instruction emails

See also

Last verified 2026-09-24

Is this helpful?