/** * External dependencies */ import { Card, CardFooter, CardBody, Button } from '@wordpress/components'; import { Text } from '@woocommerce/experimental'; import { __ } from '@wordpress/i18n'; import { ONBOARDING_STORE_NAME, PAYMENT_GATEWAYS_STORE_NAME, PaymentGateway, WCDataSelector, } from '@woocommerce/data'; import { useSelect } from '@wordpress/data'; import { useExperiment } from '@woocommerce/explat'; import { getAdminLink } from '@woocommerce/settings'; import moment from 'moment'; import interpolateComponents from '@automattic/interpolate-components'; import { Link } from '@woocommerce/components'; /** * Internal dependencies */ import { Visa, MasterCard, Amex, ApplePay, Giropay, GooglePay, CB, DinersClub, Discover, UnionPay, JCB, Sofort, } from '../payments-welcome/cards'; import WCPayBannerImage from './wcpay-banner-image'; import './payment-recommendations.scss'; import { isWcPaySupported } from './utils'; import { getAdminSetting } from '~/utils/admin-settings'; export const PaymentMethodsIcons = () => (
); const WcPayBanner = () => { const WC_PAY_SETUP_URL = getAdminLink( 'admin.php?wcpay-connect=1&_wpnonce=' + getAdminSetting( 'wcpay_welcome_page_connect_nonce' ) ); return (
{ __( 'Accept Payments and manage your business.', 'woocommerce' ) } { interpolateComponents( { mixedString: __( 'By using WooCommerce Payments you agree to be bound by our {{tosLink}}Terms of Service{{/tosLink}} and acknowledge that you have read our {{privacyLink}}Privacy Policy{{/privacyLink}} ', 'woocommerce' ), components: { tosLink: ( <> ), privacyLink: ( <> ), }, } ) }
{ __( 'Accepted payment methods include:', 'woocommerce' ) }
{ __( '& more.', 'woocommerce' ) }
); }; const DefaultPaymentMethodsHeaderText = () => ( <>

Payment Methods

Installed payment methods are listed below and can be sorted to control their display order on the frontend.

); export const PaymentsBannerWrapper = () => { const { installedPaymentGateways, paymentGatewaySuggestions, isResolving, } = useSelect( ( select: WCDataSelector ) => { return { installedPaymentGateways: select( PAYMENT_GATEWAYS_STORE_NAME ).getPaymentGateways(), isResolving: select( ONBOARDING_STORE_NAME ).isResolving( 'getPaymentGatewaySuggestions' ), paymentGatewaySuggestions: select( ONBOARDING_STORE_NAME ).getPaymentGatewaySuggestions(), }; } ); const isWcPayInstalled = installedPaymentGateways.some( ( gateway: PaymentGateway ) => { return gateway.id === 'woocommerce_payments'; } ); const isWcPayDisabled = installedPaymentGateways.find( ( gateway: PaymentGateway ) => { return ( gateway.id === 'woocommerce_payments' && gateway.enabled === false ); } ); const momentDate = moment().utc(); const year = momentDate.format( 'YYYY' ); const month = momentDate.format( 'MM' ); const [ isLoadingExperiment, experimentAssignment ] = useExperiment( `woocommerce_payments_settings_banner_${ year }_${ month }` ); if ( ! isResolving && ! isLoadingExperiment ) { if ( isWcPaySupported( paymentGatewaySuggestions ) && isWcPayInstalled && isWcPayDisabled && experimentAssignment?.variationName === 'treatment' ) { return ; } return ; } return ; };