cancel
Showing results for 
Search instead for 
Did you mean: 

Build a custom payment gateway

Build a custom payment gateway

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.

3 REPLIES 3

Re: Build a custom payment gateway

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?

Re: Build a custom payment gateway

Hi @Damian Culotta

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

Re: Build a custom payment gateway

For your refrence,
You need to check this one.

https://magecomp.com/blog/create-custom-payment-method-in-magento-2/

Was my answer helpful? You can Click Kudos/Accept As Solution.
200+ professional extensions for M1 & M2 with free lifetime updates!