<?php
// Define credentials
define('API_ENDPOINT', 'https://stage-secure-vault.allopass.com/rest/v1');
define('API_USERNAME', '94652131.api.hipay-tpp.com'); // Equanum token test API credentials
define('API_PASSWORD', 'NrbMcbPmLqsAZkxKAhForg8I'); // Equanum token test API credentials

$resource = API_ENDPOINT . '/token/create';
$credentials = API_USERNAME . ':' . API_PASSWORD;

// Create a new cURL resourse
$curl = curl_init();

// Set appropiate options
$httpheader = array(
	'Content-Type: application/xml',
	'Accept: application/json' // 'text/xml'
);

$cc_number = $_REQUEST['cc_number'];
$cc_month = $_REQUEST['cc_month'];
$cc_year = $_REQUEST['cc_year'];
$cc_holder = $_REQUEST['cc_holder'];
$cc_cvc = $_REQUEST['cc_cvc'];

$queryParameters = array(
    'card_number' => $cc_number,
    'card_expiry_month' => $cc_month,
    'card_expiry_year' => $cc_year,
    'card_holder' => $cc_holder,
    'cvc' => $cc_cvc,
    'multi_use' => '1',
    'generate_request_id' => '0'
);

$options = array(
	CURLOPT_URL => $resource,
	CURLOPT_USERPWD => $credentials,
	CURLOPT_HTTPHEADER => $httpheader,
	CURLOPT_RETURNTRANSFER =>true,
	CURLOPT_FAILONERROR => false,
	CURLOPT_HEADER =>false,
	CURLOPT_POST => true,
	CURLOPT_POSTFIELDS => http_build_query($queryParameters),
	CURLOPT_SSL_VERIFYPEER  => false,
    CURLOPT_SSLVERSION      => 3
);

foreach ($options as $option => $value) {
	curl_setopt($curl, $option, $value);
}

// execute the given cURL session
if (false === ($result = curl_exec($curl))) {
	//throw new RuntimeException(curl_error($curl), curl_errno($curl));
	var_dump(curl_error($curl), curl_errno($curl));
	exit();
}
	
$status = (int)curl_getinfo($curl, CURLINFO_HTTP_CODE);
$response = json_decode($result);

if (floor($status/100) != 2) {
	//throw new RuntimeException($response->message, $response->code);
	var_dump($response->message, $response->code);
	exit();
}

$token = $response->token;
$request_id = $response->request_id;

curl_close($curl);
?>
<form action="token_usage.php" method="post">
	Token: <input type="text" name="token" value="<?php echo $token; ?>"><br/>
	Request Id: <input type="text" name="request_id" value="<?php echo $request_id; ?>"><br/>
	Email porteur de carte: <input type="text" name="email" value="<?php echo $_REQUEST['email']; ?>"><br/>
	Compte client &agrave; alimenter: <input type="text" name="marchand" value="<?php echo $_REQUEST['marchand']; ?>"><br/>
	websiteid du compte client: <input type="text" name="websiteid" value="<?php echo $_REQUEST['websiteid']; ?>"><br/>
	Montant: <input type="text" name="amount" value="<?php echo $_REQUEST['amount']; ?>">EUR<br/>
	<input type="submit">
</form> 