Интеграции

Приём криптоплатежей в WooCommerce

WooCommerce позволяет любой теме или плагину зарегистрировать платёжный шлюз, поэтому CryBit подключается как обычный кастомный шлюз: на оформлении создаётся счёт и клиент уходит на страницу оплаты CryBit, а вебхук отмечает заказ оплаченным.

Регистрация шлюза

PHP (mu-plugin or theme functions.php)

add_filter('woocommerce_payment_gateways', function ($gateways) {
    $gateways[] = 'WC_CryBit_Gateway';
    return $gateways;
});

add_action('plugins_loaded', function () {
    class WC_CryBit_Gateway extends WC_Payment_Gateway {
        public function __construct() {
            $this->id = 'crybit';
            $this->title = 'USDT / Crypto (CryBit)';
            $this->has_fields = false;
            $this->init_settings();
        }
        public function process_payment($order_id) {
            $order = wc_get_order($order_id);
            $resp = wp_remote_post('https://api.crybit.net/api/v1/payments', ['headers' => [
                'X-Public-Key' => getenv('CRYBIT_PUBLIC_KEY'),
                'X-Private-Key' => getenv('CRYBIT_PRIVATE_KEY'),
                'Content-Type' => 'application/json',
            ], 'body' => json_encode([
                'amount' => (float) $order->get_total(),
                'currency' => $order->get_currency(),
                'order_id' => (string) $order_id,
                'return_url' => $order->get_checkout_order_received_url(),
            ])]);
            $inv = json_decode(wp_remote_retrieve_body($resp), true);
            $order->update_status('pending', 'Ожидает оплату в CryBit');
            return ['result' => 'success', 'redirect' => $inv['callback_url']];
        }
    }
});

Отметка заказа оплаченным

Добавьте REST-эндпоинт (или плагин вроде WP Webhooks), который принимает payment.paid, проверяет X-CryBit-Signature (см. вебхуки) и вызывает $order->payment_complete() с txid CryBit.

Встроенная форма вместо редиректа

Передайте {"type":"embedded"} в confirmation и подключите widget.js на странице оплаты заказа, чтобы не уводить клиента с вашего домена — см. руководство по виджету.

Вопросы и ответы

Есть ли готовый плагин в каталоге WordPress.org?

Пока нет — сейчас путь интеграции такой: класс шлюза выше в небольшом mu-plugin.

Работает ли это с блочным чекаутом WooCommerce Blocks?

Да, WC_Payment_Gateway поддерживается блочным чекаутом через стандартный слой совместимости; отдельный класс интеграции для Blocks не обязателен и в основном влияет только на иконку способа оплаты.

Другие платформы

Отримати API-ключ