PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.33.0
GiveWP – Donation Plugin and Fundraising Platform v2.33.0
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.tsx 2 years ago
TestGateway.php
136 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\Framework\Support\Facades\Scripts\ScriptAsset;
13 use Give\Helpers\Form\Utils as FormUtils;
14 use Give\PaymentGateways\Gateways\TestGateway\Views\LegacyFormFieldMarkup;
15 use Give\Subscriptions\Models\Subscription;
16 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
17
18 /**
19 * Class TestGateway
20 * @since 2.18.0
21 */
22 class TestGateway extends PaymentGateway
23 {
24 /**
25 * @inheritDoc
26 */
27 public static function id(): string
28 {
29 return 'test-gateway';
30 }
31
32 /**
33 * @inheritDoc
34 */
35 public function getId(): string
36 {
37 return self::id();
38 }
39
40 /**
41 * @inheritDoc
42 */
43 public function getName(): string
44 {
45 return __('Test Gateway', 'give');
46 }
47
48 /**
49 * @since 2.32.0 updated to enqueue script
50 * @since 2.30.0
51 */
52 public function enqueueScript(int $formId)
53 {
54 $scriptAsset = ScriptAsset::get(GIVE_PLUGIN_DIR . 'build/testGateway.asset.php');
55
56 wp_enqueue_script(
57 $this::id(),
58 GIVE_PLUGIN_URL . 'build/testGateway.js',
59 $scriptAsset['dependencies'],
60 $scriptAsset['version'],
61 true
62 );
63 }
64
65 /**
66 * @inheritDoc
67 */
68 public function getPaymentMethodLabel(): string
69 {
70 return __('Test Gateway', 'give');
71 }
72
73 /**
74 * @since 2.18.0
75 */
76 public function getLegacyFormFieldMarkup(int $formId, array $args): string
77 {
78 if (FormUtils::isLegacyForm($formId)) {
79 return '';
80 }
81
82 /** @var LegacyFormFieldMarkup $legacyFormFieldMarkup */
83 $legacyFormFieldMarkup = give(LegacyFormFieldMarkup::class);
84
85 return $legacyFormFieldMarkup();
86 }
87
88 /**
89 * @inheritDoc
90 */
91 public function createPayment(Donation $donation, $gatewayData): GatewayCommand
92 {
93 $intent = $gatewayData['testGatewayIntent'] ?? 'test-gateway-intent';
94
95 return new PaymentComplete("test-gateway-transaction-id-{$intent}-$donation->id");
96 }
97
98 /**
99 * @inheritDoc
100 *
101 * @since 2.23.0
102 */
103 public function createSubscription(
104 Donation $donation,
105 Subscription $subscription,
106 $gatewayData
107 ): GatewayCommand {
108 return new SubscriptionComplete(
109 "test-gateway-transaction-id-$donation->id",
110 "test-gateway-subscription-id-$subscription->id"
111 );
112 }
113
114 /**
115 * @since 2.23.0
116 *
117 * @inheritDoc
118 * @throws Exception
119 */
120 public function cancelSubscription(Subscription $subscription)
121 {
122 $subscription->status = SubscriptionStatus::CANCELLED();
123 $subscription->save();
124 }
125
126 /**
127 * @since 2.29.0 Return PaymentRefunded instead of a bool value
128 * @since 2.20.0
129 * @inerhitDoc
130 */
131 public function refundDonation(Donation $donation): PaymentRefunded
132 {
133 return new PaymentRefunded();
134 }
135 }
136