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
A
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.')); }
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