Automattic\WooCommerce\Gateways\PayPal

WebhookHandler::process_webhookpublicWC 10.5.0

Process the webhook event.

Метод класса: WebhookHandler{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$WebhookHandler = new WebhookHandler();
$WebhookHandler->process_webhook( $request ): void;
$request(WP_REST_Request) (обязательный)
The request object.

Список изменений

С версии 10.5.0 Введена.

Код WebhookHandler::process_webhook() WC 10.8.1

public function process_webhook( \WP_REST_Request $request ): void {
	$data = $request->get_json_params();
	if ( ! is_array( $data ) || empty( $data['event_type'] ) || empty( $data['resource'] ) ) {
		\WC_Gateway_Paypal::log( 'Invalid PayPal webhook payload: ' . wc_print_r( $data, true ) );
		return;
	}

	\WC_Gateway_Paypal::log( 'Webhook received: ' . wc_print_r( PayPalHelper::redact_data( $data ), true ) );

	switch ( $data['event_type'] ) {
		case 'CHECKOUT.ORDER.APPROVED':
			$this->process_checkout_order_approved( $data );
			break;
		case 'PAYMENT.CAPTURE.PENDING':
			$this->process_payment_capture_pending( $data );
			break;
		case 'PAYMENT.CAPTURE.COMPLETED':
			$this->process_payment_capture_completed( $data );
			break;
		case 'PAYMENT.AUTHORIZATION.CREATED':
			$this->process_payment_authorization_created( $data );
			break;
		default:
			\WC_Gateway_Paypal::log( 'Unhandled PayPal webhook event: ' . wc_print_r( PayPalHelper::redact_data( $data ), true ) );
			break;
	}
}