Amennyiben szeretnénk felülírni az alapértelmezett SimplePay logot a "Pénztár" oldalon, úgy az otp-simplepay-woocommerce_icon
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_icon', function (string $url): string {
return $url;
});
A kétlépcsős fizetés engedélyezése elérhető az admin felületről. Amennyiben ezt rendelés, vagy más egyedi logika alapján szeretnénk eldönteni, úgy az otp-simplepay-woocommerce_enable_two_step_payment
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_enable_two_step_payment', function (bool $value, WC_Order $order): bool {
return $order->get_total() > 10000;
}, 10, 2);
Amennyiben a fizetés időtúllépését akarjuk konfigurálni, úgy az otp-simplepay-woocommerce_payment_timeout
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_timeout', function (string $value, WC_Order $order): string {
return '+30 minutes';
}, 10, 2);
Amennyiben az elérhető fizetési módokat akarjuk módosítani, úgy az otp-simplepay-woocommerce_payment_methods
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_methods', function (array $value, WC_Order $order): array {
return ['CARD'];
}, 10, 2);
Lehetséges értékek:
['CARD']
,['WIRE']
,['EAM']
,['CARD', 'EAM']
.
Az újraírt, v3-as verzió az előző verziótól eltérően nem egy előtaggal ellátott rendelés azonosítót (pl.: wc-889) ad át a SimplePay-nek, hanem a rendelés kulcsát (pl.: wc_order_q6MXBjFKQwm7B), amely teljesen egyedi. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_order_ref
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_order_ref', function (string $ref, WC_Order $order): string {
return 'xyz-'.$order->get_order_number();
}, 10, 2);
A bővítmény a csak virtuális termékeket tartalmazó rendelések esetén, a sikeres fizetést igazoló IPN hívást követően, "Teljesített" állapotúra állítja a rendelést. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_finished_virtual_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_finished_virtual_order_status', function (string $status, WC_Order $order): string {
return 'pending';
}, 10, 2);
A sikeres fizetési hitelesítés után a rendelést pending állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_success_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_success_order_status', function (string $status, WC_Order $order): string {
return 'pending';
}, 10, 2);
A megszakított fizetés után a rendelést pending állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_cancelled_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_cancelled_order_status', function (string $status, WC_Order $order): string {
return 'pending';
}, 10, 2);
A sikertelen fizetés után a rendelést failed állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_failed_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_failed_order_status', function (string $status, WC_Order $order): string {
return 'failed';
}, 10, 2);
A fizetés időkorlát túllépését követően a rendelést cancelled állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_timeout_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_timeout_order_status', function (string $status, WC_Order $order): string {
return 'cancelled';
}, 10, 2);
A sikertelen autorizációt követően a rendelést failed állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_not_authorized_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_not_authorized_order_status', function (string $status, WC_Order $order): string {
return 'failed';
}, 10, 2);
Kétlépcsős fizetés esetén az összeg befoglalásakor, vagy előautorizációt követően a rendelést on-hold állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_authorized_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_authorized_order_status', function (string $status, WC_Order $order): string {
return 'on-hold';
}, 10, 2);
Kétlépcsős fizetés esetén az összeg feloldásakor a rendelést cancelled állapotúra állítja a bővítmény. Amennyiben ezt módosítani akarjuk, úgy az otp-simplepay-woocommerce_payment_reversed_order_status
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_payment_reversed_order_status', function (string $status, WC_Order $order): string {
return 'cancelled';
}, 10, 2);
A bővítmény lehetőséget nyújt arra, hogy csak adminisztrátorok lássák a fizetési kaput a fizetésnél. Amennyiben ennek a logikáját módosítani akarjuk, úgy a otp-simplepay-woocommerce_hidden_mode
filter segítségével ezt megtehetjük:
add_filter('otp-simplepay-woocommerce_hidden_mode', function (bool $hidden): bool {
return ! is_user_logged_in();
});
Amennyiben olyan bővítményeket használunk amelyek az alapértelmezettől eltérő kosárelemekkel dolgoznak (pl.: ajándékkártya, egyedi kupon), úgy ezeknek a feldolgozásáról külön kell gondoskodni. Automatikusan ezt nem tudjuk lekezelni, mivel az egyedi típusok működése eltérhet az alapértelmezett működéstől.
A bővítmény lehetőséget nyújt arra, hogy kedvezmény számolás esetén, az egyedi kosár elem típusokhoz egyedi logikát rendeljünk, amellyel a kedvezmény értékét lehet módosítani. Ezt a otp-simplepay-woocommerce_discount_item_types
filter segítségével tehetjük meg:
add_filter('otp-simplepay-woocommerce_discount_item_types', function (array $types, WC_Order $order): array {
$types['pw_gift_card'] = function ($item): float {
return $item->get_amount();
};
return $types;
}, 10, 2);