2017-10-17 44 views
0

Je veux annuler la transection effectuée par authorize.net dans magento à certaines conditions. J'ai l'identifiant de transection et tous les détails. S'il vous plaît faites le moi savoir.Comment annuler la transection authorize.net dans magento

+0

Je vote pour clore cette question hors-sujet parce que Stack Overflow est un site Q & A [lié à la programmation] (http://stackoverflow.com/help/on-topic). Votre question ne concerne pas la programmation. Peut-être que vous devriez le publier sur http://magento.stackexchange.com à la place? – Enigmativity

Répondre

0

Je trouve la réponse:

$ transactionId = 60032060090; $ referId = 123456;

$ paygate = Mage :: getModel ('paygate/authorizenet');

$requestBody = sprintf(
      '<?xml version="1.0" encoding="utf-8"?>' 
      . '<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">' 
      . '<merchantAuthentication><name>%s</name><transactionKey>%s</transactionKey></merchantAuthentication>' 
      . '<refId>%s</refId>' 
      .'<transactionRequest><transactionType>voidTransaction</transactionType><refTransId>%s</refTransId></transactionRequest>' 
      . '</createTransactionRequest>', 
      $paygate->getConfigData('login'), 
      $paygate->getConfigData('trans_key'), 
      $referId, 
      $transactionId 
      ); 

    $client = new Varien_Http_Client(); 
    $uri = $paygate->getConfigData('cgi_url_td'); 
    $uri = $uri ? $uri : $paygate::CGI_URL_TD; 
    $client->setUri($uri); 
    $client->setConfig(array('timeout'=>45)); 
    $client->setHeaders(array('Content-Type: text/xml')); 
    $client->setMethod(Zend_Http_Client::POST); 
    $client->setRawData($requestBody); 

    $debugData = array(
      'url' => $uri, 
      'request' => $requestBody 
    ); 

    try { 
     $responseBody = $client->request()->getBody(); 
     $debugData['result'] = $responseBody; 
     echo 'dddddd'; 
     echo $debugData['result']; 
     libxml_use_internal_errors(true); 
     $responseXmlDocument = new Varien_Simplexml_Element($responseBody); 
     libxml_use_internal_errors(false); 
    } catch (Exception $e) { 
     $debugData['exception'] = $e->getMessage(); 

// $ paygate -> _ déboguer ($ debugData); Mage :: throwException (Mage :: helper ('paygate') -> __ ('Erreur de récupération de l'état de la transaction.')); }