From 179966b3085e6dab27331f5852c67581b7e9219a Mon Sep 17 00:00:00 2001 From: ProcessOut Fountain Date: Mon, 24 Aug 2026 17:02:46 +0200 Subject: [PATCH] feat: add InvoiceDevice threeds sdk field --- README.md | 2 +- src/InvoiceDevice.php | 32 ++++++++++++++++++++++++++ src/Networking/Request.php | 2 +- src/PaymentProcessingConfiguration.php | 6 ++--- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4b71a53..7444c1b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ The package's installation is done using composer. Simply add these lines to you ```json { "require": { - "processout/processout-php": "^9.0.0" + "processout/processout-php": "^9.0.1" } } ``` diff --git a/src/InvoiceDevice.php b/src/InvoiceDevice.php index 67b02a0..da4bfbd 100755 --- a/src/InvoiceDevice.php +++ b/src/InvoiceDevice.php @@ -22,6 +22,12 @@ class InvoiceDevice implements \JsonSerializable */ protected $channel; + /** + * Preferred 3DS SDK type for authentication. This is the recommended field to use instead of channel for 3DS SDK selection + * @var string + */ + protected $threedsSdk; + /** * Platform of the device for analytics and metadata. Possible values: "web", "ios", "android", "other" * @var string @@ -75,6 +81,28 @@ public function setChannel($value) return $this; } + /** + * Get ThreedsSdk + * Preferred 3DS SDK type for authentication. This is the recommended field to use instead of channel for 3DS SDK selection + * @return string + */ + public function getThreedsSdk() + { + return $this->threedsSdk; + } + + /** + * Set ThreedsSdk + * Preferred 3DS SDK type for authentication. This is the recommended field to use instead of channel for 3DS SDK selection + * @param string $value + * @return $this + */ + public function setThreedsSdk($value) + { + $this->threedsSdk = $value; + return $this; + } + /** * Get Platform * Platform of the device for analytics and metadata. Possible values: "web", "ios", "android", "other" @@ -152,6 +180,9 @@ public function fillWithData($data) if(! empty($data['channel'])) $this->setChannel($data['channel']); + if(! empty($data['threeds_sdk'])) + $this->setThreedsSdk($data['threeds_sdk']); + if(! empty($data['platform'])) $this->setPlatform($data['platform']); @@ -171,6 +202,7 @@ public function fillWithData($data) public function jsonSerialize(): array { return array( "channel" => $this->getChannel(), + "threeds_sdk" => $this->getThreedsSdk(), "platform" => $this->getPlatform(), "ip_address" => $this->getIpAddress(), "id" => $this->getId(), diff --git a/src/Networking/Request.php b/src/Networking/Request.php index 3becc89..d33c94d 100644 --- a/src/Networking/Request.php +++ b/src/Networking/Request.php @@ -31,7 +31,7 @@ protected function prepare($options, $len = null) $headers = array( 'API-Version: 1.4.0.0', 'Content-Type: application/json', - 'User-Agent: ProcessOut PHP-Bindings/9.0.0' + 'User-Agent: ProcessOut PHP-Bindings/9.0.1' ); if (! empty($options['idempotencyKey'])) $headers[] = 'Idempotency-Key: ' . $options['idempotencyKey']; diff --git a/src/PaymentProcessingConfiguration.php b/src/PaymentProcessingConfiguration.php index dcecd66..ed12ea0 100755 --- a/src/PaymentProcessingConfiguration.php +++ b/src/PaymentProcessingConfiguration.php @@ -23,7 +23,7 @@ class PaymentProcessingConfiguration implements \JsonSerializable protected $bypassUnsupportedSplitPayments; /** - * Alternative Payment Method (APM) specific payment processing cofiguration. + * Alternative Payment Method (APM) specific payment processing configuration. * @var object */ protected $apmPaymentConfig; @@ -65,7 +65,7 @@ public function setBypassUnsupportedSplitPayments($value) /** * Get ApmPaymentConfig - * Alternative Payment Method (APM) specific payment processing cofiguration. + * Alternative Payment Method (APM) specific payment processing configuration. * @return object */ public function getApmPaymentConfig() @@ -75,7 +75,7 @@ public function getApmPaymentConfig() /** * Set ApmPaymentConfig - * Alternative Payment Method (APM) specific payment processing cofiguration. + * Alternative Payment Method (APM) specific payment processing configuration. * @param object $value * @return $this */