mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Merge branch 'trunk'
# Conflicts: # modules/ppcp-admin-notices/src/AdminNotices.php # modules/ppcp-local-alternative-payment-methods/src/LocalAlternativePaymentMethodsModule.php # modules/ppcp-paylater-configurator/src/PayLaterConfiguratorModule.php # modules/ppcp-wc-gateway/src/WCGatewayModule.php
This commit is contained in:
commit
7509f914ab
67 changed files with 3811 additions and 126 deletions
|
@ -16,6 +16,8 @@ use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExtendingModule;
|
|||
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait;
|
||||
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule;
|
||||
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Helper\FeesUpdater;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||
|
||||
/**
|
||||
* Class LocalAlternativePaymentMethodsModule
|
||||
|
@ -37,11 +39,17 @@ class LocalAlternativePaymentMethodsModule implements ServiceModule, ExtendingMo
|
|||
return require __DIR__ . '/../extensions.php';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function run( ContainerInterface $c ) : bool {
|
||||
public function run( ContainerInterface $c ): bool {
|
||||
$settings = $c->get( 'wcgateway.settings' );
|
||||
assert( $settings instanceof Settings );
|
||||
|
||||
if ( ! $settings->has( 'allow_local_apm_gateways' ) || $settings->get( 'allow_local_apm_gateways' ) !== true ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
add_filter(
|
||||
'woocommerce_payment_gateways',
|
||||
/**
|
||||
|
@ -158,6 +166,37 @@ class LocalAlternativePaymentMethodsModule implements ServiceModule, ExtendingMo
|
|||
}
|
||||
);
|
||||
|
||||
add_action(
|
||||
'woocommerce_paypal_payments_payment_capture_completed_webhook_handler',
|
||||
function( WC_Order $wc_order, string $order_id ) use ( $c ) {
|
||||
$payment_methods = $c->get( 'ppcp-local-apms.payment-methods' );
|
||||
if (
|
||||
! $this->is_local_apm( $wc_order->get_payment_method(), $payment_methods )
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
$fees_updater = $c->get( 'wcgateway.helper.fees-updater' );
|
||||
assert( $fees_updater instanceof FeesUpdater );
|
||||
|
||||
$fees_updater->update( $order_id, $wc_order );
|
||||
},
|
||||
10,
|
||||
2
|
||||
);
|
||||
|
||||
add_filter(
|
||||
'woocommerce_paypal_payments_allowed_refund_payment_methods',
|
||||
function( array $payment_methods ) use ( $c ): array {
|
||||
$local_payment_methods = $c->get( 'ppcp-local-apms.payment-methods' );
|
||||
foreach ( $local_payment_methods as $payment_method ) {
|
||||
$payment_methods[] = $payment_method['id'];
|
||||
}
|
||||
|
||||
return $payment_methods;
|
||||
}
|
||||
);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue