118 lines
3.9 KiB
PHP
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
|
|
)
|
|
);
|
|
}
|
|
}
|