diff --git a/src/model/response/PaymentCompletedResponse.php b/src/model/response/PaymentCompletedResponse.php index 8a1c375..6c21819 100644 --- a/src/model/response/PaymentCompletedResponse.php +++ b/src/model/response/PaymentCompletedResponse.php @@ -52,7 +52,6 @@ public function getStatus() public static function createInstance($orderID, $status, $signature, SigningKey $signingKey) { //Sanitize input - $orderID = preg_replace('/[^0-9]/', '', $orderID); $status = preg_replace('/[^A-Z_]/', '', $status); $signature = preg_replace('/[^0-9a-f]/', '', $signature); @@ -72,4 +71,4 @@ public function getSignatureData() { return array($this->orderID, $this->status); } -} \ No newline at end of file +} diff --git a/test/model/response/PaymentCompletedResponseTest.php b/test/model/response/PaymentCompletedResponseTest.php index 103fbca..3c95b82 100644 --- a/test/model/response/PaymentCompletedResponseTest.php +++ b/test/model/response/PaymentCompletedResponseTest.php @@ -30,4 +30,13 @@ public function testThatIsValidReturnsTrueForUnderscoreInStatus() { $this->assertEquals('1', $paymentCompletedResponse->getOrderID()); $this->assertEquals('IN_PROGRESS', $paymentCompletedResponse->getStatus()); } + + public function testIsValidReturnsTrueForNonIntegerIds() + { + $signingKey = new SigningKey('secret'); + $paymentCompletedResponse = PaymentCompletedResponse::createInstance('866a13038dd88f851fa3556a3b7d2da515018a95', 'COMPLETED', 'f29bc3142089ba67f3ff62a9b4b94fd2c923f50adbd752430ae480f70727863de750aa05d2dbae1bd0adb0c380135cbac34062b121cb051fbf9193a6a1c016fe', $signingKey); + $this->assertNotFalse($paymentCompletedResponse); + $this->assertEquals('866a13038dd88f851fa3556a3b7d2da515018a95', $paymentCompletedResponse->getOrderID()); + $this->assertEquals('COMPLETED', $paymentCompletedResponse->getStatus()); + } }