Completed
Push — master ( aaa8c4...f4ebb6 )
by Gaël
10:40
created

Method   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 11
c 0
b 0
f 0
dl 0
loc 25
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A generateFields() 0 5 1
A generateSeal() 0 11 1
1
<?php
2
3
namespace DansMaCulotte\Monetico;
4
5
abstract class Method
6
{
7
    public function generateSeal($securityKey, $fields)
8
    {
9
        ksort($fields);
10
11
        $query = http_build_query($fields, null, '*');
12
        $query = urldecode($query);
13
14
        return strtoupper(hash_hmac(
15
            'sha1',
16
            $query,
17
            $securityKey
18
        ));
19
    }
20
21
    public function generateFields($seal, $fields)
22
    {
23
        return array_merge(
24
            $fields,
25
            ['MAC' => $seal]
26
        );
27
    }
28
29
    abstract public function validate();
30
}
31