Перейти к содержимому


312425144070

Регистрация: 06 авг 2016
Не в сети Активность: авг 08 2016 05:34
-----

Мои сообщения

В теме: Обязательные поля в запросах

08 августа 2016 - 03:27

 

Скажите пожалуйста, где можно посмотреть или узнать или какие, есть обязательные поля во всех запросах, которые всегда будут приходить?
 
А конкретнее в этих запросах, какие поля (параметры) всегда будут приходить?

  • Форма предварительного запроса
  • Форма оповещения о платеже
  • Форма выполненного платежа
  • Форма невыполненного платежа
Вот например, я краем глаза увидел что параметр LMI_PAYER_PURSE в предварительном запросе, как минимум,  может не быть, вроде бы.

 

А конкретно для чего вам это, вы кол-во приходящих параметров будете каждый раз обсчитывать или что? Кол-во параметров может меняться, могут новые добавиться, а вы об этом знать не будете, пока снова не сходите и не посмотрите описание. Из описания многих параметров и так ясно, при каких условиях они есть, о других, может и не так явно, но тоже, можно сделать логические выводы. Что касается LMI_PAYER_PURSE, то, если допустить, что он может отсутствовать в предварительном запросе при оплате, например, paymer-чеком (не проверял и не уверен, ведь у сервиса paymer есть свои кошельки). Но суть в том, что если оплата происходит чеком, то параметр LMI_PAYER_PURSE вам вообще без разницы должен быть, есть он или нет его. Так и с другими параметрами, в которых есть сомнения, всегда или не всегда они приходят. Если уж возникла какая-то архиважная необходимость узнать больше о конкретном параметре, то можно и у саппорта спросить.

 

 

 

Спасибо за ответ! По хорошему счету это так не делается, всегда должны указываться обязательные поля, какие будут 100% приходить а каких может и не быть, вот из-за подобного рода в моём понимании ошибок, возникают костыли, ошибки и уязвимости всякие, потому что нету четкого определения, порядка. 


В теме: Обязательные поля в запросах

08 августа 2016 - 02:25

HZS2XaW2NkU.jpg

 

Возможно что Вы ошиблись. Я имел в виду эти запросы:

  • Форма предварительного запроса
  • Форма оповещения о платеже
  • Форма выполненного платежа
  • Форма невыполненного платежа

То есть, допустим этот параметр LMI_PAYER_PCOUNTRYID не будет отправляться если пользователь не укажет данные своего паспорта. Какие параметры всегда будут приходить в этих запросах?


В теме: проблема с LMI_PAYMENT_DESC_BASE64

07 августа 2016 - 03:09

Только что проверил кодировку :

 

$mixed = mb_http_input("I");

 

Array
(
   [0] => UTF-8
)

 

Но в БД не записывает, хотяь там кодировка UTF-8bin И Ascii в другой таблице


В теме: параметр LMI_PAYMENT_DESC

07 августа 2016 - 01:55

Я спросил не в какой кодировке Вы ждёте данные, а какой параметр. Т.е. передаёте LMI_PAYMENT_DESC и ждёте $_POST['LMI_PAYMENT_DESC'] и когда передаёте LMI_PAYMENT_DESC_BASE64 , то ждёте $_POST['LMI_PAYMENT_DESC_BASE64'] - так?

Не-а, вы не правильно поняли. Речь о запросе в целом , а не о отдельно взятом параметре. Понимаете, весь запрос целиком приходит неизвестно в какой кодировке. Но если использовать  - LMI_PAYMENT_DESC то все работает, все читаемо и везде записывается. У меня в БД таблицы для экспереметов в разных кодировках, но эта...ука никуда не хочет записываться, сил больше нет, точнее силы есть а терпения нету.


В теме: параметр LMI_PAYMENT_DESC

06 августа 2016 - 12:34

1.  Где остальные параметры? <input type="hidden" name="LMI_PAYEE_PURSE"
value="Z000000000000" />
<input
type="hidden" name="LMI_PAYMENT_NO" value="806" /> и т.д.
2. Судя по коду, нужно чтобы просто на мыло приходило понятным текстом? Тогда смотрите функцию mail() http://www.php.net/m...nction.mail.php

 

Не работает ваша функция помогите если можете:

 

Отправляется форма нормално, платеж проходит но предварительный запрос и запрос о платеже, приходит черт знает в какой кодировке или вообще не понятно в чем. Это из-за LMI_PAYMENT_DESC_BASE64.

 

$namezakaz = base64_encode("Тестовый товар"); //Тут текст UTF-8 который засунули в base64_encode

 

 

 

                    <form id='pay' name='pay' method="POST" action="https://merchant.web...i/payment.asp">
                        <!-- кошелёк куда будет совершаться платёж -->
                        <input type="hidden" name="LMI_PAYEE_PURSE" value="R484878945444748487">
                        <!-- сумма -->
                        <input type="hidden" name="LMI_PAYMENT_AMOUNT" <?= "value='".$payment."'" ?> >
                        <!-- уникальный номер покупки -->
                        <input type="hidden" name="LMI_PAYMENT_NO" <?= "value='".$numbelzakaz."'" ?> >


                        <input type="hidden" name="LMI_SIM_MODE" value="0">
                        <!-- Назначение платежа (Имя заказа) -->
                        <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" <?= "value='".$namezakaz."'" ?> >

                   
                    <button class="way_button" form="pay">Оплатить</button>
                    </form>