PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.8
GiveWP – Donation Plugin and Fundraising Platform v2.19.8
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / PaymentGateways / Actions / RegisterPaymentGateways.php
give / src / PaymentGateways / Actions Last commit date
CreatePaymentAction.php 4 years ago CreateSubscriptionAction.php 4 years ago RegisterPaymentGateways.php 4 years ago
RegisterPaymentGateways.php
85 lines
1 <?php
2
3 namespace Give\PaymentGateways\Actions;
4
5 use Give\Framework\Exceptions\Primitives\Exception;
6 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
7 use Give\Framework\PaymentGateways\PaymentGatewayRegister;
8 use Give\PaymentGateways\Gateways\PayPalStandard\PayPalStandard;
9 use Give\PaymentGateways\Gateways\Stripe\BECSGateway as StripeBECSGateway;
10 use Give\PaymentGateways\Gateways\Stripe\CheckoutGateway as StripeCheckoutGateway;
11 use Give\PaymentGateways\Gateways\Stripe\CreditCardGateway as StripeCreditCardGateway;
12 use Give\PaymentGateways\Gateways\Stripe\SEPAGateway as StripeSEPAGateway;
13 use Give\PaymentGateways\PayPalCommerce\PayPalCommerce;
14
15 class RegisterPaymentGateways
16 {
17 /**
18 * Array of PaymentGateway classes to be bootstrapped
19 *
20 * @var string[]
21 */
22 public $gateways = [
23 // When complete, the Test Gateway will eventually replace The legacy Manual Gateway.
24 //TestGateway::class,
25 //TestGatewayOffsite::class,
26 StripeBECSGateway::class,
27 StripeCheckoutGateway::class,
28 StripeCreditCardGateway::class,
29 StripeSEPAGateway::class,
30 PayPalStandard::class,
31 PayPalCommerce::class,
32 ];
33
34 /**
35 * Registers all the payment gateways with GiveWP
36 *
37 * @since 2.18.0
38 *
39 * @param array $gateways
40 *
41 * @return array
42 *
43 * @throws InvalidArgumentException|Exception
44 *
45 */
46 public function __invoke(array $gateways)
47 {
48 /** @var PaymentGatewayRegister $paymentGatewayRegister */
49 $paymentGatewayRegister = give(PaymentGatewayRegister::class);
50
51 foreach ($this->gateways as $gateway) {
52 $paymentGatewayRegister->registerGateway($gateway);
53 }
54
55 $this->register3rdPartyPaymentGateways($paymentGatewayRegister);
56 $this->unregister3rdPartyPaymentGateways($paymentGatewayRegister);
57
58 return $gateways;
59 }
60
61 /**
62 * Register 3rd party payment gateways
63 *
64 * @since 2.18.0
65 *
66 * @param PaymentGatewayRegister $paymentGatewayRegister
67 */
68 private function register3rdPartyPaymentGateways(PaymentGatewayRegister $paymentGatewayRegister)
69 {
70 do_action('give_register_payment_gateway', $paymentGatewayRegister);
71 }
72
73 /**
74 * Unregister 3rd party payment gateways
75 *
76 * @since 2.18.0
77 *
78 * @param PaymentGatewayRegister $paymentGatewayRegister
79 */
80 private function unregister3rdPartyPaymentGateways(PaymentGatewayRegister $paymentGatewayRegister)
81 {
82 do_action('give_unregister_payment_gateway', $paymentGatewayRegister);
83 }
84 }
85