文件操作 - CheckoutGateway.php
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/give/src/PaymentGateways/Gateways/Stripe/CheckoutGateway.php
编辑文件内容
<?php namespace Give\PaymentGateways\Gateways\Stripe; use Give\Donations\Models\Donation; use Give\Framework\Exceptions\Primitives\Exception; use Give\Framework\PaymentGateways\Commands\GatewayCommand; use Give\Framework\PaymentGateways\Commands\RedirectOffsite; use Give\Framework\PaymentGateways\Exceptions\PaymentGatewayException; use Give\Framework\PaymentGateways\PaymentGateway; use Give\Framework\PaymentGateways\PaymentGatewayRegister; use Give\Helpers\Call; use Give\Helpers\Gateways\Stripe; use Give\PaymentGateways\Gateways\Stripe\Exceptions\CheckoutException; use Give\PaymentGateways\Gateways\Stripe\Exceptions\CheckoutTypeException; use Give\PaymentGateways\Gateways\Stripe\ValueObjects\PaymentMethod; /** * @since 2.19.0 */ class CheckoutGateway extends PaymentGateway { use Traits\CheckoutInstructions; use Traits\CheckoutModal; use Traits\CheckoutRedirect; use Traits\HandlePaymentIntentStatus; /** * @inheritDoc * @since 2.19.0 * * @param array{stripePaymentMethod: PaymentMethod} $gatewayData * * @throws PaymentGatewayException */ public function createPayment(Donation $donation, $gatewayData): GatewayCommand { switch ($this->getCheckoutType()) { case 'modal': return give(PaymentGatewayRegister::class) ->getPaymentGateway(CreditCardGateway::id()) ->createPayment($donation, $gatewayData); case 'redirect': return $this->createPaymentRedirect($donation); default: throw new CheckoutException('Invalid Checkout Error'); } } /** * @since 2.21.2 */ public function getCheckoutType(): string { return give_stripe_get_checkout_type(); } /** * @since 2.19.7 fix argument order of CreateCheckoutSession * @since 2.19.0 */ protected function createPaymentRedirect(Donation $donation): RedirectOffsite { $donationSummary = Call::invoke(Actions\SaveDonationSummary::class, $donation); $stripeCustomer = Call::invoke(Actions\GetOrCreateStripeCustomer::class, $donation); $session = Call::invoke(Actions\CreateCheckoutSession::class, $donation, $donationSummary, $stripeCustomer); return new RedirectOffsite( $this->getRedirectUrl($session->id(), give_get_payment_form_id($donation->id)) ); } /** * @inheritDoc */ public static function id(): string { return 'stripe_checkout'; } /** * @inheritDoc */ public function getId(): string { return self::id(); } /** * @inheritDoc */ public function getName(): string { return __('Stripe - Checkout', 'give'); } /** * @inheritDoc */ public function getPaymentMethodLabel(): string { return __('Stripe - Checkout', 'give'); } /** * @inheritDoc * * @since 2.23.1 * * @return string|void */ public function getLegacyFormFieldMarkup(int $formId, array $args): string { Stripe::canShowBillingAddress($formId, $args); switch ($checkoutType = give_stripe_get_checkout_type()) { case 'redirect': return $this->getCheckoutInstructions(); case 'modal': return $this->getCheckoutInstructions() . $this->getCheckoutModalHTML($formId, $args); default: throw new CheckoutTypeException($checkoutType); } } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件