Интеграции
Приём криптоплатежей на WordPress
Для обычного сайта на WordPress — членство, курс, цифровой товар, страница донатов — достаточно небольшого шорткода: он создаёт счёт CryBit на сервере и показывает кнопку оплаты или встроенный виджет.
Шорткод оплаты
PHP (mu-plugin)
add_shortcode('crybit_pay', function ($atts) {
$atts = shortcode_atts(['amount' => '10', 'currency' => 'USD', 'label' => 'Pay with crypto'], $atts);
$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) $atts['amount'],
'currency' => $atts['currency'],
'order_id' => 'WP-' . wp_generate_password(8, false),
])]);
$inv = json_decode(wp_remote_retrieve_body($resp), true);
return '<a class="crybit-btn" href="' . esc_url($inv['callback_url']) . '">' . esc_html($atts['label']) . '</a>';
});
// использование: [crybit_pay amount="25" currency="USD" label="Оплатить курс"]Открытие доступа после оплаты
Для членства или загрузок формируйте order_id на пользователя/товар, а в обработчике вебхука выдавайте роль, добавляйте в группу или отправляйте ссылку на скачивание, когда для этого order_id приходит payment.paid.
Встроенный виджет вместо редиректа
Покажите виджет прямо в шаблоне страницы с confirmation: {"type":"embedded"}, чтобы не уводить посетителя с сайта — код на JavaScript в руководстве по виджету.
Вопросы и ответы
Нужен ли плагин из каталога WordPress?
Нет — шорткод выше это пара десятков строк в mu-plugin, и он использует тот же публичный API, что и любая другая интеграция CryBit.
