Skip to content
msp3CDEKPay
Приём оплаты через CDEK Pay для MiniShop3: ссылка, QR СБП, webhook и чеки
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. msp3CDEKPay
  3. Привязки

Привязки карты и СБП

Пакет хранит привязки в таблице msp3cdekpay_bindings. Расписания списаний нет. Список и привязку показывает сниппет для вошедшего пользователя. Гость ничего не видит.

pdoTools 3.x нужен только если задан чанк вывода. Без чанка сниппет рисует простой список: вид привязки, состояние и маска карты.

cdekPayBindings

ПараметрНазначение
userID пользователя. По умолчанию текущий
tplЧанк pdoTools на строку
action или POST cdekpay_actionlink_card, unlink_card, link_sbp, unlink_sbp
successUrl, failUrlОбязательны для привязки карты
request_idСнятие карты
subscription_idСнятие СБП

В чанке доступны поля строки: kind (card или sbp), state, masked_pan, request_id, subscription_id.

Привязка карты открывает страницу CDEK Pay. Привязка СБП открывает QR. Снятие деактивирует запись.

fenom
{'!cdekPayBindings' | snippet : [
  'tpl' => 'cdekpay.binding.row',
  'successUrl' => $_modx->makeUrl(12),
  'failUrl' => $_modx->makeUrl(13)
]}
modx
[[!cdekPayBindings?
  &tpl=`cdekpay.binding.row`
  &successUrl=`[[~12]]`
  &failUrl=`[[~13]]`
]]

Номера 12 и 13 замените на свои страницы возврата.

cdekPayBindingReturn

Поставьте сниппет на страницы, куда CDEK Pay возвращает покупателя. Он обновляет карту по request_id или счёт СБП по subscription_id. Параметр можно передать в вызове или в адресе.

ПараметрНазначение
request_idОбновить карту
subscription_idОбновить СБП
successTplТекст после обновления
failureTplТекст, если обновление не прошло

successTpl и failureTpl сниппет выводит как есть. Чтобы показать чанк, вложите его вызов в параметр.

fenom
{'!cdekPayBindingReturn' | snippet}
modx
[[!cdekPayBindingReturn]]

Списание по сохранённой привязке

Вызовите из своего кода BindingService::chargeCard($order, $requestId) или chargeSbp($order, $subscriptionId). После вызова сами запишите попытку оплаты через сервис платежей MiniShop3. Отдельного сниппета и задания по расписанию в пакете нет.