PaymentProviderPipayKh   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 37
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A instantiateValidator() 0 3 1
A paymentProviderPayload() 0 12 1
1
<?php declare(strict_types=1);
2
3
namespace Getloy\PaymentProviders;
4
5
use Getloy\PaymentProviders;
6
use Getloy\PaymentProviders\Configuration\PaymentProviderConfigPipayKh;
7
use Getloy\PaymentProviders\Configuration\PaymentProviderConfig;
8
use Getloy\TransactionDetails\OrderDetails;
9
use Getloy\TransactionDetails\OrderItems;
10
use Getloy\TransactionDetails\PayeeDetails;
11
12
class PaymentProviderPipayKh extends PaymentProvider
13
{
14
    protected $paymentMethod = PaymentProviders::PIPAY_KH;
15
    
16
    /**
17
     * Instantiate a payment provider config for the payment method.
18
     *
19
     * @param array $config Configuration for the payment method.
20
     * @return PaymentProviderConfig The configuration.
21
     */
22
    protected function instantiateValidator(array $config): PaymentProviderConfig
23
    {
24
        return new PaymentProviderConfigPipayKh($config);
25
    }
26
27
    /**
28
     * Generate the payment provider-specific part of the widget payload.
29
     *
30
     * @param string $transactionId
31
     * @param OrderDetails $order
32
     * @param PayeeDetails $payee
33
     * @param string $callbackUrl
34
     * @param string $paymentMethodVariant Payment method variant name (optional).
35
     * @return array
36
     */
37
    public function paymentProviderPayload(
38
        string $transactionId,
39
        OrderDetails $order,
40
        PayeeDetails $payee,
41
        string $callbackUrl,
42
        string $paymentMethodVariant = null
43
    ): array {
44
45
        return [
46
            'merchant_id' => $this->config->get('merchantId'),
47
            'store_id' => $this->config->get('storeId'),
48
            'device_id' => $this->config->get('deviceId'),
49
        ];
50
    }
51
}
52