This commit is contained in:
2026-07-16 14:32:49 +03:00
committed by Git Moneta
parent 174978b903
commit 18ea80ebfa
7 changed files with 1513 additions and 71 deletions
+36
View File
@@ -0,0 +1,36 @@
.annotation {
text-align: center;
}
.visible {
display: block !important
}
.content {
max-width: 416px;
min-width: 320px;
margin: auto;
width: 98%;
height: auto
}
@font-face {
font-family: 'ProximaNova-Regular';
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_21_0.eot");
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_21_0.eot?#iefix") format("embedded-opentype"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_21_0.woff2") format("woff2"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_21_0.woff") format("woff"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_21_0.ttf") format("truetype");
font-style: normal
}
@font-face {
font-family: 'ProximaNova-Semibold';
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_28_0.eot");
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_28_0.eot?#iefix") format("embedded-opentype"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_28_0.woff2") format("woff2"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_28_0.woff") format("woff"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_28_0.ttf") format("truetype");
font-style: normal
}
@font-face {
font-family: 'ProximaNova-Bold';
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_C_0.eot");
src: url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_C_0.eot?#iefix") format("embedded-opentype"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_C_0.woff2") format("woff2"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_C_0.woff") format("woff"), url("https://www.payanyway.ru/w/fonts/ProximaNova/33F824_C_0.ttf") format("truetype");
font-style: normal
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+41
View File
@@ -0,0 +1,41 @@
<?php
use Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType;
final class WC_Payanyway_Blocks extends AbstractPaymentMethodType {
protected $name = 'payanyway';
protected $settings;
public function initialize() {
$this->settings = get_option('woocommerce_payanyway_settings', []);
}
public function get_payment_method_script_handles() {
wp_register_script(
'payanyway-blocks-integration',
plugin_dir_url(__FILE__) . 'blocks.js',
[
'wc-blocks-registry',
'wc-settings',
'wp-element',
'wp-html-entities',
'wp-i18n',
],
null,
true
);
return ['payanyway-blocks-integration'];
}
public function get_payment_method_data() {
$gateway = WC()->payment_gateways()->payment_gateways()['payanyway'];
return [
'title' => $gateway->settings['title'],
'description' => $gateway->settings['description'],
'icon' => $gateway->icon
];
}
}
+33
View File
@@ -0,0 +1,33 @@
const payanywaySettings = window.wc.wcSettings.getSetting('payanyway_data', {});
const payanywaySettingsLabel = window.wp.htmlEntities.decodeEntities(payanywaySettings.title) || window.wp.i18n.__('Оплата через PayAnyWay', 'payanyway')
const PayanywayContent = () => {
return window.wp.htmlEntities.decodeEntities(payanywaySettings.description || '');
};
const PayanywayLabel = () => {
return window.wp.element.createElement(
'span',
{style: {width: '100%'}},
payanywaySettingsLabel,
window.wp.element.createElement('img', {
src: payanywaySettings.icon,
style: {float: 'right', marginRight: '20px'},
alt: payanywaySettings.title,
})
);
};
const Payanyway_Block_Gateway = {
name: 'payanyway',
label: window.wp.element.createElement(PayanywayLabel),
content: window.wp.element.createElement(PayanywayContent),
edit: window.wp.element.createElement(PayanywayContent),
canMakePayment: () => true,
ariaLabel: payanywaySettingsLabel,
supports: {
features: payanywaySettings.supports,
},
};
window.wc.wcBlocksRegistry.registerPaymentMethod(Payanyway_Block_Gateway);
@@ -0,0 +1,83 @@
<?php
if (!defined('ABSPATH')) {
exit;
}
/**
* Settings for PayAnyWay Gateway.
*/
$settings = array(
'main' => array(
'title' => __('PayAnyWay', 'woocommerce_gateway_payanyway'),
'type' => 'title',
'description' => __('Настройка приёма электронных платежей через PayAnyWay', 'woocommerce_gateway_payanyway'),
),
'enabled' => array(
'title' => __('Включить/Выключить', 'woocommerce_gateway_payanyway'),
'type' => 'checkbox',
'label' => __('Включен', 'woocommerce_gateway_payanyway'),
'default' => 'yes',
),
'title' => array(
'title' => __('Название', 'woocommerce_gateway_payanyway'),
'type' => 'text',
'description' => __('Это название, которое пользователь видит во время проверки', 'woocommerce_gateway_payanyway'),
'default' => __('PayAnyWay', 'woocommerce_gateway_payanyway'),
),
'MNT_ID' => array(
'title' => __('Номер счёта', 'woocommerce_gateway_payanyway'),
'type' => 'text',
'description' => __('Ваш номер расширенного счёта в системе MONETA.RU', 'woocommerce_gateway_payanyway'),
'default' => '99999999',
),
'MNT_DATAINTEGRITY_CODE' => array(
'title' => __('Код проверки целостности данных', 'woocommerce_gateway_payanyway'),
'type' => 'password',
'description' => __('Код проверки целостности данных, указанный в настройках расширенного счёта в системе MONETA.RU', 'woocommerce_gateway_payanyway'),
'default' => '******',
),
'demo_mode' => array(
'title' => __('Демо режим', 'woocommerce_gateway_payanyway'),
'type' => 'checkbox',
'label' => __('Включен', 'woocommerce_gateway_payanyway'),
'description' => __('Включите, если используете демо-площадку (demo.moneta.ru)', 'woocommerce_gateway_payanyway'),
'default' => 'no',
),
'iniframe' => array(
'title' => __('Форма оплаты в iframe', 'woocommerce_gateway_payanyway'),
'type' => 'checkbox',
'label' => __('Встроить форму оплаты в страницу сайта', 'woocommerce_gateway_payanyway'),
'description' => __('Форма оплаты, предоставляемая PayAnyWay, будет встроена в страницу вашего сайта. Автоотправка невозможна. Покупатель сможет выбрать желаемый способ оплаты', 'woocommerce_gateway_payanyway'),
'default' => 'no',
),
'debug' => array(
'title' => __('Отладка', 'woocommerce_gateway_payanyway'),
'type' => 'checkbox',
'label' => __('Включить логирование', 'woocommerce_gateway_payanyway'),
'description' => sprintf(
__('Для просмотра перейдите в <a href="%s">WooCommerce → Статус → Журналы</a> и выберите <code>payanyway</code>', 'woocommerce_gateway_payanyway'),
admin_url('admin.php?page=wc-status&tab=logs&source=payanyway&paged=1')
),
'default' => 'no',
),
'description' => array(
'title' => __('Описание', 'woocommerce_gateway_payanyway'),
'type' => 'textarea',
'description' => __('Описанием метода оплаты которое клиент будет видеть на вашем сайте', 'woocommerce_gateway_payanyway'),
'default' => 'Приём платежей банковскими картами, через СБП и Pay‑сервисы',
),
'instructions' => array(
'title' => __('Инструкции', 'woocommerce_gateway_payanyway'),
'type' => 'textarea',
'description' => __('Инструкции, которые будут добавлены на страницу благодарностей', 'woocommerce_gateway_payanyway'),
'default' => 'Оплата с помощью PayAnyWay',
),
'empty' => array(
'title' => __('', 'woocommerce_gateway_payanyway'),
'type' => 'title',
'description' => __('', 'woocommerce_gateway_payanyway'),
),
);
return apply_filters('woocommerce_payanyway_settings', $settings);
File diff suppressed because it is too large Load Diff