->get('wcgateway.processor.refunds'), $container->get('wcgateway.transaction-url-provider'), $container->get('wcgateway.builder.experience-context'), $container->get('ppcp-local-apms.asset_getter')); }, 'ppcp-local-apms.oxxo.payment-method' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\LocalAlternativePaymentMethods\OXXOPaymentMethod { return new \WooCommerce\PayPalCommerce\LocalAlternativePaymentMethods\OXXOPaymentMethod($container->get('ppcp-local-apms.asset_getter'), $container->get('ppcp.asset-version'), $container->get('ppcp-local-apms.oxxo.wc-gateway')); }, 'ppcp-local-apms.oxxo.integration' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\LocalAlternativePaymentMethods\OXXOIntegration { return new \WooCommerce\PayPalCommerce\LocalAlternativePaymentMethods\OXXOIntegration($container->get('wcgateway.checkout-helper')); }, 'ppcp-local-apms.pui.order-endpoint' => static function (ContainerInterface $container): PayUponInvoiceOrderEndpoint { return new PayUponInvoiceOrderEndpoint($container->get('api.host'), $container->get('api.bearer'), $container->get('api.factory.order'), $container->get('wcgateway.fraudnet'), $container->get('woocommerce.logger.woocommerce')); }, 'ppcp-local-apms.pui.payment-source-factory' => static function (ContainerInterface $container): PaymentSourceFactory { return new PaymentSourceFactory($container->get('settings.data.payment')); }, 'ppcp-local-apms.pui.wc-gateway' => static function (ContainerInterface $container): PayUponInvoiceGateway { return new PayUponInvoiceGateway($container->get('ppcp-local-apms.pui.order-endpoint'), $container->get('api.factory.purchase-unit'), $container->get('ppcp-local-apms.pui.payment-source-factory'), $container->get('settings.environment'), $container->get('wcgateway.transaction-url-provider'), $container->get('woocommerce.logger.woocommerce'), $container->get('wcgateway.checkout-helper'), $container->get('settings.flag.is-connected'), $container->get('wcgateway.processor.refunds'), $container->get('ppcp-local-apms.asset_getter')); }, 'ppcp-local-apms.pui.payment-method' => static function (ContainerInterface $container): PUIPaymentMethod { return new PUIPaymentMethod($container->get('ppcp-local-apms.asset_getter'), $container->get('ppcp.asset-version'), $container->get('ppcp-local-apms.pui.wc-gateway')); }, 'ppcp-local-apms.pui.integration' => static function (ContainerInterface $container): PayUponInvoiceIntegration { return new PayUponInvoiceIntegration($container->get('ppcp-local-apms.pui.order-endpoint'), $container->get('woocommerce.logger.woocommerce'), $container->get('wcgateway.pay-upon-invoice-product-status'), $container->get('wcgateway.pay-upon-invoice-helper'), $container->get('wcgateway.checkout-helper'), $container->get('api.factory.capture'), $container->get('settings.data.payment'), $container->get('settings.flag.is-connected')); }, 'ppcp-local-apms.eligibility.check' => static function (ContainerInterface $container): bool { $general_settings = $container->get('settings.data.general'); assert($general_settings instanceof GeneralSettings); $merchant_data = $general_settings->get_merchant_data(); $merchant_country = $merchant_data->merchant_country; $ineligible_countries = array('RU', 'BR', 'JP'); return !in_array($merchant_country, $ineligible_countries, \true); }, 'ppcp-local-apms.pwc.currency.check' => static function (ContainerInterface $container): bool { return 'USD' === $container->get('api.shop.currency.getter')->get(); }, 'ppcp-local-apms.pwc.eligibility.check' => static function (ContainerInterface $container): bool { return $container->get('ppcp-local-apms.eligibility.check') && $container->get('ppcp-local-apms.pwc.currency.check'); }, 'ppcp-local-apms.pui.country.check' => static function (ContainerInterface $container): bool { return 'DE' === $container->get('api.merchant.country'); }, 'ppcp-local-apms.pui.currency.check' => static function (ContainerInterface $container): bool { return 'EUR' === $container->get('api.shop.currency.getter')->get(); }, 'ppcp-local-apms.pui.eligibility.check' => static function (ContainerInterface $container): bool { return $container->get('ppcp-local-apms.pui.country.check') && $container->get('ppcp-local-apms.pui.currency.check'); });