cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle Application Express

Sooooo... I have been asked to integate authorize.net into our Apex Application. Have to say that in the least I am confused. I am pretty new to all of this and this is our first time implementing anytype of payment method into our apps.

 

I am using Oracle APEX 4.0. 

From what I have read, using the DPM would be prefered but I get lost when trying to choose and install and SDK. I am kinda thinking I dont even need an SDK, but if I do, how do I get started? Any help would be amazing.

 

Richard

Richard8901
Member
2 ACCEPTED SOLUTIONS

Accepted Solutions

Well... the primary required fields for the initial DPM form are as follows:

 

x_login (your API login ID)

x_fp_timestamp (GMT timestamp)

x_fp_sequence (record number, invoice number, or just a random number)

x_amount

x_fp_hash (see below)

x_relay_response (set to TRUE)

x_relay_url (the URL of your relay response page - must include http:// or https://)

 

The fingerprint hash is calculated as follows:

 

if (function_exists('hash_hmac'))
    return hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);

// Otherwise... return bin2hex(mhash(MHASH_MD5, $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key));

You can look up what those functions do in PHP and then find the equivalent for your language.

 

The relay response page will then receive a set of post fields back from Authorize.net, check for success or failure, and send back an appropriate piece of Javascript for forwarding the customer to your receipt or error pages.

 

Here's what is usually passed back:

 

<html>
<head>
<script language="javascript">
<!--
window.location="URL TO SEND TO";
//-->
</script>
</head>
<body>

<noscript><meta http-equiv="refresh" content="1;url=URL TO SEND TO"></noscript>

</body>
</html>

Where the redirect URL usually has GET arguments for response code, transaction ID, and in the case of errors, response reason text. The relay response page is also where you'd update your database if the transaction goes through successfully.

View solution in original post

TJPride
Expert
I think I am starting to understand how this all works. Going to run some test tomorrow and see if I can get some playing done. I appreciate the responce. Richard

View solution in original post

2 REPLIES 2

Well... the primary required fields for the initial DPM form are as follows:

 

x_login (your API login ID)

x_fp_timestamp (GMT timestamp)

x_fp_sequence (record number, invoice number, or just a random number)

x_amount

x_fp_hash (see below)

x_relay_response (set to TRUE)

x_relay_url (the URL of your relay response page - must include http:// or https://)

 

The fingerprint hash is calculated as follows:

 

if (function_exists('hash_hmac'))
    return hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);

// Otherwise... return bin2hex(mhash(MHASH_MD5, $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key));

You can look up what those functions do in PHP and then find the equivalent for your language.

 

The relay response page will then receive a set of post fields back from Authorize.net, check for success or failure, and send back an appropriate piece of Javascript for forwarding the customer to your receipt or error pages.

 

Here's what is usually passed back:

 

<html>
<head>
<script language="javascript">
<!--
window.location="URL TO SEND TO";
//-->
</script>
</head>
<body>

<noscript><meta http-equiv="refresh" content="1;url=URL TO SEND TO"></noscript>

</body>
</html>

Where the redirect URL usually has GET arguments for response code, transaction ID, and in the case of errors, response reason text. The relay response page is also where you'd update your database if the transaction goes through successfully.

TJPride
Expert
I think I am starting to understand how this all works. Going to run some test tomorrow and see if I can get some playing done. I appreciate the responce. Richard