PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.23.2
GiveWP – Donation Plugin and Fundraising Platform v2.23.2
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 / Stripe / CreditCardGateway.php
give / src / PaymentGateways / Gateways / Stripe Last commit date
Actions 4 years ago Controllers 4 years ago Exceptions 3 years ago Helpers 4 years ago Migrations 4 years ago Traits 3 years ago ValueObjects 4 years ago Webhooks 4 years ago BECSGateway.php 3 years ago CheckoutGateway.php 3 years ago CreditCardGateway.php 3 years ago SEPAGateway.php 3 years ago
CreditCardGateway.php
120 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\Stripe;
4
5 use Give\Donations\Models\Donation;
6 use Give\Framework\Exceptions\Primitives\Exception;
7 use Give\Framework\PaymentGateways\Commands\GatewayCommand;
8 use Give\Framework\PaymentGateways\Exceptions\PaymentGatewayException;
9 use Give\Framework\PaymentGateways\PaymentGateway;
10 use Give\Framework\PaymentGateways\SubscriptionModule;
11 use Give\Helpers\Call;
12 use Give\PaymentGateways\Gateways\Stripe\ValueObjects\PaymentMethod;
13
14 /**
15 * @since 2.19.0
16 */
17 class CreditCardGateway extends PaymentGateway
18 {
19 use Traits\CreditCardForm;
20 use Traits\HandlePaymentIntentStatus;
21
22 /** @var array */
23 protected $errorMessages = [];
24
25 public function __construct(SubscriptionModule $subscriptionModule = null)
26 {
27 parent::__construct($subscriptionModule);
28
29 $this->errorMessages['accountConfiguredNoSsl'] = esc_html__(
30 'Credit Card fields are disabled because your site is not running securely over HTTPS.',
31 'give'
32 );
33 $this->errorMessages['accountNotConfiguredNoSsl'] = esc_html__(
34 'Credit Card fields are disabled because Stripe is not connected and your site is not running securely over HTTPS.',
35 'give'
36 );
37 $this->errorMessages['accountNotConfigured'] = esc_html__(
38 'Credit Card fields are disabled. Please connect and configure your Stripe account to accept donations.',
39 'give'
40 );
41 }
42
43 /**
44 * @inheritDoc
45 * @since 2.19.7 fix handlePaymentIntentStatus not receiving extra param
46 * @since 2.19.0
47 *
48 * @param array{stripePaymentMethod: PaymentMethod} $gatewayData
49 *
50 * @throws PaymentGatewayException
51 */
52 public function createPayment(Donation $donation, $gatewayData): GatewayCommand
53 {
54 $donationSummary = Call::invoke(Actions\SaveDonationSummary::class, $donation);
55 $stripeCustomer = Call::invoke(Actions\GetOrCreateStripeCustomer::class, $donation);
56
57 $createIntentAction = new Actions\CreatePaymentIntent([]);
58
59 return $this->handlePaymentIntentStatus(
60 $createIntentAction(
61 $donation,
62 $donationSummary,
63 $stripeCustomer,
64 $gatewayData['stripePaymentMethod']
65 ),
66 $donation
67 );
68 }
69
70 /**
71 * @inheritDoc
72 */
73 public static function id(): string
74 {
75 return 'stripe';
76 }
77
78 /**
79 * @inheritDoc
80 */
81 public function getId(): string
82 {
83 return self::id();
84 }
85
86 /**
87 * @inheritDoc
88 */
89 public function getName(): string
90 {
91 return __('Stripe - Credit Card', 'give');
92 }
93
94 /**
95 * @inheritDoc
96 */
97 public function getPaymentMethodLabel(): string
98 {
99 return __('Stripe - Credit Card', 'give');
100 }
101
102 /**
103 * @inheritDoc
104 */
105 public function getLegacyFormFieldMarkup(int $formId, array $args): string
106 {
107 return $this->getCreditCardFormHTML($formId, $args);
108 }
109
110 /**
111 * @since 2.20.0
112 * @inerhitDoc
113 * @throws Exception
114 */
115 public function refundDonation(Donation $donation)
116 {
117 throw new Exception('Method has not been implemented yet. Please use the legacy method in the meantime.');
118 }
119 }
120