public function void_partial_transactions() { $void_success = true; if ($partial_transactions = $this->sales_controller->sale_lib->get_partial_transactions()) { $service_url = (!defined("ENVIRONMENT") or ENVIRONMENT == 'development') ? 'https://hc.mercurydev.net/tws/transactionservice.asmx?WSDL' : 'https://hc.mercurypay.com/tws/transactionservice.asmx?WSDL'; foreach ($partial_transactions as $partial_transaction) { $parameters = array('request' => $partial_transaction, 'password' => $this->sales_controller->Location->get_info_for_key('merchant_password')); $client = new SoapClient($service_url, array('trace' => TRUE)); $result = $client->CreditReversalToken($parameters); $status = $result->CreditReversalTokenResult->Status; if ($status != 'Approved') { unset($parameters['AcqRefData']); unset($parameters['ProcessData']); $result = $client->CreditVoidSaleToken($parameters); $status = $result->CreditVoidSaleTokenResult->Status; if ($status != 'Approved') { $void_success = false; } } } } return $void_success; }