Интеграция PayUMoney в Laravel 5.6

Я пытаюсь интегрировать PayUMoney в Laravel 5.6. Согласно документу PayUMoney Redirect Checkout, необходимо заполнить форму и отправить по адресу "https://sandboxsecure.payu.in/_payment "(для тестирования используется URL-адрес песочницы). Отправка html-формы с заполненными необходимыми полями успешно перенаправляет меня на страницу платежного шлюза и работает нормально. Но я хотел реализовать это в своем контроллере Laravel. Я сделал следующее:

мои маршруты:

    Route::get('book/placeOrder', ['uses' => 'BooksController@placeOrder', 'as' => 'placeOrder']);
Route::get('payumoney/surl', ['uses' => 'BooksController@surl', 'as' => 'payumoneysurl']);
    Route::get('payumoney/furl', ['uses' => 'BooksController@furl', 'as' => 'payumoneyfurl']);

Функция placeOrder в BooksController:

public function sendCurlPostRequest(){
    //code to add order and order details go here

    $salt = "[my merchant salt]";
    $hash_string = '';
    $hash_string .= "[hash string as per the payumoney checkout document]";
    $hash_string .= $salt;
    $hash = strtolower(hash('sha512', $hash_string));

    $data1 = [
        'key' => "[merchant key]",
        'hash' => $hash,
        'txnid' => "or1234txn",
        'amount' => "10",
        'firstname' => "[sample customer name]",
        'email' => "[sample email]",
        'phone' => "[sample phone number]",
        'productinfo' => "book",
        'surl' =>  "[route to success page]",
        'furl' => "[route to failure page]",
        'service_provider' => "payu_paisa",
    ];

    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://sandboxsecure.payu.in/_payment",
        CURLOPT_RETURNTRANSFER => false,
        CURLOPT_FOLLOWLOCATION => 1,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $data1,
    ));

    $response = curl_exec($curl);

    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        //print_r(json_decode($response));
        //print_r($response);
    }

}

При нажатии кнопки оформления заказа на странице корзины я перенаправляюсь на страницу PayUMoney, но страница не загружается полностью. Отображается только html-заголовок страницы и появляется загрузчик страницы. Поскольку страница не загружается, я могу видеть только загрузчик.

Не могли бы вы помочь мне выбрать правильный способ реализации платежного шлюза PayUMoney (желательно без какого-либо стороннего плагина) в моем методе контроллера Laravel?

Укажите, пожалуйста, необходимое решение ...

Спасибо


person Chaitally    schedule 21.11.2018    source источник


Ответы (1)


Я только начинаю работать с PayU для клиента - вы не думали об использовании официального SDK?

https://github.com/PayU-EMEA/openpayu_php

или неофициальный

https://github.com/tzsk/payu

person Luke Madhanga    schedule 10.09.2019
comment
Спасибо, что предложили мой пакет ???? - person TipuZaynSultan; 13.09.2020