protected static function _genericCreate($class, $params = null, $apiKey = null) { $logger = self::getLoggerHandler(); $logger->info("Transaction START"); self::_validateCall('create', $params, $apiKey); $requestor = new CitrusPay_ApiRequestor($apiKey); $url = self::classUrl($class); $hmackey = self::_generateHmacKey($params, $apiKey); $params['signature'] = $hmackey; list($response, $apiKey) = $requestor->request('post', $url, $params); $cpObj = CitrusPay_Util::convertToCitrusPayObject($response, $apiKey, $class); $retObj = self::genericConstruct($cpObj, $class); $logger->info("Transaction END for Moto Request" . $class); return $retObj; }
public function refreshFrom($values, $apiKey, $class, $partial = false) { $this->_apiKey = $apiKey; // Wipe old state before setting new. This is useful for e.g. updating a // customer, where there is no persistent card parameter. Mark those values // which don't persist as transient if ($partial) { $removed = new CitrusPay_Util_Set(); } else { $removed = array_diff(array_keys($this->_values), array_keys($values)); } foreach ($removed as $k) { if (self::$_permanentAttributes->includes($k)) { continue; } unset($this->{$k}); } foreach ($values as $k => $v) { if (self::$_permanentAttributes->includes($k)) { continue; } $this->_values[$k] = CitrusPay_Util::convertToCitrusPayObject($v, $apiKey, $class); $this->_transientValues->discard($k); $this->_unsavedValues->discard($k); } }