PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
4.16.4 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 / TestGatewayOffsite.php
give / src / PaymentGateways / Gateways / TestGateway Last commit date
Views 4 years ago TestGateway.php 4 years ago TestGatewayOffsite.php 4 years ago
TestGatewayOffsite.php
123 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\TestGateway;
4
5 use Give\Framework\Http\Response\Types\JsonResponse;
6 use Give\Framework\PaymentGateways\Commands\RedirectOffsite;
7 use Give\Framework\PaymentGateways\Types\OffSitePaymentGateway;
8 use Give\Helpers\Form\Utils as FormUtils;
9 use Give\PaymentGateways\DataTransferObjects\GatewayPaymentData;
10 use Give\PaymentGateways\Gateways\TestGateway\Views\LegacyFormFieldMarkup;
11
12 use function Give\Framework\Http\Response\response;
13
14 /**
15 * Class TestGatewayOffsite
16 * @since 2.18.0
17 */
18 class TestGatewayOffsite extends OffSitePaymentGateway
19 {
20 /**
21 * @inheritDoc
22 */
23 public $routeMethods = [
24 'testGatewayMethod'
25 ];
26
27 /**
28 * @inheritDoc
29 */
30 public static function id()
31 {
32 return 'test-gateway-offsite';
33 }
34
35 /**
36 * @inheritDoc
37 */
38 public function getId()
39 {
40 return self::id();
41 }
42
43 /**
44 * @inheritDoc
45 */
46 public function getName()
47 {
48 return __('Test Gateway Offsite', 'give');
49 }
50
51 /**
52 * @inheritDoc
53 */
54 public function getPaymentMethodLabel()
55 {
56 return __('Test Gateway Offsite', 'give');
57 }
58
59 /**
60 * @inheritDoc
61 */
62 public function getLegacyFormFieldMarkup($formId)
63 {
64 if (FormUtils::isLegacyForm($formId)) {
65 return false;
66 }
67
68 /** @var LegacyFormFieldMarkup $legacyFormFieldMarkup */
69 $legacyFormFieldMarkup = give(LegacyFormFieldMarkup::class);
70
71 return $legacyFormFieldMarkup();
72 }
73
74 /**
75 * @inheritDoc
76 */
77 public function createPayment(GatewayPaymentData $paymentData)
78 {
79 // This will allow you to overload returnFromOffsiteRedirect($donationId)
80 $redirectUrl = $this->generateReturnUrlFromRedirectOffsite($paymentData->donationId);
81
82 return new RedirectOffsite($redirectUrl);
83 }
84
85 /**
86 * An example of using the provided offsite method of returning from a redirect.
87 *
88 * @inheritDoc
89 */
90 public function returnFromOffsiteRedirect($donationId)
91 {
92 $this->updateDonation($donationId);
93
94 return response()->redirectTo(give_get_success_page_uri());
95 }
96
97 /**
98 * An example gateway method for extending the Gateway API for a given gateway.
99 *
100 * @param int $donationId
101 * @return JsonResponse
102 */
103 public function testGatewayMethod($donationId)
104 {
105 $this->updateDonation($donationId);
106
107 return response()->json();
108 }
109
110 /**
111 * Helper for updating donation
112 *
113 * @param $donationId
114 * @return void
115 */
116 private function updateDonation($donationId)
117 {
118 give_insert_payment_note($donationId, 'NOTE GOES HERE');
119 give_update_payment_status($donationId);
120 give_set_payment_transaction_id($donationId, "test-gateway-transaction-id");
121 }
122 }
123