Automattic\WooCommerce\StoreApi\Schemas\V1

CheckoutSchema::get_properties()publicWC 1.0

Checkout schema properties.

Method of the class: CheckoutSchema{}

No Hooks.

Return

Array.

Usage

$CheckoutSchema = new CheckoutSchema();
$CheckoutSchema->get_properties();

CheckoutSchema::get_properties() code WC 8.7.0

public function get_properties() {
	$additional_field_schema = $this->get_additional_fields_schema();
	return [
		'order_id'          => [
			'description' => __( 'The order ID to process during checkout.', 'woocommerce' ),
			'type'        => 'integer',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
		],
		'status'            => [
			'description' => __( 'Order status. Payment providers will update this value after payment.', 'woocommerce' ),
			'type'        => 'string',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
		],
		'order_key'         => [
			'description' => __( 'Order key used to check validity or protect access to certain order data.', 'woocommerce' ),
			'type'        => 'string',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
		],
		'order_number'      => [
			'description' => __( 'Order number used for display.', 'woocommerce' ),
			'type'        => 'string',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
		],
		'customer_note'     => [
			'description' => __( 'Note added to the order by the customer during checkout.', 'woocommerce' ),
			'type'        => 'string',
			'context'     => [ 'view', 'edit' ],
		],
		'customer_id'       => [
			'description' => __( 'Customer ID if registered. Will return 0 for guests.', 'woocommerce' ),
			'type'        => 'integer',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
		],
		'billing_address'   => [
			'description' => __( 'Billing address.', 'woocommerce' ),
			'type'        => 'object',
			'context'     => [ 'view', 'edit' ],
			'properties'  => $this->billing_address_schema->get_properties(),
			'arg_options' => [
				'sanitize_callback' => [ $this->billing_address_schema, 'sanitize_callback' ],
				'validate_callback' => [ $this->billing_address_schema, 'validate_callback' ],
			],
			'required'    => true,
		],
		'shipping_address'  => [
			'description' => __( 'Shipping address.', 'woocommerce' ),
			'type'        => 'object',
			'context'     => [ 'view', 'edit' ],
			'properties'  => $this->shipping_address_schema->get_properties(),
			'arg_options' => [
				'sanitize_callback' => [ $this->shipping_address_schema, 'sanitize_callback' ],
				'validate_callback' => [ $this->shipping_address_schema, 'validate_callback' ],
			],
		],
		'payment_method'    => [
			'description' => __( 'The ID of the payment method being used to process the payment.', 'woocommerce' ),
			'type'        => 'string',
			'context'     => [ 'view', 'edit' ],
			// Validation may be based on cart contents which is not available here; this returns all enabled
			// gateways. Further validation occurs during the request.
			'enum'        => array_values( WC()->payment_gateways->get_payment_gateway_ids() ),
		],
		'create_account'    => [
			'description' => __( 'Whether to create a new user account as part of order processing.', 'woocommerce' ),
			'type'        => 'boolean',
			'context'     => [ 'view', 'edit' ],
		],
		'payment_result'    => [
			'description' => __( 'Result of payment processing, or false if not yet processed.', 'woocommerce' ),
			'type'        => 'object',
			'context'     => [ 'view', 'edit' ],
			'readonly'    => true,
			'properties'  => [
				'payment_status'  => [
					'description' => __( 'Status of the payment returned by the gateway. One of success, pending, failure, error.', 'woocommerce' ),
					'readonly'    => true,
					'type'        => 'string',
				],
				'payment_details' => [
					'description' => __( 'An array of data being returned from the payment gateway.', 'woocommerce' ),
					'readonly'    => true,
					'type'        => 'array',
					'items'       => [
						'type'       => 'object',
						'properties' => [
							'key'   => [
								'type' => 'string',
							],
							'value' => [
								'type' => 'string',
							],
						],
					],
				],
				'redirect_url'    => [
					'description' => __( 'A URL to redirect the customer after checkout. This could be, for example, a link to the payment processors website.', 'woocommerce' ),
					'readonly'    => true,
					'type'        => 'string',
				],
			],
		],
		'additional_fields' => [
			'description' => __( 'Additional fields to be persisted on the order.', 'woocommerce' ),
			'type'        => 'object',
			'context'     => [ 'view', 'edit' ],
			'properties'  => $additional_field_schema,
			'arg_options' => [
				'sanitize_callback' => [ $this, 'sanitize_additional_fields' ],
				'validate_callback' => [ $this, 'validate_additional_fields' ],
			],
			'required'    => $this->schema_has_required_property( $additional_field_schema ),
		],
		self::EXTENDING_KEY => $this->get_extended_schema( self::IDENTIFIER ),
	];
}