CloudPayments платежный виджет

1 февраля 2023

Вызов платежного виджета по нажатию кнопки

Подключаем платежный виджет к WordPress сайту

wp_enqueue_script( 'cloudpayments', 
https://widget.cloudpayments.ru/bundles/cloudpayments.js' );
// cloudpaymentslocal.js - подключение на сайте, подключаем в футер
wp_enqueue_script( 'cloudpaymentslocal', 
get_template_directory_uri() . '/js/cloudpaymentslocal.js', null, null, true );

const cloudpaymentsOncePaymentButton = document.querySelector( '.cloudpayments-once-payment' );

let options = {
    // publicId: 'test_api_00000000000000000000001', //id из личного кабинета - тестовый (лого смайлик)
    // publicId: 'test_api_00000000000000000000002', //id из личного кабинета - тестовый (лого CloudPayments круглый)
    publicId: 'test_api_00000000000000000000003', //id из личного кабинета - тестовый (лого CloudPayments облако) 
    email: 'my@email.ru',
  };

if ( cloudpaymentsOncePaymentButton ) {

    cloudpaymentsOncePaymentButton.addEventListener( 'click', ( e ) => {
    e.preventDefault();

    options.requireEmail = false;
    options.description = 'Разовый платеж';

    pay( options );

  } );

}

//   ------------------------------------------------------------------------------------------------ Разовый платеж
this.pay = function ( { 
    publicId = 'test_api_00000000000000000000001',
    description = 'Платеж',
    email = 'user@example.com',
    requireEmail = false
  } ) {

    var widget = new cp.CloudPayments( );

     widget.pay( 'charge', // или 'auth'
         { //options
            publicId: publicId, //id из личного кабинета 
            description: description, // назначение платежа
            amount: 1, //сумма
            currency: 'RUB', //валюта
            requireEmail: requireEmail, 
            email: email, //email плательщика
         },
         {
             onSuccess: function (options) { // success
                 //действие при успешной оплате
             },
             onFail: function (reason, options) { // fail
                 //действие при неуспешной оплате
             },
             onComplete: function (paymentResult, options) { 
                 //Вызывается как только виджет получает от api.cloudpayments ответ с результатом транзакции.
             }
         }
     )
 };

Документация – https://developers.cloudpayments.ru/#demo-widget

Если нет времени и желания разбираться самостоятельно – обращайтесь

Наверх