diff --git a/src/Message/AuthorizeRequest.php b/src/Message/AuthorizeRequest.php index a9daf338..f3989fea 100644 --- a/src/Message/AuthorizeRequest.php +++ b/src/Message/AuthorizeRequest.php @@ -131,6 +131,18 @@ public function setApplicationFee($value) return $this->setParameter('applicationFee', $value); } + public function getStatementDescriptor() + { + return $this->getParameter('statementDescriptor'); + } + + public function setStatementDescriptor($value) + { + $value = str_replace(array('<', '>', '"', '\''), '', $value); + + return $this->setParameter('statementDescriptor', $value); + } + public function getData() { $this->validate('amount', 'currency'); @@ -143,6 +155,9 @@ public function getData() $data['metadata'] = $this->getMetadata(); $data['capture'] = 'false'; + if ($this->getStatementDescriptor()) { + $data['statement_descriptor'] = $this->getStatementDescriptor(); + } if ($this->getDestination()) { $data['destination'] = $this->getDestination(); } diff --git a/tests/Message/AuthorizeRequestTest.php b/tests/Message/AuthorizeRequestTest.php index 972d82c9..62585ff3 100644 --- a/tests/Message/AuthorizeRequestTest.php +++ b/tests/Message/AuthorizeRequestTest.php @@ -55,6 +55,14 @@ public function testDataWithCardReference() $this->assertSame('xyz', $data['source']); } + public function testDataWithStatementDescriptor() + { + $this->request->setStatementDescriptor('OMNIPAY'); + $data = $this->request->getData(); + + $this->assertSame('OMNIPAY', $data['statement_descriptor']); + } + public function testDataWithToken() { $this->request->setToken('xyz');