public function check()
 {
     if (empty($this->contact)) {
         throw new ValidationException('Contact is not set');
     }
     if (strlen(implode(' ', [$this->contact->getFirstName(), $this->contact->getSurname()])) > 32) {
         throw new ValidationException('Full name is too long (Should be less than 32');
     }
 }
 public function testSend()
 {
     $request = new AuthorizationRequest($this->url, $this->clientId, $this->password);
     $orderId = uniqid();
     $contact = new Contact();
     $contact->setEmail('*****@*****.**')->setFirstName('Test')->setSurname('TTTT')->setIp('8.8.8.8');
     $request->setReference(new MerchantReference($orderId))->setAmount(new Amount(150))->setPersonalDetail($contact)->setTransaction('3700900013766050')->setMerchantUrl('http://example.com')->setDescription('test');
     $response = $request->send();
     $this->fail();
 }
<?php

use Rnr\Swedbank\Requests\AuthorizationRequest;
use Rnr\Swedbank\Support\Contact;
use Rnr\Swedbank\Support\MerchantReference;
use Rnr\Swedbank\Support\Amount;
require '../bootstrap.php';
session_id($_REQUEST['dts_reference']);
session_start();
$request = new AuthorizationRequest(getenv('URL'), getenv('CLIENT_ID'), getenv('PASSWORD'));
$baseUrl = "http://{$_SERVER['HTTP_HOST']}";
$contact = new Contact();
$contact->setEmail($_REQUEST['email'])->setFirstName($_REQUEST['firstName'])->setSurname($_REQUEST['surname'])->setIp($_SERVER['REMOTE_ADDR']);
$request->setReference(new MerchantReference($_REQUEST['orderId']))->setAmount(new Amount($_REQUEST['amount']))->setPersonalDetail($contact)->setTransaction($_REQUEST['dts_reference'])->setMerchantUrl($baseUrl)->setDescription('test');
$response = $request->send();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>title</title>
</head>
<body OnLoad="document.form.submit();">
<form name="form" id="form" action="https://testserver.datacash.com/acs" method="POST">
    <div>
        <input type="hidden" name="PaReq" value="<?php 
echo $response->getPareqMessage();
?>
">
        <input type="hidden" name="TermUrl" value="<?php 
echo $baseUrl;
 public function innerCreateElement(SimpleXMLElement $xml)
 {
     $xml->addChild('email_address', $this->person->getEmail());
     $xml->addChild('ip_address', $this->person->getIp());
 }