public function test_retrieve_order() { $order = APP_Order_Factory::create(); $receipt = APP_Order_Receipt::retrieve($order->get_id()); // Receipt should contain the same values as the original $this->assertEquals($order->get_id(), $receipt->get_id()); $this->assertEquals($order->get_description(), $receipt->get_description()); $this->assertEquals($order->get_author(), $receipt->get_author()); $this->assertEquals($order->get_ip_address(), $receipt->get_ip_address()); $this->assertEquals($order->get_return_url(), $receipt->get_return_url()); $this->assertEquals($order->get_cancel_url(), $receipt->get_cancel_url()); $this->assertEquals($order->get_total(), $receipt->get_total()); $this->assertEquals($order->get_currency(), $receipt->get_currency()); // Customized Data should also retain their value $order = APP_Order_Factory::create(); $order->set_description('New Description'); $order->add_item('test', 100, $order->get_id()); $receipt = APP_Order_Receipt::retrieve($order->get_id()); $this->assertEquals($order->get_id(), $receipt->get_id()); $this->assertEquals($order->get_description(), $receipt->get_description()); $this->assertEquals($order->get_author(), $receipt->get_author()); $this->assertEquals($order->get_ip_address(), $receipt->get_ip_address()); $this->assertEquals($order->get_return_url(), $receipt->get_return_url()); $this->assertEquals($order->get_cancel_url(), $receipt->get_cancel_url()); $this->assertEquals($order->get_total(), $receipt->get_total()); $this->assertEquals($order->get_currency(), $receipt->get_currency()); }
/** * Runs the process_recurring() method on a currently active gateway * @param string $gateway_id Identifier of currently active gateway * @param APP_Order $order Order to be processed * @return boolean False on error */ function appthemes_process_recurring_gateway($gateway_id, $order) { $receipt_order = APP_Order_Receipt::retrieve($order->get_id()); $options = APP_Gateway_Registry::get_gateway_options($gateway_id); $gateway = APP_Gateway_Registry::get_gateway($gateway_id); if (APP_Gateway_Registry::is_gateway_enabled($gateway_id) || current_user_can('manage_options')) { if (!$gateway->is_recurring()) { return false; } $gateway->process_recurring($receipt_order, $options); return true; } else { return false; } }
public function get_error_url() { return $this->order->get_return_url(); }