diff --git a/includes/payment-methods/class-wc-stripe-upe-payment-method-oxxo.php b/includes/payment-methods/class-wc-stripe-upe-payment-method-oxxo.php
new file mode 100644
index 0000000..074f80e
--- /dev/null
+++ b/includes/payment-methods/class-wc-stripe-upe-payment-method-oxxo.php
@@ -0,0 +1,52 @@
+<?php
+if ( ! defined( 'ABSPATH' ) ) {
+	exit;
+}
+
+/**
+ * OXXO Payment Method class extending UPE base class
+ */
+class WC_Stripe_UPE_Payment_Method_Oxxo extends WC_Stripe_UPE_Payment_Method {
+
+	const STRIPE_ID = 'oxxo';
+
+	const LPM_GATEWAY_CLASS = WC_Gateway_Stripe_Oxxo::class;
+
+	/**
+	 * Constructor for OXXO payment method
+	 *
+	 * @since 5.8.0
+	 */
+	public function __construct() {
+		parent::__construct();
+		$this->stripe_id            = self::STRIPE_ID;
+		$this->can_refund           = false;
+		$this->title                = 'Pay with OXXO';
+		$this->is_reusable          = false;
+		$this->supported_currencies = [ 'MXN' ];
+		$this->supported_countries  = [ 'MX' ];
+		$this->label                = __( 'OXXO', 'woocommerce-gateway-stripe' );
+		$this->description          = __(
+			'OXXO is a Mexican chain of convenience stores that allows customers to pay bills and online purchases in-store with cash.',
+			'woocommerce-gateway-stripe'
+		);
+
+		add_filter( 'wc_stripe_allowed_payment_processing_statuses', [ $this, 'add_allowed_payment_processing_statuses' ], 10, 2 );
+	}
+
+	/**
+	 * Adds on-hold as accepted status during webhook handling on orders paid with OXXO
+	 *
+	 * @param $allowed_statuses
+	 * @param $order
+	 *
+	 * @return mixed
+	 */
+	public function add_allowed_payment_processing_statuses( $allowed_statuses, $order ) {
+		if ( 'oxxo' === $order->get_meta( '_stripe_upe_payment_type' ) && ! in_array( 'on-hold', $allowed_statuses ) ) {
+			$allowed_statuses[] = 'on-hold';
+		}
+
+		return $allowed_statuses;
+	}
+}
