Skip to content

Commit 9f9a676

Browse files
Extends base validation parameters.
1 parent d4a853d commit 9f9a676

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/Message/AbstractRequest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
namespace Omnipay\MoMo\Message;
99

10+
use Omnipay\MoMo\Support\Arr;
1011
use Omnipay\MoMo\Concerns\Parameters;
12+
use Omnipay\Common\Exception\InvalidRequestException;
1113
use Omnipay\Common\Message\AbstractRequest as BaseAbstractRequest;
1214

1315
/**
@@ -17,4 +19,18 @@
1719
abstract class AbstractRequest extends BaseAbstractRequest
1820
{
1921
use Parameters;
22+
23+
/**
24+
* {@inheritdoc}
25+
*/
26+
public function validate(...$parameters): void
27+
{
28+
$listParameters = $this->getParameters();
29+
30+
foreach ($parameters as $parameter) {
31+
if (null === Arr::getValue($parameter, $listParameters)) {
32+
throw new InvalidRequestException(sprintf('The `%s` parameter is required', $parameter));
33+
}
34+
}
35+
}
2036
}

src/Message/Concerns/RequestSignature.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ protected function generateSignature(): string
2525
{
2626
$data = [];
2727
$signature = new Signature($this->getParameter('secretKey'));
28+
$parameters = $this->getParameters();
2829

2930
foreach ($this->getSignatureParameters() as $pos => $parameter) {
3031
if (! is_string($pos)) {
3132
$pos = $parameter;
3233
}
3334

34-
$data[$pos] = $this->getParameter($parameter);
35+
$data[$pos] = Arr::getValue($parameter, $parameters);
3536
}
3637

3738
return $signature->generate($data);

0 commit comments

Comments
 (0)