Как исправить ошибку оплаты в merchant?

Я настроил оплату с записью в бд вот форма запроса
<form action="https://merchant.webmoney.ru/lmi/payment.asp" method="POST">
    <input type="hidden" name="login" value="{{$nickname}}">
    <input type="text" name="LMI_PAYMENT_AMOUNT" value="500">
    <input 
        type="hidden" 
        name="LMI_PAYMENT_DESC_BASE64"
        value="0J/QvtC/0L7Qu9C90LXQvdC40Y8g0YHRh9C10YLQsA==">
    <input type="hidden" name="LMI_PAYEE_PURSE" value="U205235885940">
    <input type="submit" class="button button-5" value="go">
</form>

И принимаю платеж так:
if ($_POST['LMI_PREREQUEST'] == 1) {
            if ($_POST['LMI_PAYEE_PURSE'] == 'U205235885940') {
                echo 'Yes';
            }
        } else {
            $key = 
$_POST['LMI_PAYEE_PURSE'] . 
$_POST['LMI_PAYMENT_AMOUNT'] . 
$_POST['LMI_PAYMENT_NO'] . 
$_POST['LMI_MODE'] . 
$_POST['LMI_SYS_INVS_NO'] . 
$_POST['LMI_SYS_TRANS_NO'] . 
$_POST['LMI_SYS_TRANS_DATE'] . 
'SpCFe8m9CNQs6rY61XOg' . 
$_POST['LMI_PAYER_PURSE'] . 
$_POST['LMI_PAYER_WM'];

            if (strtoupper(hash('sha256', $key)) != $_POST['LMI_HASH']) {
                exit;
            }
            $payment = new Payment();
            $payment->nickname = $_POST['nickname'];
            $payment->total_money = $_POST['LMI_PAYMENT_AMOUNT'];
            $payment->type_comment = 'web';
            $payment->save();

            $model = Models::where('nickname', '=', $_POST['nickname'])
                ->first();
            $model->cash = $model->cash + $_POST['LMI_PAYMENT_AMOUNT'];
            $model->save();
        }

А в ответ такая ошибка
2d4d49346f4448ff90386a58b11dbd46.png
  • Вопрос задан
  • 413 просмотров
Решения вопроса 1
Akdmeh
@Akdmeh
PHP, Yii2, Music
Вероятно, страница должна вернуть просто OK (или что-то похожее), а у вас возвращается целая страница. В этом вероятно может быть ошибка.
А еще проверьте порядок параметров в подписи запроса, они вроде бы должны идти в алфавитном порядке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы