Files
2026-04-28 15:13:50 +02:00

44 lines
1.3 KiB
PHP

<?php
namespace Payu\PaymentGateway\Gateways;
class WC_Gateway_PayuKlarna extends WC_Payu_Gateways implements WC_PayuCreditGateway {
private $available_klarna_paytypes;
private array $related_paytypes = ['dpkl', 'dpklczk', 'dpklron', 'dpkleur', 'dpklhuf'];
function __construct() {
parent::__construct( 'payuklarna' );
$this->get_available_klarna_paytypes();
$this->paytype = $this->available_klarna_paytypes[0] ?? '';
if ( $this->is_enabled() ) {
$this->icon = apply_filters( 'woocommerce_payu_icon', plugins_url( '/assets/images/klarna.svg', PAYU_PLUGIN_FILE ) );
}
}
public function is_available(): bool {
if ( ! $this->try_retrieve_banks() ) {
return false;
}
if ( ! $this->contains_only_one_related_paytype()) {
return false;
}
return parent::is_available();
}
private function get_available_klarna_paytypes(): void {
$this->available_klarna_paytypes = $this->filter_available_paytypes($this->related_paytypes);
}
private function contains_only_one_related_paytype(): bool {
return count($this->available_klarna_paytypes) === 1;
}
public function get_related_paytypes(): array {
return $this->related_paytypes;
}
}