laipower/wp-content/plugins/easy-digital-downloads/includes/gateways/paypal/exceptions/class-gateway-exception.php

60 lines
1.4 KiB
PHP

<?php
/**
* PayPal Gateway Exception
*
* @package easy-digital-downloads
* @copyright Copyright (c) 2021, Sandhills Development, LLC
* @license GPL2+
* @since 2.11
*/
namespace EDD\Gateways\PayPal\Exceptions;
class Gateway_Exception extends \Exception {
/**
* More specific message, used for recording gateway errors.
*
* @var string
*/
private $debug_message;
/**
* Gateway_Exception constructor.
*
* @param string $message Exception message. This might be vague, as it's usually presented to the end user.
* @param int $code Error code.
* @param string $debug_message More detailed debug message, used when recording gateway errors.
*
* @since 2.11
*/
public function __construct( $message = '', $code = 0, $debug_message = '' ) {
$this->debug_message = $debug_message;
parent::__construct( $message, $code );
}
/**
* Records a gateway error based off this exception.
*
* @param int $payment_id
*
* @since 2.11
*/
public function record_gateway_error( $payment_id = 0 ) {
$message = ! empty( $this->debug_message ) ? $this->debug_message : $this->getMessage();
edd_record_gateway_error(
__( 'PayPal Gateway Error', 'easy-digital-downloads' ),
sprintf(
/* Translators: %d - HTTP response code; %s - Error message */
__( 'Response Code: %d; Message: %s', 'easy-digital-downloads' ),
$this->getCode(),
$message
),
$payment_id
);
}
}