Integrate AXO and Insights

This commit is contained in:
Pedro Silva 2024-03-25 10:28:15 +00:00
parent 385d89f071
commit 4e4f00acf5
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3
6 changed files with 206 additions and 16 deletions

View file

@ -11,10 +11,41 @@ namespace WooCommerce\PayPalCommerce\Axo;
use WooCommerce\PayPalCommerce\Axo\Assets\AxoManager;
use WooCommerce\PayPalCommerce\Axo\Gateway\AxoGateway;
use WooCommerce\PayPalCommerce\Axo\Helper\ApmApplies;
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
return array(
// If AXO can be configured.
'axo.eligible' => static function ( ContainerInterface $container ): bool {
$apm_applies = $container->get( 'axo.helpers.apm-applies' );
assert( $apm_applies instanceof ApmApplies );
return $apm_applies->for_country_currency();
},
'axo.helpers.apm-applies' => static function ( ContainerInterface $container ) : ApmApplies {
return new ApmApplies(
$container->get( 'axo.supported-country-currency-matrix' ),
$container->get( 'api.shop.currency' ),
$container->get( 'api.shop.country' )
);
},
// If AXO is configured and onboarded.
'axo.available' => static function ( ContainerInterface $container ): bool {
// TODO
// if ( apply_filters( 'woocommerce_paypal_payments_googlepay_validate_product_status', true ) ) {
// $status = $container->get( 'googlepay.helpers.apm-product-status' );
// assert( $status instanceof ApmProductStatus );
// /**
// * If merchant isn't onboarded via /v1/customer/partner-referrals this returns false as the API call fails.
// */
// return apply_filters( 'woocommerce_paypal_payments_googlepay_product_status', $status->is_active() );
// }
return true;
},
'axo.url' => static function ( ContainerInterface $container ): string {
$path = realpath( __FILE__ );
if ( false === $path ) {
@ -74,4 +105,21 @@ return array(
);
},
/**
* The matrix which countries and currency combinations can be used for AXO.
*/
'axo.supported-country-currency-matrix' => static function ( ContainerInterface $container ) : array {
/**
* Returns which countries and currency combinations can be used for AXO.
*/
return apply_filters(
'woocommerce_paypal_payments_axo_supported_country_currency_matrix',
array(
'US' => array(
'USD',
),
)
);
},
);