<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DPM Transaction cannot be accepted, response code 99 in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/DPM-Transaction-cannot-be-accepted-response-code-99/m-p/37399#M20717</link>
    <description>&lt;P&gt;My BigDecimal was printing out an integer value (1).&amp;nbsp; I returned another BigDecimal from the first one using setScale(2) in order to print out the format that Auth Net expects (1.00).&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 14 Dec 2013 18:40:32 GMT</pubDate>
    <dc:creator>ab</dc:creator>
    <dc:date>2013-12-14T18:40:32Z</dc:date>
    <item>
      <title>DPM Transaction cannot be accepted, response code 99</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/DPM-Transaction-cannot-be-accepted-response-code-99/m-p/37397#M20716</link>
      <description>&lt;P&gt;Hi, I'm new here and have never integrated DPM before.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using the Java SDK.&amp;nbsp; My account is in live mode.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been receiving this error continuously since my first test.&amp;nbsp; I have spoken with their chat support and also read several posts on this topic, but have not been able to find my issue.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm starting to suspect that it's with my fingerprint generation, but honestly, all I know is that I'm not getting past relay_response.jsp.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's my shopping cart:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;%
String apiLoginId = "REDACTED";
String transactionKey = "REDACTED";
Environment environment = Environment.valueOf("PRODUCTION");
Merchant merchant = Merchant.createMerchant(environment, apiLoginId, transactionKey);
String relayResponseUrl = "&lt;A href="https://REDACTED.com/relay_response.jsp&amp;quot;;" target="_blank"&gt;https://REDACTED.com/relay_response.jsp";&lt;/A&gt;
BigDecimal amount = new BigDecimal(1.00);

// Get a random long for the fingerprint
Random rand = new Random();
long bits, randLong, max = 999999999L;
        
do {
   bits = (rand.nextLong() &amp;lt;&amp;lt; 1) &amp;gt;&amp;gt;&amp;gt; 1;
   randLong = bits % max;
} while (bits-randLong+(max-1) &amp;lt; 0L);
        
