File "Order.php"
Full Path: /home/warrior1/public_html/wp-content/plugins/facebook-for-woocommerce/includes/API/Orders/Order.php
File size: 3.53 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// phpcs:ignoreFile
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
*
* This source code is licensed under the license found in the
* LICENSE file in the root directory of this source tree.
*
* @package FacebookCommerce
*/
namespace SkyVerge\WooCommerce\Facebook\API\Orders;
defined( 'ABSPATH' ) or exit;
/**
* Orders API order handler.
*
* @since 2.1.0
*/
class Order {
/** @var string API state meaning Facebook is still processing the order and no action is possible */
const STATUS_PROCESSING = 'FB_PROCESSING';
/** @var string API state meaning Facebook has processed the orders and the seller needs to acknowledge it */
const STATUS_CREATED = 'CREATED';
/** @var string API state meaning the order was acknowledged and is now being processed in WC */
const STATUS_IN_PROGRESS = 'IN_PROGRESS';
/** @var string API state meaning all items in the order are shipped and/or cancelled */
const STATUS_COMPLETED = 'COMPLETED';
/** @var array order data */
protected $data;
/**
* Orders API order handler constructor.
*
* @since 2.1.0
*
* @param array $response_data response data from the API
*/
public function __construct( $response_data ) {
$this->data = $response_data;
}
/**
* Gets the order’s ID.
*
* @since 2.1.0
*
* @return string
*/
public function get_id() {
return ! empty( $this->data['id'] ) ? $this->data['id'] : '';
}
/**
* Gets the order’s status.
*
* @since 2.1.0
*
* @return string
*/
public function get_status() {
return ! empty( $this->data['order_status'] ) && ! empty( $this->data['order_status']['state'] ) ? $this->data['order_status']['state'] : '';
}
/**
* Gets the items' data.
*
* @see https://developers.facebook.com/docs/commerce-platform/order-management/order-api#item
*
* @since 2.1.0
*
* @return array
*/
public function get_items() {
return ! empty( $this->data['items']['data'] ) ? $this->data['items']['data'] : array();
}
/**
* Gets the channel name.
*
* @since 2.1.0
*
* @return string
*/
public function get_channel() {
return ! empty( $this->data['channel'] ) ? $this->data['channel'] : '';
}
/**
* Gets the shipping details.
*
* @see https://developers.facebook.com/docs/commerce-platform/order-management/order-api#selected_shipping_option
*
* @since 2.1.0
*
* @return array
*/
public function get_selected_shipping_option() {
return isset( $this->data['selected_shipping_option'] ) ? $this->data['selected_shipping_option'] : array();
}
/**
* Gets the shipping address.
*
* @see https://developers.facebook.com/docs/commerce-platform/order-management/order-api#shipping_address
*
* @since 2.1.0
*
* @return array
*/
public function get_shipping_address() {
return isset( $this->data['shipping_address'] ) ? $this->data['shipping_address'] : array();
}
/**
* Gets the payment details.
*
* @see https://developers.facebook.com/docs/commerce-platform/order-management/order-api#estimated_payment_details
*
* @since 2.1.0
*
* @return array
*/
public function get_estimated_payment_details() {
return isset( $this->data['estimated_payment_details'] ) ? $this->data['estimated_payment_details'] : array();
}
/**
* Gets the buyer details.
*
* @see https://developers.facebook.com/docs/commerce-platform/order-management/order-api#buyer_details
*
* @since 2.1.0
*
* @return array
*/
public function get_buyer_details() {
return isset( $this->data['buyer_details'] ) ? $this->data['buyer_details'] : array();
}
}