Выбор способа оплаты на сайте

01 мая 2019, 07:00

RBK Money

RBK Money позволяет сделать выбор способа оплаты на сайте интернет-магазина. В этом случае при переходе на оплату в RBK Money пользователю будет сразу предложен данный способ оплаты минуя экран выбора. Например, если указать bankcard, то пользователь сразу перейдет на страницу ввода номера карты.

Один из способов реализовать это на базе модуля mspRbk заключается в следующем:

В настройках miniShop2 добавить все необходимые варианты оплаты, указав у них класс оплаты RBK и не забыть привязать эти варианты в способах доставки

Далее нам нужно указать каждому способу вариант оплаты в RBK, для этого создаем плагин на событие msOnBeforeCreateOrder:

<?php
$rbkPaymentMap = array(
    10 => 'bankcard',
    11 => 'postrus'
);

switch ($modx->event->name) {
    case 'msOnBeforeCreateOrder':
        $payment = $msOrder->get('payment');
        if (isset($rbkPaymentMap[$payment])) {
            $props = $msOrder->get('properties');
            if (!is_array($props))
                $props = array();
            $props['payments']['rbk']['preference'] = $rbkPaymentMap[$payment];
            $msOrder->set('properties', $props);
        }
        break;
}

В нем в первых строчках в массиве $rbkPaymentMap (здесь в качестве примера настройки для варианта как на скриншоте) задается соответствие между id способа оплаты в miniShop2 (id смотреть в настройках оплаты) и способом оплаты в RBK.



Следующий документ
Выбор способа оплаты на сайте