oont-contents/plugins/woocommerce-square/includes/Gateway/API/Responses/Create_PayOrder.php
2025-02-08 15:10:23 +01:00

62 lines
1.3 KiB
PHP

<?php
namespace WooCommerce\Square\Gateway\API\Responses;
defined( 'ABSPATH' ) || exit;
/**
* The Create PayOrder API response object.
*
* @since 3.9.0
*
* @method \Square\Models\CreatePayOrderResponse get_data()
*/
class Create_PayOrder extends \WooCommerce\Square\Gateway\API\Response {
/**
* Gets the Square payment object.
*
* @since 3.9.0
* @return \Square\Models\Order|null
*/
public function get_order() {
return ! $this->has_errors() && $this->get_data()->getOrder() ? $this->get_data()->getOrder() : null;
}
/**
* Returns true if the order status is completed.
*
* @since 3.9.0
* @return boolean
*/
public function transaction_approved() {
return $this->get_order() && 'COMPLETED' === $this->get_order()->getState();
}
/**
* Returns array of trasaction IDs when payment is done using multiple payment methods.
* For example, Square Gift card + Square credit card.
*
* @since 3.9.0
* @return array
*/
public function get_transaction_ids() {
$payments_ids = array();
if ( ! $this->get_order() ) {
return $payments_ids;
}
$tenders = $this->get_order()->getTenders();
foreach ( $tenders as $tender ) {
if ( ! $tender instanceof \Square\Models\Tender ) {
continue;
}
$payments_ids[] = $tender->getId();
}
return $payments_ids;
}
}