Exemplo n.º 1
0
 public function do_finalize($params = false)
 {
     if (empty($this->_api)) {
         $this->set_error(self::ERR_API_OBJECT, self::s2p_t('Couldn\'t finalize, API object is empty.'));
         return false;
     }
     if (empty($params) or !is_array($params)) {
         $params = array();
     }
     // If redirect is required, send redirect headers now...
     if (!isset($params['redirect_now'])) {
         $params['redirect_now'] = true;
     }
     if (!($finalize_result = $this->_api->do_finalize($params)) or !($finalize_result = S2P_SDK_Method::validate_finalize_result($finalize_result))) {
         if ($this->_api->has_error()) {
             $this->copy_error($this->_api);
         } else {
             $this->set_error(self::ERR_API_CALL, self::s2p_t('Couldn\'t finialize API action.'));
         }
         return false;
     }
     if (!empty($params['redirect_now']) and !empty($finalize_result['should_redirect']) and !empty($finalize_result['redirect_to']) and empty($finalize_result['redirect_headers_set'])) {
         if (!@headers_sent()) {
             @header('Location: ' . $finalize_result['redirect_to']);
             $finalize_result['redirect_headers_set'] = true;
         }
     }
     $this->_finalize_result = $finalize_result;
     return $this->_finalize_result;
 }
Exemplo n.º 2
0
 public function do_finalize($params = false)
 {
     if (empty($this->_method)) {
         $this->set_error(self::ERR_METHOD, self::s2p_t('Method not set'));
         return false;
     }
     if (!($call_result = $this->get_call_result())) {
         $this->set_error(self::ERR_CALL_RESULT, self::s2p_t('Invalid call result or previous call failed.'));
         return false;
     }
     if (!($finalize_result = $this->_method->finalize($call_result, $params))) {
         if ($this->_method->has_error()) {
             $this->copy_error($this->_method);
         } else {
             $this->set_error(self::ERR_VALIDATE_RESPONSE, self::s2p_t('Couldn\'t finalize request after call.'));
         }
         return false;
     }
     return S2P_SDK_Method::validate_finalize_result($finalize_result);
 }