Не могу перейти к оплате заказа через Paykeeper

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Stasique
Stasique
Репутация: 0
Сообщения: 3
Зарегистрирован: 23.09.2021
С нами: 2 года 6 месяцев

Сообщение #1 Stasique » 23.09.2021, 06:27

Добрый день. Сайт на OkayCMS 4.1.1

Подключили Paykeeper. При оформлении заказа нет никакого окна или ссылки, чтобы перейти к оплате и ввести данные банковской карты.

01.png


Вот настройки из личного кабинета Пейкипера и Админки:
02.png

УРЛ, на который будут отправляться POST-запросы взял по аналогии со страницей настройки на сайте Пейкипера
https://docs.paykeeper.ru/lichnyj-kabinet/stranitsa-nastrojki/
так как это единственный callback контроллер, который я нашел среди файлов CMS

03.png

УРЛ для генерации в админке OkayCMS я взял отсюда, так как другой информации я опять же не нахожу
https://docs.paykeeper.ru/cms/simplacms-2/

Вероятно эти два УРЛа не совсем корректные. Есть ли у вас информация, как сделать, чтобы работало?

Еще меня смущает, что в инструкции к модулю в самой CMS указан УРЛ, которого на сайте то и нет вообще.
Папки Payment в корне сайта нет.
04.png

Stasique
Stasique
Репутация: 0
Сообщения: 3
Зарегистрирован: 23.09.2021
С нами: 2 года 6 месяцев

Сообщение #2 Stasique » 24.09.2021, 08:03

Причём в ПейКипер заказы на оплату прилетают
005.png


Просто в онке заказа со стороны CMS не формируется кнопка для перехода к оплате.

Код: Выделить всё

<div class="order_payment__checkout">
                                                                                                                                             
</div>


А должно быть типа

Код: Выделить всё

<div class="order_payment__checkout">
   <form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8">
       <input type="hidden" name="data" value="eyJ2ZXJzaW9uIjozLCJwdWJsaWNfa2V5IjoiaTE2MjAxMjk3MzcxIiwicHJpdmF0ZV9rZXkiOiJ0MWxvUm50SE1ub2NSb05PM1cwUFdKeVhQamVXVjFxTEJ2WXJzS2xvIiwiYWN0aW9uIjoicGF5IiwiYW1vdW50IjoyMTAwLCJjdXJyZW5jeSI6IlVBSCIsImRlc2NyaXB0aW9uIjoiXHUwNDFlXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDMwIFx1MDQzN1x1MDQzMFx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMCBcdTIxMTYzMjE2Iiwib3JkZXJfaWQiOiIzMjE2LTE1MDQyNSIsInJlc3VsdF91cmwiOiJodHRwczpcL1wvb2theS1jbXMuY29tXC9vcmRlclwvMTQxOGIzNTliYWRiZTkxYjY3MzE2NmZlMjRjZGYxYTEiLCJzZXJ2ZXJfdXJsIjoiaHR0cHM6XC9cL29rYXktY21zLmNvbVwvcGF5bWVudFwvT2theUNNU1wvTGlxUGF5XC9jYWxsYmFjayJ9"/>
      <input type="hidden" name="signature" value="GRcnpBEOe3KFnSNeUnRrCUDZrJI="/>
          <input type="submit" class="button" value="К оплате">
   </form>
</div>


Добавлено спустя 23 минуты 38 секунд:
Кнопка оплаты должна выводиться кодом

Код: Выделить всё

<div class="order_payment__checkout">
   {*Payment form is generated by payment module*}
   {*payment's form HTML code is in the /payment/ModuleName/form.tpl*}
   {checkout_payment_form order_id=$order->id module=$payment_method->module}
</div>


В коде файла form.tpl у пейкипера

Код: Выделить всё

{$html_form}


А у Юкассы

Код: Выделить всё

<form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8">
    <input type="hidden" name="data" value="{$data|escape}"/>
    <input type="hidden" name="signature" value="{$sign|escape}"/>
    <input type="submit" class="button" value="{$lang->form_to_pay}">
</form>


А у Ликпея вообще 116 строк кода.

Нормально ли, что файл form.tpl у Пейкипера имеет такое содержание?

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 24.09.2021, 10:40

Скорее всего, причина не так проста и ее надо искать в Okay/Modules/OkayCMS/PayKeeper/PaymentForm.php

Stasique
Stasique
Репутация: 0
Сообщения: 3
Зарегистрирован: 23.09.2021
С нами: 2 года 6 месяцев

Сообщение #4 Stasique » 29.09.2021, 11:08

В общем, поправил таким образом файл form.tpl, и стало работать

Код: Выделить всё

<form method='POST' action='https://имясайта.server.paykeeper.ru/create/' >
    <input type='text' name='lang' value='en' style="display:none;" />     
    <input type='text' name='sum' value='{$order->total_price|convert}'  style="display:none;" />
    <input type='text' name='clientid' value='{$order->name|escape} {$order->last_name|escape}'  style="display:none;" />
    <input type='text' name='client_email' value='{$order->email|escape}'  style="display:none;" />
    {if $order->phone|phone}<input type='text' name='client_phone' value='{$order->phone|phone}'  style="display:none;" />{/if}
    <input type='text' name='orderid' value='{$order->id}'  style="display:none;" />
    <input type='text' name='service_name' value='{$lang->order_number_text|escape} {$order->id}'  style="display:none;" />
    <input type="submit" class="button" value="{$lang->go_to_the_payment}" />
</form>


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 32 гостя