* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\PayPal\Payment\Capture\Event; use PrestaShop\Module\PrestashopCheckout\Event\Event; use PrestaShop\Module\PrestashopCheckout\PayPal\Order\Exception\PayPalOrderException; use PrestaShop\Module\PrestashopCheckout\PayPal\Order\ValueObject\PayPalOrderId; use PrestaShop\Module\PrestashopCheckout\PayPal\Payment\Capture\Exception\PayPalCaptureException; use PrestaShop\Module\PrestashopCheckout\PayPal\Payment\Capture\ValueObject\PayPalCaptureId; abstract class PayPalCaptureEvent extends Event { /** * @var PayPalCaptureId */ private $captureId; /** * @var PayPalOrderId */ private $paypalOrderId; /** * @var array{id: string, status: string, amount: array, final_capture: bool, disbursement_mode: string, create_time: string, update_time: string, seller_protection: array, seller_receivable_breakdown: array, links: array} */ private $capture; /** * @param string $captureId * @param string $paypalOrderId * @param array{id: string, status: string, amount: array, final_capture: bool, disbursement_mode: string, create_time: string, update_time: string, seller_protection: array, seller_receivable_breakdown: array, links: array} $capture * * @throws PayPalCaptureException * @throws PayPalOrderException */ public function __construct($captureId, $paypalOrderId, array $capture) { $this->captureId = new PayPalCaptureId($captureId); $this->paypalOrderId = new PayPalOrderId($paypalOrderId); $this->capture = $capture; } /** * @return PayPalCaptureId */ public function getPayPalCaptureId() { return $this->captureId; } /** * @return PayPalOrderId */ public function getPayPalOrderId() { return $this->paypalOrderId; } /** * @return array{id: string, status: string, amount: array, final_capture: bool, disbursement_mode: string, create_time: string, update_time: string, seller_protection: array, seller_receivable_breakdown: array, links: array} */ public function getCapture() { return $this->capture; } }