
29/11/2013, 12:57
|
| | Fecha de Ingreso: octubre-2011
Mensajes: 27
Antigüedad: 13 años, 5 meses Puntos: 2 | |
Status DENIED en DineroMail Hola!
Tratando hacer funcionar el api de DineroMail en modo producción me devuelve estatus DENIED, usando el ejemplo que el foro de Dineromail provee: http://foro.dineromail.com/viewtopic.php?f=21&t=22&p=831&hilit=DENIED#p831, (espero que si se pueda publicar el enlace), cambié el usuario y el password por el que da DineroMail y la dirección sandboxapi a api, además de quitar la función encryptTripleDES, el código queda así: Código PHP: <?php
$APIUserName = "";
$APIPassword = "";
$Crypt = false;
$MerchantTransactionId = "";
$UniqueMessageId = "39";
$Provider = "pagofacil";
$Subject = "Subject";
$Message = "Message";
$Hash = "";
$Currency = "MXN";
$Amount = "10.00";
$Code = "A001";
$Description = "000";
$ItemName = "Test";
$Quantity = "1";
$Address = "Humboldt 2500";
$City = "Buenos Aires";
$Country = "Argentina";
$Email = "[email protected]";
$Name = "John";
$LastName = "Doe";
$Phone = "45550000";
$ns = "https://api.dineromail.com/";
$wsdlPath = "https://api.dineromail.com/DMAPI.asmx?WSDL";
try{
$Items = $Amount.$Code.$Currency.$Description.$ItemName.$Quantity;
$Buyer = $Name.$LastName.$Email.$Address.$Phone.$Country.$City;
$Hash = $MerchantTransactionId.$UniqueMessageId.$Items.$Buyer.$Provider.$Subject.$Message.$APIPassword;
$Hash = MD5($Hash);
$soap_options = array('trace' =>1,'exceptions'=>1);
$client = new SoapClient($wsdlPath,$soap_options);
$credential = new SOAPVar(array('APIUserName' => $APIUserName,
'APIPassword'=> $APIPassword)
, SOAP_ENC_OBJECT, 'APICredential', $ns);
$Item = new SOAPVar(array('Amount' => $Amount
,'Code' => $Code
,'Currency' => $Currency
,'Description' => $Description
,'Name' => $ItemName
,'Quantity' => $Quantity)
, SOAP_ENC_OBJECT, 'Item', $ns);
$Items=array($Item);
$BuyerObject = new SOAPVar(array('Address' => $Address
,'City' => $City
,'Country' => $Country
,'Email' => $Email
,'LastName' => $LastName
,'Name' => $Name
,'Phone' => $Phone)
, SOAP_ENC_OBJECT, 'Buyer', $ns);
$request = array('Credential' =>$credential
,'Crypt' => $Crypt
,'MerchantTransactionId' => $MerchantTransactionId
,'UniqueMessageId' => $UniqueMessageId
,'Provider' => $Provider
,'Message' => $Message
,'Subject' => $Subject
,'Items'=>$Items
,'Buyer'=>$BuyerObject
,'Hash' => $Hash);
$result = $client->DoPaymentWithReference($request);
echo '<pre>';
print_r($result);
echo '</pre>';
}
catch (SoapFault $sf){
//echo "faultstring:". $sf->faultstring;
echo '<pre>';
print_r($sf);
echo '</pre>';
}
?> ¿Sabrán si es necesario configurar algo en la cuenta? o ¿si es un error en la contraseña que da DineroMail? ya que la contraseña que me generaron tiene 25 caracteres y para poder usar el modo la encriptación es necesario 24 por el uso de 3DES, pero dudo que sea la contraseña, ya que con el ejemplo de GetBalanceResult si funciona.
Bueno gracias! |