OwlCyberSecurity - MANAGER
Edit File: class-give-stripe-payment-intent.php
<?php /** * Give - Stripe Core Payment Intent * * @since 2.5.0 * * @package Give * @subpackage Stripe Core * @copyright Copyright (c) 2019, GiveWP * @license https://opensource.org/licenses/gpl-license GNU Public License */ use Give\PaymentGateways\Stripe\ApplicationFee; // Exit, if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Check for class Give_Stripe_Payment_Intent exists. * * @since 2.5.0 */ if ( ! class_exists( 'Give_Stripe_Payment_Intent' ) ) { class Give_Stripe_Payment_Intent { public function __construct() { } /** * This function is used to create payment intent in Stripe. * * @since 2.27.1 Stripe payment intent error sets a more user friendly Exception message. * @since 2.5.0 * @access public * * @param array $args List of parameters required to create payment intent. * * @return bool|\Stripe\PaymentIntent */ public function create( $args ) { // Add application fee, if the Stripe premium add-on is not active. if ( ApplicationFee::canAddfee() ) { $args['application_fee_amount'] = give_stripe_get_application_fee_amount( $args['amount'] ); } // Set Stripe Application Info. give_stripe_set_app_info(); try { return \Stripe\PaymentIntent::create( $args, give_stripe_get_connected_account_options() ); } catch (Exception $e) { give_record_gateway_error( __('Stripe Payment Intent Error', 'give'), sprintf( /* translators: %s Exception Error Message */ __('Unable to create a payment intent. Details: %s', 'give'), $e->getMessage() ) ); give_set_error('stripe_payment_intent_error', sprintf( __('There was an issue with your donation transaction: %s<br>Please check your payment method or contact your card issuer for assistance. If the issue persists, try a different payment method or contact the site administrators.', 'give'), $e->getMessage() ) ); give_send_back_to_checkout( '?payment-mode=' . give_clean( $_GET['payment-mode'] ) ); return false; } // End try(). } /** * This function is used to retrieve payment intent in Stripe. * * @param string $client_secret Client Secret represents unique string for the payment intent. * * @since 2.5.0 * @access public * * @return \Stripe\PaymentIntent */ public function retrieve( $client_secret ) { // Set Application Info. give_stripe_set_app_info(); try { return \Stripe\PaymentIntent::retrieve( $client_secret, give_stripe_get_connected_account_options() ); } catch ( Exception $e ) { give_record_gateway_error( __( 'Stripe Payment Intent Error', 'give' ), sprintf( /* translators: %s Exception Error Message */ __( 'Unable to retrieve a payment intent. Details: %s', 'give' ), $e ) ); give_set_error( 'stripe_payment_intent_error', __( 'Error retrieving payment intent with Stripe. Please try again.', 'give' ) ); } // End try(). } /** * This function is used to update existing payment intent in Stripe. * * @param string $client_secret Client Secret represents unique string for the payment intent. * @param array $args List of parameters required to create payment intent. * * @since 2.5.0 * @access public * * @return \Stripe\PaymentIntent */ public function update( $client_secret, $args ) { // Add application fee, if the Stripe premium add-on is not active. if ( ApplicationFee::canAddfee() ) { $args['application_fee_amount'] = give_stripe_format_amount( give_stripe_get_application_fee_amount( $args['amount'] ) ); } // Set Stripe Application Info. give_stripe_set_app_info(); try { return \Stripe\PaymentIntent::update( $client_secret, $args, give_stripe_get_connected_account_options() ); } catch (Exception $e) { give_record_gateway_error( __('Stripe Payment Intent Error', 'give'), sprintf( /* translators: %s Exception Error Message */ __('Unable to update a payment intent. Details: %s', 'give'), $e->getMessage() ) ); give_set_error('stripe_payment_intent_error', __('Error updating payment intent with Stripe. Please try again.', 'give')); } // End try(). } } }