cancel
Showing results for 
Search instead for 
Did you mean: 

Confusion with DPM Inconsistencies

Hello,

 

I'm currently integrating this service into a website and have found some inconsistencies with the documentation and examples of the Direct Post Method.

 

The developer documentation says that you're not supposed to use x_delim and x_relay_response together; however, the DPM method does this. Relay responses are also discouraged from using script redirects, yet that's exactly what the API example does.

 

Sorry, I just find this very confusing. What exactly am I supposed to do here?

 

I've also found that I can't seem to get the (default) receipt page to show even when relay response is disabled. Instead, the form authorizes and then redirects to a white page of comma delimited form values...? I suspect this has something to do with the x_delim; however, the DPM guide says it requires x_delim for whatever reason.

 

I'm using a test account, if that helps.

 

Thanks in advanced for any help!

1 ACCEPTED SOLUTION

Accepted Solutions

SIM x_relay_response yes x_delim_data no.

DPM x_relay_response yes x_delim_data no.

 

AIM x_relay_response no x_delim_data yes.

 

They all post to the same location so theoretically you can get it to work in a unsupported way.

 

Where at the documentation are you seeing contradiction? Can you post the URL page address or page # on the pdf, so they can fixes it.

 

 

View solution in original post

RaynorC1emen7
Expert
2 REPLIES 2

SIM x_relay_response yes x_delim_data no.

DPM x_relay_response yes x_delim_data no.

 

AIM x_relay_response no x_delim_data yes.

 

They all post to the same location so theoretically you can get it to work in a unsupported way.

 

Where at the documentation are you seeing contradiction? Can you post the URL page address or page # on the pdf, so they can fixes it.

 

 

RaynorC1emen7
Expert

Thank you very much, RaynorC1emen7. I'm about to try implementing DPM without x_delim_data as you suggested.

 

Here is the documentation for DPM that I was reviewing:

http://www.authorize.net/support/DirectPost_guide.pdf

 

The confusion I had was a result of a couple of things. The first is the definition of x_delim_data in the documentation on page 80 of 88. It reads "Required for DPM transactions." I realise now that this could mean "it's required to be set..but to false since DPM uses relay responses." I do, however, find it very misleading to be worded that way.

 

The other confusion I had with x_delim_data was in the PHP SDK for DPM (available on this page):

http://developer.authorize.net/downloads/

 

In the file /lib/AuthorizeNetDPM.php on lines 119 - 129 the code reads:

 

$sim = new AuthorizeNetSIM_Form(
            array(
            'x_amount'        => $amount,
            'x_fp_sequence'   => $fp_sequence,
            'x_fp_hash'       => $fp,
            'x_fp_timestamp'  => $time,
            'x_relay_response'=> "TRUE",
            'x_relay_url'     => $relay_response_url,
            'x_login'         => $api_login_id,
            )
        );

 

However, in the constructor for that AuthorizeNetSIM_Form class (in the file /lib/AuthorizeNetSIM.php on lines 161 - 165), the code reads:

 

// Set some best practice fields
        $this->x_relay_response = "FALSE";
        $this->x_version = "3.1";
        $this->x_delim_char = ",";
        $this->x_delim_data = "TRUE";

 

As you can see, the x_relay_response value is being initially set to false while x_delim_data is conversely set to true. However, the first block of code I posted only overrides x_relay_response to be TRUE whilst x_delim_data also remains TRUE. This means both x_relay_response and x_delim_data are true in the example which goes against what the developer documentation reads.

 

I realize this is probably just a simple mistake, but it would probably be best if one of the developers fixed it just to avoid someone else being confused by the DPM.

 

I'm going to try implementing DPM again with the information you gave me, RaynorC1emen7, and I'll be back to mark your response as the correct answer if things are indeed working!