1: | <?php
2: | namespace Opencart\Catalog\Model\Extension\Opencart\Payment;
3: | /**
4: | * Class COD
5: | *
6: | * @package Opencart\Catalog\Model\Extension\Opencart\Payment
7: | */
8: | class COD extends \Opencart\System\Engine\Model {
9: | /**
10: | * Get Methods
11: | *
12: | * @param array<string, mixed> $address
13: | *
14: | * @return array<string, mixed>
15: | */
16: | public function getMethods(array $address = []): array {
17: | $this->load->language('extension/opencart/payment/cod');
18: |
19: | if ($this->cart->hasSubscription()) {
20: | $status = false;
21: | } elseif (!$this->cart->hasShipping()) {
22: | $status = false;
23: | } elseif (!$this->config->get('config_checkout_payment_address')) {
24: | $status = true;
25: | } elseif (!$this->config->get('payment_cod_geo_zone_id')) {
26: | $status = true;
27: | } else {
28: | $this->load->model('localisation/geo_zone');
29: |
30: | $results = $this->model_localisation_geo_zone->getGeoZone((int)$this->config->get('payment_cod_geo_zone_id'), (int)$address['country_id'], (int)$address['zone_id']);
31: |
32: | if ($results) {
33: | $status = true;
34: | } else {
35: | $status = false;
36: | }
37: | }
38: |
39: | $method_data = [];
40: |
41: | if ($status) {
42: | $option_data['cod'] = [
43: | 'code' => 'cod.cod',
44: | 'name' => $this->language->get('heading_title')
45: | ];
46: |
47: | $method_data = [
48: | 'code' => 'cod',
49: | 'name' => $this->language->get('heading_title'),
50: | 'option' => $option_data,
51: | 'sort_order' => $this->config->get('payment_cod_sort_order')
52: | ];
53: | }
54: |
55: | return $method_data;
56: | }
57: | }
58: |

OpenCart API API documentation generated by ApiGen dev-master