Skip to content

Commit

Permalink
OctopusDeploy release: 13.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
securesubmit-buildmaster committed Aug 22, 2024
1 parent 9240077 commit 168139f
Show file tree
Hide file tree
Showing 104 changed files with 5,073 additions and 371 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@

# Changelog

## Latest Version - v12.0.9 (08/14/24)
## Latest Version - v13.0.0 (08/22/24)
### Enhancements:
- [UPA] Add new UPA commands

## v12.0.9 (08/14/24)
### Enhancements:
- [PAX] Portico - Added support for HSA/FSA
- [MEET-IN-THE-CLOUD][UPA] - Add new mapping response fields for "/devices" endpoint
Expand Down
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
"ext-json": "*",
"ext-zlib": "*",
"ext-intl": "*",
"ext-mbstring": "*"
"ext-mbstring": "*",
"ext-fileinfo": "*"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8.5 || ~9.4",
Expand Down
2 changes: 1 addition & 1 deletion metadata.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<xml>
<releaseNumber>12.0.9</releaseNumber>
<releaseNumber>13.0.0</releaseNumber>
</xml>
15 changes: 15 additions & 0 deletions src/Entities/Enums/ExtraChargeType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

namespace GlobalPayments\Api\Entities\Enums;

use GlobalPayments\Api\Entities\Enum;

class ExtraChargeType extends Enum
{
const RESTAURANT = 1;
const GIFT_SHOP = 2;
const MINI_BAR = 3;
const TELEPHONE = 4;
const LAUNDRY = 5;
const OTHER = 10;
}
1 change: 1 addition & 0 deletions src/Entities/Enums/GatewayProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ class GatewayProvider extends Enum
const TRANSIT = 'TRANSIT';
const GP_API = 'GP-API';
const TRANSACTION_API = 'TRANSACTION-API';
const UPA = 'UPA';
}
433 changes: 433 additions & 0 deletions src/Entities/Enums/TimeZoneIdentifier.php

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions src/Entities/Enums/TransactionModifier.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,11 @@ class TransactionModifier extends Enum
const MERCHANT = 16;
const BAY_NOW_PAY_LATER = 17;
const DELETE_PRE_AUTH = 18;
const UPDATE_TAX_DETAILS = 19;
const UPDATE_LODGING_DETAILS = 20;
const START_TRANSACTION = 21;
const CONTINUE_EMV_TRANSACTION = 22;
const COMPLETE_TRANSACTION = 23;
const PROCESS_TRANSACTION = 24;
const CONTINUE_CARD_TRANSACTION = 25;
}
17 changes: 17 additions & 0 deletions src/Entities/Exceptions/MessageException.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

namespace GlobalPayments\Api\Entities\Exceptions;

class MessageException extends ApiException
{
/**
* A message to/from the device caused an error.
*
* @param string $message The exception message to throw.
* @param \Exception|null $innerException The previous exception used for the exception chaining.
*/
public function __construct(string $message, \Exception $innerException = null)
{
parent::__construct($message, $innerException);
}
}
8 changes: 8 additions & 0 deletions src/Entities/LodgingData.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
namespace GlobalPayments\Api\Entities;

use GlobalPayments\Api\Entities\Enums\ExtraChargeType;

class LodgingData
{
/**
Expand Down Expand Up @@ -45,4 +47,10 @@ class LodgingData

/** @var array<LodgingItems> */
public $items;

/** @var array<ExtraChargeType> */
public array $extraCharges;
/** @var string Lodging system generated value used to group and manage charges during a stay */
public string $folioNumber;

}
23 changes: 23 additions & 0 deletions src/Entities/Reporting/TransactionList.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace GlobalPayments\Api\Entities\Reporting;

final class TransactionList
{
private array $list;

public function __construct(TransactionSummary ...$transaction)
{
$this->list = $transaction;
}

public function add(TransactionSummary $transactionSummary) : void
{
$this->list[] = $transactionSummary;
}

public function all() : array
{
return $this->list;
}
}
4 changes: 4 additions & 0 deletions src/Entities/Reporting/TransactionSummary.php
Original file line number Diff line number Diff line change
Expand Up @@ -527,4 +527,8 @@ class TransactionSummary extends BaseSummary

/** @var FraudManagementResponse */
public $fraudManagementResponse;

