PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.31.1
GiveWP – Donation Plugin and Fundraising Platform v2.31.1
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 / Gateways / TestGateway / TestGateway.php
give / src / PaymentGateways / Gateways / TestGateway Last commit date
Views 4 years ago TestGateway.php 2 years ago TestGatewayOffsite.php 2 years ago
TestGateway.php
129 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\TestGateway;
4
5 use Exception;
6 use Give\Donations\Models\Donation;
7 use Give\Framework\PaymentGateways\Commands\GatewayCommand;
8 use Give\Framework\PaymentGateways\Commands\PaymentComplete;
9 use Give\Framework\PaymentGateways\Commands\PaymentRefunded;
10 use Give\Framework\PaymentGateways\Commands\SubscriptionComplete;
11 use Give\Framework\PaymentGateways\PaymentGateway;
12 use Give\Helpers\Form\Utils as FormUtils;
13 use Give\PaymentGateways\Gateways\TestGateway\Views\LegacyFormFieldMarkup;
14 use Give\Subscriptions\Models\Subscription;
15 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
16
17 /**
18 * Class TestGateway
19 * @since 2.18.0
20 */
21 class TestGateway extends PaymentGateway
22 {
23 /**
24 * @inheritDoc
25 */
26 public static function id(): string
27 {
28 return 'test-gateway';
29 }
30
31 /**
32 * @inheritDoc
33 */
34 public function getId(): string
35 {
36 return self::id();
37 }
38
39 /**
40 * @inheritDoc
41 */
42 public function getName(): string
43 {
44 return __('Test Gateway', 'give');
45 }
46
47 /**
48 * @since 2.30.0
49 */
50 public function enqueueScript(int $formId)
51 {
52 // This is temporary action to enqueue gateway scripts in the GiveWP 3.0 feature plugin.
53 // Eventually, these scripts will be moved to the GiveWP core plugin.
54 // TODO: enqueue scripts for 3.0 when feature plugin is merged into GiveWP
55 do_action('givewp_donation_form_enqueue_test_gateway_scripts');
56 }
57
58 /**
59 * @inheritDoc
60 */
61 public function getPaymentMethodLabel(): string
62 {
63 return __('Test Gateway', 'give');
64 }
65
66 /**
67 * @since 2.18.0
68 */
69 public function getLegacyFormFieldMarkup(int $formId, array $args): string
70 {
71 if (FormUtils::isLegacyForm($formId)) {
72 return '';
73 }
74
75 /** @var LegacyFormFieldMarkup $legacyFormFieldMarkup */
76 $legacyFormFieldMarkup = give(LegacyFormFieldMarkup::class);
77
78 return $legacyFormFieldMarkup();
79 }
80
81 /**
82 * @inheritDoc
83 */
84 public function createPayment(Donation $donation, $gatewayData): GatewayCommand
85 {
86 $intent = $gatewayData['testGatewayIntent'] ?? 'test-gateway-intent';
87
88 return new PaymentComplete("test-gateway-transaction-id-{$intent}-$donation->id");
89 }
90
91 /**
92 * @inheritDoc
93 *
94 * @since 2.23.0
95 */
96 public function createSubscription(
97 Donation $donation,
98 Subscription $subscription,
99 $gatewayData
100 ): GatewayCommand {
101 return new SubscriptionComplete(
102 "test-gateway-transaction-id-$donation->id",
103 "test-gateway-subscription-id-$subscription->id"
104 );
105 }
106
107 /**
108 * @since 2.23.0
109 *
110 * @inheritDoc
111 * @throws Exception
112 */
113 public function cancelSubscription(Subscription $subscription)
114 {
115 $subscription->status = SubscriptionStatus::CANCELLED();
116 $subscription->save();
117 }
118
119 /**
120 * @since 2.29.0 Return PaymentRefunded instead of a bool value
121 * @since 2.20.0
122 * @inerhitDoc
123 */
124 public function refundDonation(Donation $donation): PaymentRefunded
125 {
126 return new PaymentRefunded();
127 }
128 }
129