sions. * * @return array[] The base details of all extensions. */ private function get_all_extensions_base_details(): array { if ( isset( $this->extensions_base_details_memo ) ) { return $this->extensions_base_details_memo; } $this->extensions_base_details_memo = array( self::AIRWALLEX => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Airwallex Payments', 'woocommerce' ), 'description' => esc_html__( 'Boost international sales and save on FX fees. Accept 60+ local payment methods including Apple Pay and Google Pay.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/airwallex.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/airwallex.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'airwallex-online-payments-gateway', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.airwallex.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/airwallexpayments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.airwallex.com/terms/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://www.airwallex.com/docs/payments__plugins__woocommerce__install-the-woocommerce-plugin', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://help.airwallex.com/', ), ), ), self::ANTOM => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Antom', 'woocommerce' ), 'description' => esc_html__( 'Your trusted payments partner in Asia and around the world.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/antom.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'antom-payments', ), 'links' => array( array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/antom-payments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://global.alipay.com/docs/ac/Platform/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/antom-payment/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=antom-payments', ), ), ), self::MERCADO_PAGO => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Mercado Pago', 'woocommerce' ), 'description' => esc_html__( 'Set up your payment methods and accept credit and debit cards, cash, bank transfers and money from your Mercado Pago account. Offer safe and secure payments with Latin America’s leading processor.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/mercadopago.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/mercadopago.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-mercadopago', ), 'links' => array( array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/mercado-pago-checkout/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/mercado-pago/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=mercado-pago-checkout', ), ), 'tags' => array( self::TAG_PREFERRED ), ), self::MOLLIE => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Mollie', 'woocommerce' ), 'description' => esc_html__( 'Effortless payments by Mollie: Offer global and local payment methods, get onboarded in minutes, and supported in your language.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/mollie.svg', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/mollie.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'mollie-payments-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.mollie.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/mollie-payments-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.mollie.com/user-agreement', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/mollie-payments-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://discord.com/invite/mollie', ), ), ), self::PAYFAST => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Payfast', 'woocommerce' ), 'description' => esc_html__( 'The Payfast extension for WooCommerce enables you to accept payments by Credit Card and EFT via one of South Africa\'s most popular payment gateways. No setup fees or monthly subscription costs. Selecting this extension will configure your store to use South African rands as the selected currency.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/payfast.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/payfast.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-payfast-gateway', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://payfast.io/fees/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/payfast-payment-gateway/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://payfast.io/legal/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/payfast-payment-gateway/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=payfast-payment-gateway', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::PAYMOB => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Paymob', 'woocommerce' ), 'description' => esc_html__( 'Paymob is a leading payment gateway in the Middle East and Africa. Accept payments online and in-store with Paymob.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/paymob.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'paymob-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://paymob.com/en/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/paymob/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://paymob.com/en/policy', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/paymob-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=paymob', ), ), ), self::PAYPAL_FULL_STACK => array( '_type' => self::TYPE_APM, 'title' => esc_html__( 'PayPal Payments', 'woocommerce' ), 'description' => esc_html__( 'PayPal Payments lets you offer PayPal, Venmo (US only), Pay Later options and more.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/paypal.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/paypal.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-paypal-payments', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.paypal.com/webapps/mpp/merchant-fees', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/woocommerce-paypal-payments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.paypal.com/legalhub/home', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/woocommerce-paypal-payments/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=woocommerce-paypal-payments', ), ), 'tags' => array( self::TAG_MADE_IN_WOO, self::TAG_PREFERRED ), ), self::PAYPAL_WALLET => array( '_type' => self::TYPE_EXPRESS_CHECKOUT, 'title' => esc_html__( 'PayPal Payments', 'woocommerce' ), 'description' => esc_html__( 'Safe and secure payments using your customer\'s PayPal account.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/paypal.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/paypal.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-paypal-payments', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.paypal.com/webapps/mpp/merchant-fees#advanced_cd_payments', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/woocommerce-paypal-payments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.paypal.com/legalhub/home', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/woocommerce-paypal-payments/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=woocommerce-paypal-payments', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::PAYONEER => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Payoneer Checkout', 'woocommerce' ), 'description' => esc_html__( 'Payoneer Checkout is the next generation of payment processing platforms, giving merchants around the world the solutions and direction they need to succeed in today\'s hyper-competitive global market.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/payoneer.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/payoneer.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'payoneer-checkout', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.payoneer.com/about/pricing/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/payoneer-checkout/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.payoneer.com/legal-agreements/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://checkoutdocs.payoneer.com/docs/about-woocommerce-integration', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://checkoutdocs.payoneer.com/docs/troubleshoot-woocommerce', ), ), ), self::PAYSTACK => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Paystack', 'woocommerce' ), 'description' => esc_html__( 'Paystack helps African merchants accept one-time and recurring payments online with a modern, safe, and secure payment gateway.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/paystack.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/paystack.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woo-paystack', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://paystack.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/paystack/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://paystack.com/terms', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/paystack/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://support.paystack.com/en/articles/2130754', ), ), ), self::PAYTRAIL => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Paytrail', 'woocommerce' ), 'description' => esc_html__( 'Accept all popular payment methods for Finnish B2C and B2B customers', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/paytrail.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'paytrail-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.paytrail.com/en/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/paytrail/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.paytrail.com/en/terms-conditions', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/paytrail-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://www.paytrail.com/en/customer-service#merchants', ), ), ), self::PAYU_INDIA => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'PayU India', 'woocommerce' ), 'description' => esc_html__( 'Enable PayU\'s exclusive plugin for WooCommerce to start accepting payments in 100+ payment methods available in India including credit cards, debit cards, UPI, & more!', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/payu.svg', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/payu.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'payu-india', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://payu.in/pricing/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/payu-india/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://payu.in/payu-terms-and-conditions/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://payu.in/plugins/payment-gateway-for-woocommerce-plugin', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://help.payu.in/', ), ), ), self::RAZORPAY => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Razorpay', 'woocommerce' ), 'description' => esc_html__( 'The official Razorpay extension for WooCommerce allows you to accept credit cards, debit cards, netbanking, wallet, and UPI payments.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/razorpay.svg', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/razorpay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woo-razorpay', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://razorpay.com/pricing/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/razorpay-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://razorpay.com/terms/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://razorpay.com/docs/payment-gateway/ecommerce-plugins/woocommerce/woocommerce-pg/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://razorpay.com/support/', ), ), ), self::SQUARE => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Square', 'woocommerce' ), 'description' => esc_html__( 'Securely accept credit and debit cards with one low rate, no surprise fees (custom rates available). Sell in store and track sales and inventory in one place.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/square-black.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/square.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-square', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://squareup.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/square/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://squareup.com/legal/general/ua', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/woocommerce-square/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=square', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::STRIPE => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Stripe', 'woocommerce' ), 'description' => esc_html__( 'Accept debit and credit cards in 135+ currencies, methods such as Alipay, and one-touch checkout with Apple Pay.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/stripe.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/stripe.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-stripe', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://stripe.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/stripe/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://stripe.com/legal/connect-account', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/stripe', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=stripe', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::TILOPAY => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Tilopay', 'woocommerce' ), 'description' => esc_html__( 'Accept credit and debit cards on your WooCommerce store with advanced features like partial refunds, full/partial captures, and 3D Secure security.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/tilopay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'tilopay', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://tilopay.com/tarifas', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://tilopay.com/tilopay-checkout', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://tilopay.com/terminos-condiciones', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://tilopay.com/documentacion/plataforma-woocommerce', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://cst.support.tilopay.com/servicedesk/customer/portals', ), ), 'tags' => array( self::TAG_PREFERRED ), ), self::VIVA_WALLET => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Viva.com Smart Checkout', 'woocommerce' ), 'description' => esc_html__( 'A European payments solution that allows you to accept payments in over 25 countries and multiple currencies.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/vivacom.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'viva-com-smart-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.viva.com/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/viva-com-smart-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.viva.com/terms-portal', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/viva-com-smart-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=viva-com-smart-for-woocommerce', ), ), ), self::WOOPAYMENTS => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Accept payments with Woo', 'woocommerce' ), 'description' => esc_html__( 'Credit/debit cards, Apple Pay, Google Pay, and more.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/woopayments.svg', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/woo.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-payments', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://woocommerce.com/document/woopayments/fees-and-debits/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/payments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://woocommerce.com/document/woopayments/our-policies/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/woopayments/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=woopayments', ), ), 'tags' => array( self::TAG_MADE_IN_WOO, self::TAG_PREFERRED ), ), self::AMAZON_PAY => array( '_type' => self::TYPE_EXPRESS_CHECKOUT, 'title' => esc_html__( 'Amazon Pay', 'woocommerce' ), 'description' => esc_html__( 'Enable a familiar, fast checkout for hundreds of millions of active Amazon customers globally.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/amazonpay.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/amazonpay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-amazon-payments-advanced', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://pay.amazon.com/help/201212280', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/pay-with-amazon/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://pay.amazon.com/help/201212430', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/amazon-payments-advanced/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=pay-with-amazon', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::AFFIRM => array( '_type' => self::TYPE_BNPL, 'title' => esc_html__( 'Affirm', 'woocommerce' ), 'description' => esc_html__( 'Affirm\'s tailored Buy Now Pay Later programs remove price as a barrier, turning browsers into buyers, increasing average order value, and expanding your customer base.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/affirm.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/affirm.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-affirm', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.affirm.com/business', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/woocommerce-gateway-affirm/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.affirm.com/terms', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/woocommerce-gateway-affirm/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=woocommerce-gateway-affirm', ), ), 'tags' => array( self::TAG_MADE_IN_WOO ), ), self::AFTERPAY => array( '_type' => self::TYPE_BNPL, 'title' => esc_html__( 'Afterpay', 'woocommerce' ), 'description' => esc_html__( 'Afterpay allows customers to receive products immediately and pay for purchases over four installments, always interest-free.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/afterpay.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/afterpay-clearpay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'afterpay-gateway-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.afterpay.com/for-retailers', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/afterpay/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.afterpay.com/terms-of-service', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/afterpay/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=afterpay', ), ), ), self::CLEARPAY => array( '_type' => self::TYPE_BNPL, 'title' => esc_html__( 'Clearpay', 'woocommerce' ), 'description' => esc_html__( 'Clearpay allows customers to receive products immediately and pay for purchases over four installments, always interest-free.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/afterpay-clearpay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'clearpay-gateway-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.clearpay.co.uk/en-GB/for-retailers', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/clearpay/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.clearpay.co.uk/terms-of-service', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/clearpay/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=clearpay', ), ), ), self::KLARNA => array( '_type' => self::TYPE_BNPL, 'title' => esc_html__( 'Klarna Payments', 'woocommerce' ), 'description' => esc_html__( 'Choose the payment that you want, pay now, pay later or slice it. No credit card numbers, no passwords, no worries.', 'woocommerce' ), 'image' => plugins_url( 'assets/images/onboarding/klarna-black.png', WC_PLUGIN_FILE ), 'icon' => plugins_url( 'assets/images/onboarding/icons/klarna.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'klarna-payments-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.klarna.com/us/business/payment-methods/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/klarna-payments/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.klarna.com/us/legal/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/klarna-payments/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=klarna-payments', ), ), ), self::KLARNA_CHECKOUT => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Klarna Checkout', 'woocommerce' ), 'description' => esc_html__( 'A full checkout experience embedded on your site that includes all popular payment methods (Pay Now, Pay Later, Financing, Installments).', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/klarna-checkout.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'klarna-checkout-for-woocommerce', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.klarna.com/us/business/payment-methods/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/klarna-checkout/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://www.klarna.com/us/legal/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/klarna-checkout/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=klarna-checkout', ), ), ), self::HELIOPAY => array( '_type' => self::TYPE_CRYPTO, 'title' => esc_html__( 'Helio Pay', 'woocommerce' ), 'description' => esc_html__( 'Effortlessly accept cryptocurrency payments in your store.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/heliopay.png', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'helio', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://www.hel.io/pricing', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/helio-pay/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://info.docs.hel.io/terms-of-service', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/helio-pay/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=helio-pay', ), ), ), self::MONEI => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'MONEI', 'woocommerce' ), 'description' => esc_html__( 'Accept Cards, Apple Pay, Google Pay, Bizum, PayPal, and many more payment methods in your store.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/monei.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'monei', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://monei.com/pricing/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://monei.com/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://monei.com/legal-notice/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://support.monei.com/hc/en-us/articles/360017801677-Get-started-with-MONEI', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://support.monei.com/hc/en-us/requests/new', ), ), ), self::COINBASE => array( '_type' => self::TYPE_CRYPTO, 'icon' => plugins_url( 'assets/images/onboarding/icons/coinbase.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'coinbase-commerce', ), ), self::AUTHORIZE_NET => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/authorize.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-authorize-net-cim', ), ), self::BILLIE => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'Billie', 'woocommerce' ), 'description' => esc_html__( 'Billie is the leading provider of Buy Now, Pay Later payment methods for B2B stores.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/billie.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'billie-for-woocommerce', ), ), self::BOLT => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/bolt.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'bolt-checkout-woocommerce', ), ), self::DEPAY => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/depay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'depay-payments-for-woocommerce', ), ), self::ELAVON => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/elavon.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-converge', ), ), self::EWAY => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/eway.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-eway', ), ), self::FORTISPAY => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/fortispay.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'fortis-for-woocommerce', ), ), self::GOCARDLESS => array( '_type' => self::TYPE_PSP, 'title' => esc_html__( 'GoCardless', 'woocommerce' ), 'description' => esc_html__( 'Accept Direct Debit, ACH Pull, and open baking payments.', 'woocommerce' ), 'icon' => plugins_url( 'assets/images/onboarding/icons/gocardless.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-gocardless', ), 'links' => array( array( '_type' => self::LINK_TYPE_PRICING, 'url' => 'https://gocardless.com/pricing/', ), array( '_type' => self::LINK_TYPE_ABOUT, 'url' => 'https://woocommerce.com/products/gocardless/', ), array( '_type' => self::LINK_TYPE_TERMS, 'url' => 'https://gocardless.com/legal/', ), array( '_type' => self::LINK_TYPE_DOCS, 'url' => 'https://woocommerce.com/document/gocardless/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/my-account/contact-support/?select=gocardless', ), ), ), self::NEXI => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/nexi.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'dibs-easy-for-woocommerce', ), ), self::PAYPAL_ZETTLE => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/paypal-zettle.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'zettle-pos-integration', ), ), self::RAPYD => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/rapyd.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'rapyd-payments-plugin-for-woocommerce', ), ), self::PAYPAL_BRAINTREE => array( '_type' => self::TYPE_PSP, 'icon' => plugins_url( 'assets/images/onboarding/icons/paypal-braintree.svg', WC_PLUGIN_FILE ), 'plugin' => array( '_type' => self::PLUGIN_TYPE_WPORG, 'slug' => 'woocommerce-gateway-paypal-powered-by-braintree', ), ), ); return $this->extensions_base_details_memo; } /** * Get the base details for a specific extension. * * @see self::standardize_extension_details() for the supported entries. * * @param string $extension_id The extension ID. * * @return ?array The extension base details. * Null if the extension is not one we have details for. */ private function get_extension_base_details( string $extension_id ): ?array { $extensions = $this->get_all_extensions_base_details(); if ( ! isset( $extensions[ $extension_id ] ) ) { return null; } return $extensions[ $extension_id ]; } /** * Standardize the details for an extension. * * Ensures that the details array has all the required fields, and fills in any missing optional fields with defaults. * We also enforce a consistent order for the fields. * * @param array $extension_details The extension details. * * @return array The standardized extension details. */ private function standardize_extension_details( array $extension_details ): array { $standardized = array(); // Required fields. $standardized['id'] = $extension_details['id']; $standardized['_priority'] = $extension_details['_priority']; $standardized['_type'] = $extension_details['_type']; $standardized['plugin'] = $extension_details['plugin']; // Optional fields. $standardized['title'] = $extension_details['title'] ?? ''; $standardized['description'] = $extension_details['description'] ?? ''; $standardized['image'] = $extension_details['image'] ?? ''; $standardized['icon'] = $extension_details['icon'] ?? ''; $standardized['links'] = $extension_details['links'] ?? array(); $standardized['tags'] = $extension_details['tags'] ?? array(); $standardized['_incentive'] = $extension_details['_incentive'] ?? null; return $standardized; } /** * Based on the WC onboarding profile, determine if the merchant is selling online. * * If the user skipped the profiler (no data points provided), we assume they are selling online. * * @return bool True if the merchant is selling online, false otherwise. */ private function is_merchant_selling_online(): bool { /* * We consider a merchant to be selling online if: * - The profiler was skipped (no data points provided). * OR * - The merchant answered 'Which one of these best describes you?' with 'I’m already selling' AND: * - Didn't answer to the 'Are you selling online?' question. * OR * - Answered the 'Are you selling online?' question with either: * - 'Yes, I’m selling online'. * OR * - 'I’m selling both online and offline'. * * @see plugins/woocommerce/client/admin/client/core-profiler/pages/UserProfile.tsx for the values. */ $onboarding_profile = get_option( OnboardingProfile::DATA_OPTION, array() ); if ( ! isset( $onboarding_profile['business_choice'] ) || ( 'im_already_selling' === $onboarding_profile['business_choice'] && ( ! isset( $onboarding_profile['selling_online_answer'] ) || ( 'yes_im_selling_online' === $onboarding_profile['selling_online_answer'] || 'im_selling_both_online_and_offline' === $onboarding_profile['selling_online_answer'] ) ) ) ) { return false; } return true; } /** * Based on the WC onboarding profile, determine if the merchant is selling offline. * * If the user skipped the profiler (no data points provided), we assume they are NOT selling offline. * * @return bool True if the merchant is selling offline, false otherwise. */ private function is_merchant_selling_offline(): bool { /* * We consider a merchant to be selling offline if: * - The profiler was NOT skipped (data points provided). * AND * - The merchant answered 'Which one of these best describes you?' with 'I’m already selling' AND: * - Answered the 'Are you selling online?' question with either: * - 'No, I’m selling offline'. * OR * - 'I’m selling both online and offline'. * * @see plugins/woocommerce/client/admin/client/core-profiler/pages/UserProfile.tsx for the values. */ $onboarding_profile = get_option( OnboardingProfile::DATA_OPTION, array() ); if ( isset( $onboarding_profile['business_choice'] ) && ( 'im_already_selling' === $onboarding_profile['business_choice'] && ( isset( $onboarding_profile['selling_online_answer'] ) && ( 'no_im_selling_offline' === $onboarding_profile['selling_online_answer'] || 'im_selling_both_online_and_offline' === $onboarding_profile['selling_online_answer'] ) ) ) ) { return true; } return false; } }