PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
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 / Stripe / CreditCardGateway.php
give / src / PaymentGateways / Gateways / Stripe Last commit date
Actions 2 years ago Controllers 4 years ago Exceptions 3 years ago Helpers 4 years ago Migrations 2 years ago StripePaymentElementGateway 1 month ago Traits 4 days ago ValueObjects 4 years ago Webhooks 4 months ago BECSGateway.php 11 months ago CheckoutGateway.php 11 months ago CreditCardGateway.php 11 months ago LegacyStripeAdapter.php 1 year ago SEPAGateway.php 11 months ago
CreditCardGateway.php
110 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