PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.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 / Stripe / CreditCardGateway.php
give / src / PaymentGateways / Gateways / Stripe Last commit date
Actions 4 years ago Controllers 4 years ago Exceptions 4 years ago Helpers 4 years ago Migrations 4 years ago Traits 4 years ago ValueObjects 4 years ago BECSGateway.php 4 years ago CheckoutGateway.php 4 years ago CreditCardGateway.php 4 years ago SEPAGateway.php 4 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\Contracts\SubscriptionModuleInterface;
9 use Give\Framework\PaymentGateways\Exceptions\PaymentGatewayException;
10 use Give\Framework\PaymentGateways\PaymentGateway;
11 use Give\Framework\PaymentGateways\SubscriptionModule;
12 use Give\Helpers\Call;
13 use Give\PaymentGateways\DataTransferObjects\GatewayPaymentData;
14
15 /**
16 * @since 2.19.0
17 */
18 class CreditCardGateway extends PaymentGateway
19 {
20 use Traits\CreditCardForm;
21 use Traits\HandlePaymentIntentStatus;
22
23 /** @var array */
24 protected $errorMessages = [];
25
26 public function __construct(SubscriptionModule $subscriptionModule = null)
27 {
28 parent::__construct($subscriptionModule);
29
30 $this->errorMessages['accountConfiguredNoSsl'] = esc_html__(
31 'Credit Card fields are disabled because your site is not running securely over HTTPS.',
32 'give'
33 );
34 $this->errorMessages['accountNotConfiguredNoSsl'] = esc_html__(
35 'Credit Card fields are disabled because Stripe is not connected and your site is not running securely over HTTPS.',
36 'give'
37 );
38 $this->errorMessages['accountNotConfigured'] = esc_html__(
39 'Credit Card fields are disabled. Please connect and configure your Stripe account to accept donations.',
40 'give'
41 );
42 }
43
44 /**
45 * @inheritDoc
46 * @since 2.19.7 fix handlePaymentIntentStatus not receiving extra param
47 * @since 2.19.0
48 * @return GatewayCommand
49 * @throws PaymentGatewayException
50 */
51 public function createPayment(GatewayPaymentData $paymentData)
52 {
53 $paymentMethod = Call::invoke( Actions\GetPaymentMethodFromRequest::class, $paymentData );
54 $donationSummary = Call::invoke( Actions\SaveDonationSummary::class, $paymentData );
55 $stripeCustomer = Call::invoke( Actions\GetOrCreateStripeCustomer::class, $paymentData );
56
57 $createIntentAction = new Actions\CreatePaymentIntent([]);
58
59 return $this->handlePaymentIntentStatus(
60 $createIntentAction(
61 $paymentData,
62 $donationSummary,
63 $stripeCustomer,
64 $paymentMethod
65 ),
66 $paymentData->donationId
67 );
68 }
69
70 /**
71 * @inheritDoc
72 */
73 public static function id()
74 {
75 return 'stripe';
76 }
77
78 /**
79 * @inheritDoc
80 */
81 public function getId()
82 {
83 return self::id();
84 }
85
86 /**
87 * @inheritDoc
88 */
89 public function getName()
90 {
91 return __('Stripe - Credit Card', 'give');
92 }
93
94 /**
95 * @inheritDoc
96 */
97 public function getPaymentMethodLabel()
98 {
99 return __('Stripe - Credit Card', 'give');
100 }
101
102 /**
103 * @inheritDoc
104 */
105 public function getLegacyFormFieldMarkup($formId, $args)
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