Files
torebki-fabiola.pl/wp-content/plugins/woocommerce-transferujpl-payment-gateway/tpayWoocommerceGateway.php
2026-03-05 13:07:40 +01:00

118 lines
3.9 KiB
PHP

<?php
/**
* Tpay Woocommerce payment module
*
* Plugin Name: Tpay WooCommerce payment module
* Plugin URI: https://wordpress.org/plugins/woocommerce-transferujpl-payment-gateway
* Description: Brama płatności Tpay dla WooCommerce.
* Author: Tpay
* Author URI: https://tpay.com
* Version: 2.9.9
*
* WC requires at least: 2.5
* WC tested up to: 5.1.0
*/
include_once plugin_dir_path(__FILE__) . '../woocommerce/woocommerce.php';
if (!function_exists('WC')) {
add_action('admin_init', 'childPluginHasParentPlugin');
return;
}
if (version_compare(phpversion(), '5.6', '>=') !== true) {
add_action('admin_init', 'displayPhpVersionNotice', 10, 0);
}
add_action('plugins_loaded', 'initTpayGateway');
add_action('woocommerce_thankyou_transferuj', 'displayBlikWarning', 0);
register_activation_hook(__FILE__, 'installDatabase');
function installDatabase()
{
global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE `" . $wpdb->prefix . "woocommerce_tpay` (
id mediumint(9) NOT NULL AUTO_INCREMENT,
wooId mediumint(9) NOT NULL,
midId mediumint(9) NOT NULL,
client_language VARCHAR(2) NOT NULL DEFAULT 'pl',
PRIMARY KEY (id)
) $charset_collate;";
dbDelta($sql);
$sql = "CREATE TABLE `" . $wpdb->prefix . "woocommerce_tpay_clients` (
id mediumint(9) NOT NULL AUTO_INCREMENT,
clientId mediumint(9) NOT NULL,
cliAuth varchar(40) NOT NULL,
cardNoShort varchar(20) NOT NULL,
midId mediumint(9) NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
dbDelta($sql);
}
function initTpayGateway()
{
$new_tpay_db_version = '1.2';
$current_tpay_db_version = get_option("tpay_db_version");
if ($new_tpay_db_version !== $current_tpay_db_version) {
installDatabase();
update_option("tpay_db_version", $new_tpay_db_version);
}
require_once 'includes/TpayCards.php';
require_once 'includes/TpayBasic.php';
add_filter('woocommerce_payment_gateways', 'woocommerceTpayAddGateways');
add_action('woocommerce_api_wc_gateway_transferuj', array(new WC_Gateway_Tpay_Basic, 'gateway_communication'));
add_action('woocommerce_api_wc_gateway_tpay_basic', array(new WC_Gateway_Tpay_Basic, 'gateway_communication'));
add_action('woocommerce_api_wc_gateway_tpay_cards', array(new WC_Gateway_Tpay_Cards, 'gateway_communication'));
}
function woocommerceTpayAddGateways($methods)
{
$methods[] = 'WC_Gateway_Tpay_Cards';
$methods[] = 'WC_Gateway_Tpay_Basic';
return $methods;
}
function childPluginHasParentPlugin()
{
if (is_admin() && current_user_can('activate_plugins')) {
add_action('admin_notices', 'displayChildPluginNotice');
deactivate_plugins(plugin_basename(__FILE__));
if (filter_input(INPUT_GET, 'activate')) {
unset($_GET['activate']);
}
}
}
function displayChildPluginNotice()
{
echo '<div class="error"><p>Moduł płatności Tpay wymaga zainstalowanej wtyczki Woocommerce, którą można pobrać
<a target="_blank" href="https://wordpress.org/plugins/woocommerce/">tutaj</a></p></div>';
}
function displayPhpVersionNotice()
{
echo '<div class="notice notice-warning"><p>Moduł płatności Tpay będzie niebawem wymagał wesji PHP 5.6 lub wyższej. Sprawdź jak zaktualizować wersję PHP
<a target="_blank" href="https://docs.woocommerce.com/document/how-to-update-your-php-version/">tutaj</a></p></div>';
}
function displayBlikWarning($order_id)
{
if (isset($_GET['method']) && WC_Gateway_Tpay_Basic::BLIK_METHOD === $_GET['method']) {
echo sprintf(
'<div><h3>%s</h3></div>',
__(
'Prosimy o potwierdzenie płatności Blik w aplikacji mobilnej. W przypadku braku potwierdzenia zamówienie pozostanie nieopłacone i może nie zostać zrealizowane.',
WC_Gateway_Tpay_Basic::WOOCOMMERCE
)
);
}
}