Fingerprint fingerprint = Fingerprint.createFingerprint(merchant, randLong, amount);
long x_fp_sequence = fingerprint.getSequence();
long x_fp_timestamp = fingerprint.getTimeStamp();
String x_fp_hash = fingerprint.getFingerprintHash();
%&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;table style="width: 100%;"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;caption style="margin-bottom: 10px;"&amp;gt;Payment Information&amp;lt;/caption&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;label for="x_card_num"&amp;gt;Credit Card Number&amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;input type="text" class="text" id="x_card_num" name="x_card_num" size="20" maxlength="16" /&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;label for='x_exp_date'&amp;gt;Expiration Date&amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;input type="text" class="text" id="x_exp_date" name="x_exp_date" size="7" maxlength="7" placeholder="MM-YYYY" /&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;label for='x_amount'&amp;gt;Amount&amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;input type="text" class="text" id="x_amount" name="x_amount" size="10" maxlength="10" readonly="readonly" value="&amp;lt;%=amount%&amp;gt;" /&amp;gt;&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/table&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_invoice_num' value='&amp;lt;%=System.currentTimeMillis()%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_relay_url' value='&amp;lt;%=relayResponseUrl%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_login' value='&amp;lt;%=apiLoginId%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_fp_sequence' value='&amp;lt;%=x_fp_sequence%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_fp_timestamp' value='&amp;lt;%=x_fp_timestamp%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_fp_hash' value='&amp;lt;%=x_fp_hash%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_version' value='3.1' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_method' value='CC' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_type' value='AUTH_CAPTURE' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_amount' value='&amp;lt;%=amount%&amp;gt;' /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type='hidden' name='x_test_request' value='FALSE' /&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And here's my relay_response.jsp:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;script type="text/javascript"&amp;gt;
var referrer = document.referrer;
if (referrer.substr(0,7)=="http://") referrer = referrer.substr(7);
if (referrer.substr(0,8)=="https://") referrer = referrer.substr(8);
if (referrer &amp;amp;&amp;amp; referrer.indexOf(document.location.hostname) != 0) {
	
	&amp;lt;%
	String apiLoginId = "6vyDBvS3EP3p";
	String receiptPageUrl = "&lt;A href="https://secure.cloudfordev.com/do/receiveResponse&amp;quot;;" target="_blank"&gt;https://REDACTED.com/do/receiveResponse";&lt;/A&gt;
	String MD5HashKey = "";
	net.authorize.sim.Result result = net.authorize.sim.Result.createResult(apiLoginId, MD5HashKey, request.getParameterMap());
	StringBuffer receiptUrlBuffer = new StringBuffer(receiptPageUrl);
	
	if (result != null) {
		receiptUrlBuffer.append("?");
		receiptUrlBuffer.append(ResponseField.RESPONSE_CODE.getFieldName()).append("=");
		receiptUrlBuffer.append(result.getResponseCode().getCode());
		receiptUrlBuffer.append("&amp;amp;");
		receiptUrlBuffer.append(ResponseField.RESPONSE_REASON_CODE.getFieldName()).append("=");
		receiptUrlBuffer.append(result.getReasonResponseCode().getResponseReasonCode());
		receiptUrlBuffer.append("&amp;amp;");
		receiptUrlBuffer.append(ResponseField.RESPONSE_REASON_TEXT.getFieldName()).append("=");
		receiptUrlBuffer.append(result.getResponseMap().get(ResponseField.RESPONSE_REASON_TEXT.getFieldName()));
		
		if(result.isApproved()) {
			receiptUrlBuffer.append("&amp;amp;").append(ResponseField.TRANSACTION_ID.getFieldName()).append("=");
			receiptUrlBuffer.append(result.getResponseMap().get(ResponseField.TRANSACTION_ID.getFieldName()));
		}
	}
	
	String receiptUrlBufferString = receiptUrlBuffer.toString();
	System.out.println("receipt url buffer: " + receiptUrlBufferString);
	%&amp;gt;

	document.location = "&amp;lt;% out.print(receiptUrlBufferString); %&amp;gt;";
} else {
	console.log('Not relaying');
}
&amp;lt;/script&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;My JVMs are printing this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;receipt url buffer: &lt;A href="https://secure.cloudfordev.com/do/receiveResponse?x_response_code=3&amp;amp;x_response_reason_code=99&amp;amp;x_response_reason_text=This" target="_blank"&gt;https://REDACTED.com/do/receiveResponse?x_response_code=3&amp;amp;x_response_reason_code=99&amp;amp;x_response_reason_text=This&lt;/A&gt; transaction cannot be accepted.&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Where am I going wrong?&amp;nbsp; Any help would be most appreciated!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;ab&lt;/P&gt;</description>
      <pubDate>Sat, 14 Dec 2013 17:52:36 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/DPM-Transaction-cannot-be-accepted-response-code-99/m-p/37397#M20716</guid>
      <dc:creator>ab</dc:creator>
      <dc:date>2013-12-14T17:52:36Z</dc:date>
    </item>
    <item>
      <title>Re: DPM Transaction cannot be accepted, response code 99</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/DPM-Transaction-cannot-be-accepted-response-code-99/m-p/37399#M20717</link>
      <description>&lt;P&gt;My BigDecimal was printing out an integer value (1).&amp;nbsp; I returned another BigDecimal from the first one using setScale(2) in order to print out the format that Auth Net expects (1.00).&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 14 Dec 2013 18:40:32 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/DPM-Transaction-cannot-be-accepted-response-code-99/m-p/37399#M20717</guid>
      <dc:creator>ab</dc:creator>
      <dc:date>2013-12-14T18:40:32Z</dc:date>
    </item>
  </channel>
</rss>

