The $URL is obviously the server which is waiting for you secure post.
The exec() function called the curl app and passed it the following parameters:
-m 120 - this is the timeout in seconds
-d $data - this is the data that willl be posted to the server, it is in "key=value&key=value" format.
-L comes AFTER the location you are posting to.
The data is returned into $return_message_array, each new line being a new element in the array.
$results ends up being a concatination of all the rows reutrned, just in case there was a line break in there
$res becomes an array containing all the results, this example assumes the results where a
comma seperated list, some other examples of common deliminators are "|" and ":".
This example relies on the first element in $res to be the "return code" from the bank,
each institution has a different rule for this, so make sure your check up.