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>';
    }
?>    Bueno gracias!
 
 