public string $terminalRefNumber;
public ?bool $hostTimeout;
public ?string $cardEntryMethod;
}
7 changes: 7 additions & 0 deletions src/Mapping/EnumMapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,13 @@ public static function mapCardType($gateway, $value)
default:
return $value;
}
case GatewayProvider::UPA:
switch ($value) {
case CardType::MASTERCARD:
return 'MC';
default:
return $value;
}
default:
return $value;
}
Expand Down
168 changes: 167 additions & 1 deletion src/Terminals/Abstractions/IDeviceInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,23 @@
namespace GlobalPayments\Api\Terminals\Abstractions;

use GlobalPayments\Api\Entities\Enums\PaymentMethodType;
use GlobalPayments\Api\Entities\Enums\TransactionType;
use GlobalPayments\Api\Terminals\Builders\TerminalAuthBuilder;
use GlobalPayments\Api\Terminals\Builders\TerminalManageBuilder;
use GlobalPayments\Api\Terminals\Builders\TerminalReportBuilder;
use GlobalPayments\Api\Terminals\DeviceResponse;
use GlobalPayments\Api\Terminals\Entities\GenericData;
use GlobalPayments\Api\Terminals\Entities\MessageLines;
use GlobalPayments\Api\Terminals\Entities\PrintData;
use GlobalPayments\Api\Terminals\Entities\PromptData;
use GlobalPayments\Api\Terminals\Entities\PromptMessages;
use GlobalPayments\Api\Terminals\Entities\ScanData;
use GlobalPayments\Api\Terminals\Entities\UDData;
use GlobalPayments\Api\Terminals\Enums\DeviceConfigType;
use GlobalPayments\Api\Terminals\Enums\DisplayOption;
use GlobalPayments\Api\Terminals\Enums\PromptType;
use GlobalPayments\Api\Terminals\UPA\Entities\POSData;
use GlobalPayments\Api\Terminals\UPA\Entities\SignatureData;

