Hi
Can someone please give me the idea how can I build a bank payment gateway in magento 2.2.3 which is community edition.
Back first verify digital signature and then ask me to provide order amount and currency. That's it.
Advance thanks.
Hi @bbbmishucs,
I guess you need to build the module to integrate the store with the Bank.
Can you share which gateway you need to integrate?
Thank you for your nice reply.
Bank just gave me 2 links
first for token validation like.
sandbox url: somethingurl.
then I have to pass
{
"userName":"test",
"password":"123456Aa"
} in json format
after that I have to find bank generated token from this post reguest.
which I've already done.
and then I've to send magento 2 order data (grand total) with some other credentials to a bank secure url:
somethingurl.com/createorder
json format is like this
{
"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"
}
Now, my question is how can I do this when user click place order button. and store that in my admin panel that order is placed with that bank order payment.
Is it possible to use cash on delivery method just set a link.
I've implemented a php page but how I integrate this with a module I've no idea. Can you please help me @Damian Culotta ?
here is my php file given below.
<?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</pre>";
$mydata = json_decode($result, true);
$sectkn = $mydata["transactionId"];
echo $sectkn;
$turl = "https://sandbox.thebank.com:443/transaction/createorder";
$data = json_encode(array(
"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" => $sectkn,
));
$ch = curl_init( $turl );
# 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.
$tresult = curl_exec($ch);
curl_close($ch);
# Print response.
echo "<pre>$tresult</pre>";
$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("Location: .$redirect_url");
echo $redirect_url;
?>
N.B. for security purpose: I've changed the bank url. please help me @Damian Culotta
For your refrence,
You need to check this one.
https://magecomp.com/blog/create-custom-payment-method-in-magento-2/