Skip to content

Commit 54832d8

Browse files
authored
Merge pull request #9 from digitickets/add-customer-fields
add customer fields. Also fix soapfaults not showing the error
2 parents b096f65 + f623c65 commit 54832d8

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
"require": {
3131
"omnipay/common": "~2.0",
3232
"php": "^7",
33-
"symfony/event-dispatcher": "^2.8"
33+
"symfony/event-dispatcher": "^2.8",
34+
"ext-soap": "*"
3435
},
3536
"require-dev": {
3637
"friendsofphp/php-cs-fixer": "^2.0",

src/Messages/PurchaseRequest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
use DigiTickets\Pay360\AbstractPay360Request;
66
use DigiTickets\Pay360\Listener;
7+
use scpService_billingDetails;
8+
use scpService_cardHolderDetails;
9+
use scpService_contact;
710

811
class PurchaseRequest extends AbstractPay360Request
912
{
@@ -111,13 +114,31 @@ public function getData()
111114
$sale->saleSummary = $saleSummary;
112115
$sale->items = $items;
113116

117+
$card = $this->getCard();
118+
119+
$cardHolderDetails = new scpService_cardHolderDetails();
120+
if ($card->getName()) {
121+
$cardHolderDetails->cardHolderName = $card->getName();
122+
}
123+
124+
if ($card->getEmail()) {
125+
$contact = new scpService_contact();
126+
$contact->email = $card->getEmail();
127+
$contact->telephone = $card->getPhone();
128+
$cardHolderDetails->contact = $contact;
129+
}
130+
131+
$billing = new scpService_billingDetails();
132+
$billing->cardHolderDetails = $cardHolderDetails;
133+
114134
$scpSimpleInvokeRequest = new \scpService_scpSimpleInvokeRequest();
115135
$scpSimpleInvokeRequest->credentials = $this->getCredentials();
116136
$scpSimpleInvokeRequest->requestType = 'payOnly';
117137
$scpSimpleInvokeRequest->requestId = $this->requestIdentification->uniqueReference;
118138
$scpSimpleInvokeRequest->routing = $routing;
119139
$scpSimpleInvokeRequest->panEntryMethod = 'ECOM';
120140
$scpSimpleInvokeRequest->sale = $sale;
141+
$scpSimpleInvokeRequest->billing = $billing;
121142

122143
return $scpSimpleInvokeRequest;
123144
}

src/Messages/PurchaseResponse.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ public function __construct(
5959
}
6060
}
6161
}
62+
if($scpResponse instanceof \SoapFault){
63+
/** @var \SoapFault $scpResponse */
64+
throw new \Exception("SOAP Error: " . $scpResponse->getMessage() . " - " . $scpResponse->getCode());
65+
}
66+
6267
$this->transactionRef = $scpResponse->scpReference;
6368
}
6469

0 commit comments

Comments
 (0)