ntives->get_incentive_dismissals( $incentive['id'], $extension_id ) ) ); return $incentive; } /** * Sanitize the incentive details for a payment extension. * * @param array $incentive The incentive details. * * @return array The sanitized incentive details. */ private function sanitize_extension_incentive( array $incentive ): array { // Apply a very lose sanitization. Stricter sanitization can be applied downstream, if needed. return array_map( function ( $value ) { // Make sure that if we have HTML tags, we only allow a limited set of tags (only stylistic ones). if ( is_string( $value ) && preg_match( '/<[^>]+>/', $value ) ) { $value = wp_kses( $value, wp_kses_allowed_html( 'data' ) ); } return $value; }, $incentive ); } /** * Get the base details of all extensions. * * @return array[] The base details of all extensions. */ private function get_all_extensions_base_details(): array { return 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-wallet-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-wallet-for-woocommerce/', ), array( '_type' => self::LINK_TYPE_SUPPORT, 'url' => 'https://woocommerce.com/document/viva-wallet-standard-checkout/#section-26', ), ), ), 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', ), ), ); } /** * 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; } }