PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.1
GiveWP – Donation Plugin and Fundraising Platform v2.27.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 / Framework / PaymentGateways / Controllers / GatewayPaymentController.php
give / src / Framework / PaymentGateways / Controllers Last commit date
GatewayPaymentController.php 3 years ago GatewaySubscriptionController.php 3 years ago
GatewayPaymentController.php
76 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways\Controllers;
4
5 use Give\Donations\Models\Donation;
6 use Give\Framework\Exceptions\Primitives\Exception;
7 use Give\Framework\FieldsAPI\Exceptions\TypeNotSupported;
8 use Give\Framework\PaymentGateways\Actions\HandleGatewayPaymentCommand;
9 use Give\Framework\PaymentGateways\Commands\GatewayCommand;
10 use Give\Framework\PaymentGateways\Log\PaymentGatewayLog;
11 use Give\Framework\PaymentGateways\PaymentGateway;
12 use Give\Framework\PaymentGateways\Traits\HandleHttpResponses;
13
14 /**
15 * @since 2.27.0
16 */
17 class GatewayPaymentController
18 {
19 use HandleHttpResponses;
20
21 /**
22 * @var PaymentGateway
23 */
24 protected $gateway;
25
26 /**
27 * @since 2.27.0
28 */
29 public function __construct(PaymentGateway $gateway)
30 {
31 $this->gateway = $gateway;
32 }
33
34 /**
35 * @since 2.27.0
36 */
37 public function create(Donation $donation, array $gatewayData = [])
38 {
39 try {
40 $command = $this->gateway->createPayment($donation, $gatewayData);
41 $this->handleGatewayCommand($command, $donation);
42 } catch (\Exception $exception) {
43 PaymentGatewayLog::error(
44 $exception->getMessage(),
45 [
46 'Payment Gateway' => $this->gateway::id(),
47 'Donation' => $donation->toArray(),
48 ]
49 );
50
51 $message = __(
52 'An unexpected error occurred while processing the donation. Please try again or contact a site administrator.',
53 'give'
54 );
55
56 $this->handleExceptionResponse($exception, $message);
57 }
58 }
59
60 /**
61 * Handle gateway command
62 *
63 * @since 2.27.0 move logic into action
64 * @since 2.18.0
65 *
66 * @throws TypeNotSupported
67 * @throws Exception
68 */
69 protected function handleGatewayCommand(GatewayCommand $command, Donation $donation)
70 {
71 $response = (new HandleGatewayPaymentCommand())($command, $donation);
72
73 $this->handleResponse($response);
74 }
75 }
76