Automattic\WooCommerce\StoreApi\Schemas\V1

CheckoutSchema::get_checkout_responseprotectedWC 1.0

Get the checkout response based on the current order and any payments.

Method of the class: CheckoutSchema{}

No Hooks.

Returns

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_checkout_response( $order, ?PaymentResult $payment_result, ?\WC_Cart $cart );
$order(WC_Order) (required)
Order object.
?PaymentResult $payment_result
.
Default: null
?\WC_Cart $cart
.
Default: null

CheckoutSchema::get_checkout_response() code WC 9.9.5

protected function get_checkout_response( \WC_Order $order, ?PaymentResult $payment_result = null, ?\WC_Cart $cart = null ) {
	$payment_result = $payment_result ? [
		'payment_status'  => $payment_result->status,
		'payment_details' => $this->prepare_payment_details_for_response( $payment_result->payment_details ),
		'redirect_url'    => $payment_result->redirect_url,
	] : null;

	return [
		'order_id'           => $order->get_id(),
		'status'             => $order->get_status(),
		'order_key'          => $order->get_order_key(),
		'order_number'       => $order->get_order_number(),
		'customer_note'      => $order->get_customer_note(),
		'customer_id'        => $order->get_customer_id(),
		'billing_address'    => (object) $this->billing_address_schema->get_item_response( $order ),
		'shipping_address'   => (object) $this->shipping_address_schema->get_item_response( $order ),
		'payment_method'     => $order->get_payment_method(),
		'payment_result'     => $payment_result,
		'additional_fields'  => (object) $this->get_additional_fields_response( $order ),
		'__experimentalCart' => $cart ? (object) $this->cart_schema->get_item_response( $cart ) : null,
		self::EXTENDING_KEY  => $this->get_extended_data( self::IDENTIFIER ),
	];
}