Skip to content

Commit

Permalink
add customer fields. Also fix soapfaults not showing the error
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesgarton committed Jul 10, 2024
1 parent b096f65 commit f623c65
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 1 deletion.
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
"require": {
"omnipay/common": "~2.0",
"php": "^7",
"symfony/event-dispatcher": "^2.8"
"symfony/event-dispatcher": "^2.8",
"ext-soap": "*"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.0",
Expand Down
21 changes: 21 additions & 0 deletions src/Messages/PurchaseRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

use DigiTickets\Pay360\AbstractPay360Request;
use DigiTickets\Pay360\Listener;
use scpService_billingDetails;
use scpService_cardHolderDetails;
use scpService_contact;

class PurchaseRequest extends AbstractPay360Request
{
Expand Down Expand Up @@ -111,13 +114,31 @@ public function getData()
$sale->saleSummary = $saleSummary;
$sale->items = $items;

$card = $this->getCard();

$cardHolderDetails = new scpService_cardHolderDetails();
if ($card->getName()) {
$cardHolderDetails->cardHolderName = $card->getName();
}

if ($card->getEmail()) {
$contact = new scpService_contact();
$contact->email = $card->getEmail();
$contact->telephone = $card->getPhone();
$cardHolderDetails->contact = $contact;
}

$billing = new scpService_billingDetails();
$billing->cardHolderDetails = $cardHolderDetails;

$scpSimpleInvokeRequest = new \scpService_scpSimpleInvokeRequest();
$scpSimpleInvokeRequest->credentials = $this->getCredentials();
$scpSimpleInvokeRequest->requestType = 'payOnly';
$scpSimpleInvokeRequest->requestId = $this->requestIdentification->uniqueReference;
$scpSimpleInvokeRequest->routing = $routing;
$scpSimpleInvokeRequest->panEntryMethod = 'ECOM';
$scpSimpleInvokeRequest->sale = $sale;
$scpSimpleInvokeRequest->billing = $billing;

return $scpSimpleInvokeRequest;
}
Expand Down
5 changes: 5 additions & 0 deletions src/Messages/PurchaseResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ public function __construct(
}
}
}
if($scpResponse instanceof \SoapFault){
/** @var \SoapFault $scpResponse */
throw new \Exception("SOAP Error: " . $scpResponse->getMessage() . " - " . $scpResponse->getCode());
}

$this->transactionRef = $scpResponse->scpReference;
}

Expand Down

0 comments on commit f623c65

Please sign in to comment.