Создайте собственный платежный шлюз в Magento 2.2.3 - PullRequest
0 голосов
/ 03 декабря 2018

Банк только что дал мне 2 ссылки

сначала для проверки токена как.

URL песочницы: someurl.

затем я должен передать

{
    "userName":"test",
    "password":"123456Aa"
} 

в формате json

после этого мне нужно найти банк сгенерированный токен из этого поста reguest.

, который я уже сделал.

и затем я долженотправьте данные заказа magento 2 (общая сумма) с некоторыми другими учетными данными на защищенный URL-адрес банка:

someurl.com / createorder

формат json подобен этому

{

"merchantId": "11122333",

"amount": "100",

"currency": "050",

"description": "This is test",

"approveUrl": "http://localhost/TheBankPHP_1.0.1/approve.php",

"cancelUrl": "http://localhost/TheBankPHP_1.0.1/cencel.php",

"declineUrl": "http://localhost/TheBankPHP_1.0.1/decline.php",

"userName": "test",

"passWord": "123456Aa",

"secureToken": "bd6e290e-ca3d-4a4b-b7c1-defe9ff6f7af"

}

Теперь мой вопрос: как я могу это сделать, когда пользователь нажимает кнопку «разместить заказ»и запомните, что в моей админ-панели этот заказ размещен вместе с этим банковским платежом.

Можно ли использовать метод наложенным платежом, просто установив ссылку.

Я реализовал страницу phpно как я интегрирую это с модулем, я понятия не имею.Не могли бы вы помочь мне @Damian Culotta?

вот мой php-файл, приведенный ниже.

<code><?php
    $url = "https://sandbox.thebank.com:443/transaction/token";
    $data = json_encode(array("userName" => "test","password" => "123456Aa"));
    $ch = curl_init( $url );
    # Setup request to send json via POST.

    curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    # Return response instead of printing.
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    # Send request.
    $result = curl_exec($ch);
    curl_close($ch);
    # Print response.
    echo "<pre>$result
"; $ mydata = json_decode ($ result, true); $ sectkn = $ mydata [" TransactionsId"]; echo $ sectkn; $ turl =" https://sandbox.thebank.com:443/transaction/createorder"; $ data = json_encode (array ("merchantId" => "11122333", "amount" => "100", "currency" => "050", "description"=>" Это тест "," ApproveUrl "=>" http://localhost/theBankPHP_1.0.1/approve.php", "cancelUrl" => "http://localhost/theBankPHP_1.0.1/cencel.php"," DecanceUrl "=>" http://localhost/theBankPHP_1.0.1/decline.php", "userName" => "test", "passWord" =>"123456Aa", "secureToken" => $ sectkn,)); $ ch = curl_init ($ turl); # Запрос на установку для отправки json через POST. Curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ data); curl_setopt ($ ch, CURLOPT_HTTPE, array ('Content-Type: application / json')); # Возвращать ответ вместо печати. ​​curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); # Отправить запрос. $ tresult = curl_exec ($ ch); curl_close ($ ch); # Печать ответа. Echo "
$tresult
"; $ mydatat = json_decode ($ tresult, true); $ linkdata = $ mydatat ["items"]; $ myurldata = $ linkdata ["url"]; $ myorder = $ linkdata["orderId"]; $ mysession= $ linkdata ["sessionId"];$ redirect_url = $ myurldata."? OrderId =".$ Myorder."& SESSIONID =".$ Mysession;header ("Местоположение:. $ redirect_url");// echo $ redirect_url;?>

Примечание: в целях безопасности: я изменил адрес банка.пожалуйста, помогите мне

1 Ответ

0 голосов
/ 03 декабря 2018

Вам нужно создать пользовательский модуль для создания своего пользовательского шлюза оплаты.

Я создал его для своих нужд.Вы можете получить основу идеи на этом.

PayEase Payment Gateway For Magento 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...