interface IDeviceInterface
{
Expand All @@ -25,6 +39,19 @@ public function withdrawal($amount = null): TerminalAuthBuilder;

public function tokenize() : TerminalAuthBuilder;

public function startTransaction(float $amount, $transactionType = TransactionType::SALE) : TerminalAuthBuilder;

/**
* @param float $amount - The total amount of the transaction, which should be the sum of the base amount, surcharge,
* cashback, tip and tax amounts.
* @param bool $isEmv - indicates if it's a traditional EMV transaction
* @return TerminalAuthBuilder
*/
public function continueTransaction(float $amount, bool $isEmv = false) : TerminalAuthBuilder;
public function completeTransaction() : TerminalAuthBuilder;

public function processTransaction(float $amount, $transactionType = TransactionType::SALE) : TerminalAuthBuilder;

/********************************************************************************/

public function void() : TerminalManageBuilder;
Expand All @@ -37,6 +64,12 @@ public function deletePreAuth() : TerminalManageBuilder;

public function increasePreAuth($amount) : TerminalManageBuilder;

public function reverse() : TerminalManageBuilder;

public function updateTaxInfo(?float $amount = null) : TerminalManageBuilder;

public function updateLodgingDetails(float $amount) : TerminalManageBuilder;

/********************************************************************************/
public function lineItem(
string $leftText,
Expand All @@ -58,12 +91,39 @@ public function reset() : DeviceResponse;
public function startCard(PaymentMethodType $paymentMethodType) : DeviceResponse;

public function sendSaf($safIndicator = null) : DeviceResponse;
public function sendStoreAndForward() : ISAFResponse;

public function ping() : DeviceResponse;

public function getAppInfo() : DeviceResponse;

public function clearDataLake() : DeviceResponse;

public function setTimeZone(string $timezone) : DeviceResponse;

public function getParam(array $params = []): DeviceResponse;

public function removeCard(string $language = '') : DeviceResponse;

public function enterPIN(PromptMessages $promptMessages, bool $canBypass, string $accountNumber) : DeviceResponse;
/**
* This command is used to check the Host Credentials
*
* @return DeviceResponse
*/
public function communicationCheck() : DeviceResponse;

/**
* This command is used for testing the host connection by sending a test Credit Sale transaction.
* @return DeviceResponse
*/
public function logon() : DeviceResponse;

/********************************************************************************/

public function cancel($cancelParams = null);

public function getSignatureFile();
public function getSignatureFile(SignatureData $data = null) : ISignatureResponse;

public function initialize();

Expand All @@ -73,6 +133,106 @@ public function batchClose() : IBatchCloseResponse;

public function endOfDay();

/**
* This command is used to obtain the last EODProcessing result, including that from an Auto EOD.
*
* @return IBatchCloseResponse
*/
public function getLastEOD() : IBatchCloseResponse;

public function registerPOS(POSData $data) : DeviceResponse;

public function broadcastConfiguration(bool $enable) : DeviceResponse;

public function getDeviceConfig(string|DeviceConfigType $type) : DeviceResponse;

/**
* @param array $debugLevels List of DebugLevel
* @param string|null $logOutput Value of DebugLogsOutput
*
* @return DeviceResponse
*/
public function setDebugLevel(array $debugLevels, string $logOutput = null) : DeviceResponse;

public function getDebugLevel() : DeviceResponse;

/**
* This command is used to get the debug information.
*
* @param string $logDirectory
* @param string|null $fileIndicator
* @return DeviceResponse
*/
public function getDebugInfo(string $logDirectory, string $fileIndicator = null) : DeviceResponse;

/**
* This command informs the application to display the idle screen.
* @return DeviceResponse
*/
public function returnToIdle() : DeviceResponse;

/***** START commands for user defined screen of the device ***/

/**
* This command is used to load different kinds of user-defined screens to the device.
* @param UDData $screen
* @return IDeviceScreen
*/
public function loadUDData(UDData $screen) : IDeviceScreen;

/**
* This command is used to remove a previously loaded user-defined screen from the slot indicated.
* @param UDData $screen
* @return IDeviceScreen
*/
public function removeUDData(UDData $screen) : IDeviceScreen;

/**
* This command will display the file indicated, which is previously loaded with the LoadUDDataFile.
* @param UDData $screen
* @return IDeviceScreen
*/
public function executeUDData(UDData $screen) : IDeviceScreen;

/**
* @param UDData $screen
* @return IDeviceScreen
*/
public function injectUDData(UDData $screen) : IDeviceScreen;

/***** END commands for user defined screen of the device ***/

/**
* @param ScanData $data
* @return DeviceResponse
*/
public function scan(ScanData $data) : DeviceResponse;

/**
* @param PrintData $data
* @return DeviceResponse
*/
public function print(PrintData $data) : DeviceResponse;

/**
* @param PromptType $promptType
* @param PromptData $promptData
* @return DeviceResponse
*/
public function prompt(string $promptType, PromptData $promptData): DeviceResponse;

public function getGenericEntry(GenericData $data) : DeviceResponse;

public function displayMessage(MessageLines $messageLines) : DeviceResponse;

/**
* @param string|DisplayOption $option
* @return DeviceResponse
*/
public function returnDefaultScreen(string $option) : DeviceResponse;

public function getEncryptionType() : DeviceResponse;

/********************************************************************************/

//EBT Calls
Expand All @@ -92,4 +252,10 @@ public function sendFile($sendFileData);
//Get Reports
public function getDiagnosticReport($totalFields);
public function getLastResponse();

public function getSAFReport() : TerminalReportBuilder;
public function getBatchReport() : TerminalReportBuilder;
public function getBatchDetails(?string $batchId = null, bool $printReport = false) : ITerminalReport;
public function findBatches() : TerminalReportBuilder;
public function getOpenTabDetails() : TerminalReportBuilder;
}
8 changes: 8 additions & 0 deletions src/Terminals/Abstractions/IDeviceScreen.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

namespace GlobalPayments\Api\Terminals\Abstractions;

interface IDeviceScreen extends IDeviceResponse
{

}
2 changes: 0 additions & 2 deletions src/Terminals/Abstractions/IRequestSubGroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,5 @@

interface IRequestSubGroup
{


public function getElementString();
}
10 changes: 10 additions & 0 deletions src/Terminals/Abstractions/ISAFResponse.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace GlobalPayments\Api\Terminals\Abstractions;

interface ISAFResponse extends IDeviceResponse
{
public function getApproved();
public function getPending();
public function getDeclined();
}
Loading

0 comments on commit 168139f

Please sign in to comment.