HR Poonia
HR Poonia

Reputation: 1

areto api payment gateway

I am trying to implement the Areto API payment gateway, but it returns response with authentication error such as :

Authentication failed - invalid ID/Session/IP combination. 

I am try to first time implement (this type) payment gateway. how to implement Areto API payment gateway. Just have use the code like this:

<?php
$url            = 'https://pay.aretosystems.com/api/sale/v1';
$api_session    = 'ZXUKwKG97WCEdyYBZxnBgFOutVj5qdO7yWaYxT5T9CAbPMn4tamzUpH0HgtdIn6b';
$api_id         = '6mK+KXQ5dadlu+4qnxpY3jtH/Hg56AgMhhpOMWXP0/TCmbE6OhXZkG/QRjE/dNjQ';

$transaction =  array(
"Authentication" => array(
    "Id" => $api_id,
    "Session" => $api_session
),
"Order" => array(
    "OrderId" => "TESTSALE",
    "Amount" => "0.01",
    "CurrencyCode" => "EUR"
),
"CardDetails" => array(
    "CCVC" => "123",
    "CCExpiryMonth" => "01",
    "CCExpiryYear" => "2017",
    "CCName" => "Wdp",
    "CCSurname" => "Tech",
    "CCNumber" => '4200000000000000',
    "CCType" => "VISA",
    "CCAdress" => "542, surya nagar",
    "ClientCity" => "Jaipur",
    "ClientCountryCode" => "US",
    "ClientZip" => "302017",
    "ClientEmail" => "[email protected]",
    "ClientExternalIdentifier" => "MytestUserName1",
    "ClientIP" => "162.158.50.205",
    "ClientPhone" => "1234567890"
)
);
$data_string = json_encode($transaction);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response    = curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$http_status . PHP_EOL;
$responceData = json_decode($response, TRUE);
echo '<pre>';
print_r($responceData);die;
?>

Upvotes: 0

Views: 152

Answers (2)

This part of the API is not very well documented, but after we found this question we were finally able to find a way to solve the problem: The key is to have all the properties you want to send concatenated into a string divided by & characters and send them as plain text via POST.

If you want to try it out in Postman:

1) enter the properties as url parameters

2) copy the string from the url

3) and paste it in the request body, setting the type to plain text.

Upvotes: 1

HR Poonia
HR Poonia

Reputation: 1

error_reporting(1);
$url            = 'https://pay.aretosystems.com/api/sale/v1';
$api_session    = 'ZXUKwKG97WCEdyYBZxnBgFOutVj5qdO7yWaYxT5T9CAbPMn4tamzUpH0HgtdIn6b';
$api_id         = '6mK+KXQ5dadlu+4qnxpY3jtH/Hg56AgMhhpOMWXP0/TCmbE6OhXZkG/QRjE/dNjQ';
$clientIP   = $_SERVER['REMOTE_ADDR'];

$request_arr = array(
'Id'=>$api_id,
'Session'=>$api_session,
'OrderId'=>time(),
'Amount'=>'4.0',
'CurrencyCode'=>'EUR',
'CCVC'=>'123',
'CCExpiryMonth'=>'12',
'CCExpiryYear'=>'2017',
'CCName'=>'wdp',
'CCSurname'=>'technologies',
'CCNumber'=>'4200000000000000',
'CCType'=>'VISA',
'CCAddress'=>'surya nagar',
'ClientCity'=>'Ajmer',
'ClientCountryCode'=>'IN',
'ClientZip'=>'302018',
'ClientEmail'=>'[email protected]',
'ClientExternalIdentifier'=>'Wdp tech',
'ClientIP'=>$clientIP,
'ClientPhone'=>'1234567890',
'ClientDOB'=>'1989-11-05'
);
$ch = curl_init();
$post_variables = '';
foreach ($request_arr as $key => $value) {
$post_variables .= "{$key}={$value}&";
}
$post_variables = rtrim($post_variables, '&');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_variables);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response    = curl_exec($ch);
curl_close($ch);
$responceData = json_decode($response, TRUE);

Upvotes: 0

Related Questions