private function parseResponse($content, $rebill = false) { require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_osemsc' . DS . 'libraries' . DS . 'class.connection.php'; if ($rebill == false) { $resArray['ePayTrxnNumber'] = OSECONNECTOR::substring_between($content, '<ePayTrxnNumber>', '</ePayTrxnNumber>'); $resArray['ePayTrxnStatus'] = OSECONNECTOR::substring_between($content, '<ePayTrxnStatus>', '</ePayTrxnStatus>'); $resArray['ePayTrxnReference'] = OSECONNECTOR::substring_between($content, '<ePayTrxnReference>', '</ePayTrxnReference>'); $resArray['ePayAuthCode'] = OSECONNECTOR::substring_between($content, '<ePayAuthCode>', '</ePayAuthCode>'); $resArray['ePayReturnAmount'] = OSECONNECTOR::substring_between($content, '<ePayReturnAmount>', '</ePayReturnAmount>'); $resArray['ePayTrxnError'] = OSECONNECTOR::substring_between($content, '<ePayTrxnError>', '</ePayTrxnError>'); } else { $resArray['Result'] = OSECONNECTOR::substring_between($content, '<Result>', '</Result>'); $resArray['ErrorSeverity'] = OSECONNECTOR::substring_between($content, '<ErrorSeverity>', '</ErrorSeverity>'); $resArray['ErrorDetails'] = OSECONNECTOR::substring_between($content, '<ErrorDetails>', '</ErrorDetails>'); } return $resArray; }
function parse_return($content) { $refId = OSECONNECTOR::substring_between($content, '<refId>', '</refId>'); $resultCode = OSECONNECTOR::substring_between($content, '<resultCode>', '</resultCode>'); $code = OSECONNECTOR::substring_between($content, '<code>', '</code>'); $text = OSECONNECTOR::substring_between($content, '<text>', '</text>'); $subscriptionId = OSECONNECTOR::substring_between($content, '<subscriptionId>', '</subscriptionId>'); $Status = OSECONNECTOR::substring_between($content, '<Status>', '</Status>'); if (!empty($Status)) { return array($refId, $resultCode, $code, $text, $subscriptionId, $Status); } else { return array($refId, $resultCode, $code, $text, $subscriptionId); } }
function BeanStreamDeleteProfile($orderInfo, $params = array()) { require_once OSEMSC_B_LIB . DS . 'class.connection.php'; //$orderInfo = oseRegistry::call('payment')->getOrder(array('order_id'=>319),'obj'); $pConfig = oseRegistry::call('msc')->getConfig('payment', 'obj'); $merchant_id = $pConfig->beanstream_merchant_id; $passcode = $pConfig->beanstream_passcode; $orderInfoParams = oseJson::decode($orderInfo->params); $postVar = array(); $postVar['serviceVersion'] = '1.0'; $postVar['operationType'] = 'M'; $postVar['merchantId'] = $merchant_id; $postVar['passcode'] = $passcode; $postVar['rbAccountID'] = $orderInfo->payment_serial_number; $postVar['rbBillingState'] = 'C'; $postVar['processBackPayments'] = '0'; $postVar['ref5'] = ''; $hostname = 'www.beanstream.com'; $workstring = http_build_query($postVar); $uri = "/scripts/recurring_billing.asp"; $res = OSECONNECTOR::send_request_via_fsockopen($hostname, $uri, $workstring, 'urlencoded'); $res = stristr($res, "\r\n\r\n"); $res = trim($res); //$post = array(); //parse_str($res,$post); $result = array(); $code = OSECONNECTOR::substring_between($res, '<code>', '</code>'); $message = OSECONNECTOR::substring_between($res, '<message>', '</message>'); $result['success'] = $code == 1 ? true : false; $result['title'] = JText::_('Cancel'); $result['content'] = $code == 1 ? JText::_('Your membership subscription is cancelled.') : JText::_('Error') . ':' . $message; return $result; }