public function provideAliasResponse($createAlias = true, $noValidCardnumber = false)
{
/*
* Create an alias request to Ogone
*/
$passphrase = new Passphrase(PASSPHRASE_SHA_IN);
$shaComposer = new AllParametersShaComposer($passphrase);
$createAliasRequest = new CreateAliasRequest($shaComposer);
$createAliasRequest->setPspid(PSPID);
$createAliasRequest->setAccepturl('http://www.example.com');
$createAliasRequest->setExceptionurl('http://www.example.com');
if ($createAlias == true) {
$unique_alias = uniqid('customer_');
// create a unique alias
$alias = new Alias($unique_alias);
$createAliasRequest->setAlias($alias);
}
$createAliasRequest->validate();
$body = array();
foreach ($createAliasRequest->toArray() as $key => $value) {
$body[strtoupper($key)] = $value;
}
$body['SHASIGN'] = $createAliasRequest->getShaSign();
$body['CN'] = 'Don Corleone';
$body['CARDNO'] = $noValidCardnumber ? '' : '4111111111111111';
// Ogone Visa test cardnumber
$body['CVC'] = '777';
$body['ED'] = date('my', strtotime('+1 year'));
// test-date should be in the future
$client = new Client($createAliasRequest->getOgoneUri());
$request = $client->post(null, null, $body);
$response = $request->send();
$url = parse_url($response->getInfo('url'));
$params = array();
parse_str($url['query'], $params);
/*
* Validate alias response from Ogone
*/
$createAliasResponse = new CreateAliasResponse($params);
return $createAliasResponse;
}