<?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: Trasaction not being Processed. in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/94168#M58231</link>
    <description>&lt;P&gt;That error usually means something’s off with your request signature or profile setup. A couple things to check:&lt;/P&gt;&lt;P&gt;Make sure the signed_field_names list matches exactly the fields you’re signing (order matters too).&lt;/P&gt;&lt;P&gt;Double-check your SECRET_KEY – it needs to be the shared secret from your Secure Acceptance profile, not the API key.&lt;/P&gt;&lt;P&gt;Confirm you’re hitting the right environment URL (test vs. production).&lt;/P&gt;&lt;P&gt;If the signature doesn’t line up with what Cybersource expects, you’ll get that “not authorized” message. Try logging the string you’re signing and comparing it against the Cybersource docs.&lt;/P&gt;</description>
    <pubDate>Fri, 03 Oct 2025 14:31:43 GMT</pubDate>
    <dc:creator>marcos12342</dc:creator>
    <dc:date>2025-10-03T14:31:43Z</dc:date>
    <item>
      <title>Trasaction not being Processed.</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/91412#M57411</link>
      <description>&lt;P&gt;I am getting an issue as&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;H2&gt;You are not authorized to view this page. The transaction has not been processed.&lt;/H2&gt;&lt;/DIV&gt;&lt;DIV&gt;If the problem persists please report your problem and quote the following Error Reference Number:&lt;BR /&gt;&lt;BR /&gt;E-43CB2AAA59404F2C9D5212E736B92C84&lt;BR /&gt;&lt;BR /&gt;Here is my code&amp;nbsp;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;package&lt;/SPAN&gt;&lt;SPAN&gt; nimbRestWebService;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.nio.charset.StandardCharsets;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.text.SimpleDateFormat;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.util.*;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; javax.crypto.Mac;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; javax.crypto.spec.SecretKeySpec;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.nio.file.Files;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.nio.file.Paths;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; java.util.Base64;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;public&lt;/SPAN&gt; &lt;SPAN&gt;class&lt;/SPAN&gt;&lt;SPAN&gt; CyberSourcePayment {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;final&lt;/SPAN&gt;&lt;SPAN&gt; String &lt;/SPAN&gt;&lt;SPAN&gt;CYBERSOURCE_URL&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://testsecureacceptance.cybersource.com/pay" target="_blank" rel="noopener"&gt;https://testsecureacceptance.cybersource.com/pay&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;final&lt;/SPAN&gt;&lt;SPAN&gt; String &lt;/SPAN&gt;&lt;SPAN&gt;ACCESS_KEY&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"714a6c495ec13d40a6245a01e9621ae9"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;final&lt;/SPAN&gt;&lt;SPAN&gt; String &lt;/SPAN&gt;&lt;SPAN&gt;PROFILE_ID&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"DF5DB6E1-9725-493D-ABBC-FC34F027391C"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;final&lt;/SPAN&gt;&lt;SPAN&gt; String &lt;/SPAN&gt;&lt;SPAN&gt;SECRET_KEY&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"7f0657d984b94508b5bf8bf2ece7211632aa317fdfef4148a87369ea565045b06019800d081b430bb5cb1e27638ff898afc311d42fcf4fd08cb12a67aabb35707c951ede0fe146a7accda64a726a11351770fd0478b84264ba585b0d2656366ec0bac67ca517419ea8dcf9f351ae7e06ad268b29f4e84527be5186d1d6f560f3"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;public&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt;&lt;SPAN&gt; String generatePaymentForm() &lt;/SPAN&gt;&lt;SPAN&gt;throws&lt;/SPAN&gt;&lt;SPAN&gt; Exception {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Map&amp;lt;String, String&amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; TreeMap&amp;lt;&amp;gt;();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"access_key"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;ACCESS_KEY&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"profile_id"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;PROFILE_ID&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"transaction_uuid"&lt;/SPAN&gt;&lt;SPAN&gt;, UUID.&lt;/SPAN&gt;&lt;SPAN&gt;randomUUID&lt;/SPAN&gt;&lt;SPAN&gt;().toString());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"signed_date_time"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;getUTCDateTime&lt;/SPAN&gt;&lt;SPAN&gt;());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"transaction_type"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"sale"&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"amount"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"100.95"&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"currency"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"USD"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"reference_number"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"1730560013735542024294683"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"locale"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"en"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// params.put("payment_method", "card");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"unsigned_field_names"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_forename", "John"); params.put("bill_to_surname", "&lt;/SPAN&gt;&lt;SPAN&gt;Doe&lt;/SPAN&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_address_line1", "123 Main &lt;/SPAN&gt;&lt;SPAN&gt;St&lt;/SPAN&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_address_city", "New York");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_address_country", "US"); params.put("bill_to_email",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* "john.doe@example.com"); params.put("bill_to_phone", "1234567890");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_address_postal_code", "10001");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* params.put("bill_to_address_state", "NY");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;String &lt;/SPAN&gt;&lt;SPAN&gt;signedFieldNames&lt;/SPAN&gt;&lt;SPAN&gt; = String.&lt;/SPAN&gt;&lt;SPAN&gt;join&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;","&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.keySet());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"signed_field_names"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;signedFieldNames&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;String &lt;/SPAN&gt;&lt;SPAN&gt;signature&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;generateSignature&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;SECRET_KEY&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.put(&lt;/SPAN&gt;&lt;SPAN&gt;"signature"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;signature&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;StringBuilder &lt;/SPAN&gt;&lt;SPAN&gt;form&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; StringBuilder();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;form&lt;/SPAN&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;html&amp;gt;&amp;lt;body onload='document.forms[\"paymentForm\"].submit();'&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;form name='paymentForm' method='POST' action='"&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;CYBERSOURCE_URL&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;"'&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (Map.Entry&amp;lt;String, String&amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;entry&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.entrySet()) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;form&lt;/SPAN&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;input type='hidden' name='"&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;entry&lt;/SPAN&gt;&lt;SPAN&gt;.getKey())&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"' value='"&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;entry&lt;/SPAN&gt;&lt;SPAN&gt;.getValue()).append(&lt;/SPAN&gt;&lt;SPAN&gt;"'/&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;form&lt;/SPAN&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;noscript&amp;gt;&amp;lt;input type='submit' value='Click here to proceed to payment'/&amp;gt;&amp;lt;/noscript&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;/form&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;form&lt;/SPAN&gt;&lt;SPAN&gt;.toString();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt;&lt;SPAN&gt; String getUTCDateTime() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SimpleDateFormat &lt;/SPAN&gt;&lt;SPAN&gt;simpleDateFormat&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; SimpleDateFormat(&lt;/SPAN&gt;&lt;SPAN&gt;"yyyy-MM-dd'T'HH:mm:ss'Z'"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;simpleDateFormat&lt;/SPAN&gt;&lt;SPAN&gt;.setTimeZone(TimeZone.&lt;/SPAN&gt;&lt;SPAN&gt;getTimeZone&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"UTC"&lt;/SPAN&gt;&lt;SPAN&gt;));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;simpleDateFormat&lt;/SPAN&gt;&lt;SPAN&gt;.format(&lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; Date());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt;&lt;SPAN&gt; String generateSignature(Map&amp;lt;String, String&amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;, String &lt;/SPAN&gt;&lt;SPAN&gt;secretKey&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;throws&lt;/SPAN&gt;&lt;SPAN&gt; Exception {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;StringBuilder &lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; StringBuilder();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (String &lt;/SPAN&gt;&lt;SPAN&gt;field&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.get(&lt;/SPAN&gt;&lt;SPAN&gt;"signed_field_names"&lt;/SPAN&gt;&lt;SPAN&gt;).split(&lt;/SPAN&gt;&lt;SPAN&gt;","&lt;/SPAN&gt;&lt;SPAN&gt;)) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;.append(&lt;/SPAN&gt;&lt;SPAN&gt;field&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;"="&lt;/SPAN&gt;&lt;SPAN&gt;).append(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.get(&lt;/SPAN&gt;&lt;SPAN&gt;field&lt;/SPAN&gt;&lt;SPAN&gt;)).append(&lt;/SPAN&gt;&lt;SPAN&gt;","&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;.length() &amp;gt; 0) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;.setLength(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;.length() - 1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;[] &lt;/SPAN&gt;&lt;SPAN&gt;decodedKey&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;hexStringToByteArray&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;secretKey&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SecretKeySpec &lt;/SPAN&gt;&lt;SPAN&gt;secretKeySpec&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; SecretKeySpec(&lt;/SPAN&gt;&lt;SPAN&gt;decodedKey&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"HmacSHA256"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Mac &lt;/SPAN&gt;&lt;SPAN&gt;mac&lt;/SPAN&gt;&lt;SPAN&gt; = Mac.&lt;/SPAN&gt;&lt;SPAN&gt;getInstance&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"HmacSHA256"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;mac&lt;/SPAN&gt;&lt;SPAN&gt;.init(&lt;/SPAN&gt;&lt;SPAN&gt;secretKeySpec&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;[] &lt;/SPAN&gt;&lt;SPAN&gt;rawHmac&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;mac&lt;/SPAN&gt;&lt;SPAN&gt;.doFinal(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;.toString().getBytes(StandardCharsets.&lt;/SPAN&gt;&lt;SPAN&gt;UTF_8&lt;/SPAN&gt;&lt;SPAN&gt;));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; Base64.&lt;/SPAN&gt;&lt;SPAN&gt;getEncoder&lt;/SPAN&gt;&lt;SPAN&gt;().encodeToString(&lt;/SPAN&gt;&lt;SPAN&gt;rawHmac&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;private&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;[] hexStringToByteArray(String &lt;/SPAN&gt;&lt;SPAN&gt;hex&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;length&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;hex&lt;/SPAN&gt;&lt;SPAN&gt;.length();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;[] &lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;length&lt;/SPAN&gt;&lt;SPAN&gt; / 2];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt; = 0; &lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt; &lt;/SPAN&gt;&lt;SPAN&gt;length&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt; += 2) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt; / 2] = (&lt;/SPAN&gt;&lt;SPAN&gt;byte&lt;/SPAN&gt;&lt;SPAN&gt;) ((Character.&lt;/SPAN&gt;&lt;SPAN&gt;digit&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;hex&lt;/SPAN&gt;&lt;SPAN&gt;.charAt(&lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt;), 16) &amp;lt;&amp;lt; 4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;+ Character.&lt;/SPAN&gt;&lt;SPAN&gt;digit&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;hex&lt;/SPAN&gt;&lt;SPAN&gt;.charAt(&lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt; + 1), 16));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;public&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; main(String[] &lt;/SPAN&gt;&lt;SPAN&gt;args&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;try&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;String &lt;/SPAN&gt;&lt;SPAN&gt;paymentForm&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;generatePaymentForm&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Files.&lt;/SPAN&gt;&lt;SPAN&gt;write&lt;/SPAN&gt;&lt;SPAN&gt;(Paths.&lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"payment.html"&lt;/SPAN&gt;&lt;SPAN&gt;), &lt;/SPAN&gt;&lt;SPAN&gt;paymentForm&lt;/SPAN&gt;&lt;SPAN&gt;.getBytes());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;System.&lt;/SPAN&gt;&lt;SPAN&gt;out&lt;/SPAN&gt;&lt;SPAN&gt;.println(&lt;/SPAN&gt;&lt;SPAN&gt;"Payment form saved as payment.html. Opening in browser..."&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;java.awt.Desktop.&lt;/SPAN&gt;&lt;SPAN&gt;getDesktop&lt;/SPAN&gt;&lt;SPAN&gt;().browse(Paths.&lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"payment.html"&lt;/SPAN&gt;&lt;SPAN&gt;).toUri());&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;catch&lt;/SPAN&gt;&lt;SPAN&gt; (Exception &lt;/SPAN&gt;&lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;.printStackTrace();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Can anyone help me out to solved this problem immediately ?&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 12 Mar 2025 06:54:40 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/91412#M57411</guid>
      <dc:creator>BIBHAV12</dc:creator>
      <dc:date>2025-03-12T06:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Trasaction not being Processed.</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/91442#M57425</link>
      <description>&lt;P&gt;It looks like you're encountering an authorization error when processing the transaction. The error message suggests that the request is being rejected before it even reaches processing. Here are a few things you might want to check:&lt;/P&gt;
&lt;P&gt;Check API Credentials: Ensure that the ACCESS_KEY, PROFILE_ID, and SECRET_KEY are correct and match the credentials provided in your CyberSource account.&lt;BR /&gt;Ensure the Profile is Active: Go to your CyberSource Business Center and verify that your Secure Acceptance profile is active and configured properly.&lt;BR /&gt;Verify Transaction Type &amp;amp; Required Fields: Some fields may be required based on your payment method. Try explicitly setting "payment_method": "card" if you haven't already.&lt;BR /&gt;Signature Generation Issue:&lt;/P&gt;
&lt;P&gt;Ensure that signed_field_names matches exactly what CyberSource expects.&lt;BR /&gt;Debug and print the data string before generating the signature to confirm its format.&lt;BR /&gt;Confirm that SECRET_KEY is correctly formatted (ensure there are no extra spaces, and it's in hexadecimal).&lt;BR /&gt;Check CyberSource Test Mode vs. Live Mode: If using a test environment, make sure you're not mixing test credentials with production endpoints.&lt;/P&gt;
&lt;P&gt;Firewall or IP Restrictions: Ensure that your server’s IP is allowed in your CyberSource account settings if necessary.&lt;BR /&gt;Check CyberSource Logs: If you have access to CyberSource logs, they might provide more details about why the transaction isn't authorized.&lt;BR /&gt;Try these steps and let me know if the issue persists!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Mar 2025 02:44:33 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/91442#M57425</guid>
      <dc:creator>remtp</dc:creator>
      <dc:date>2025-03-18T02:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: Trasaction not being Processed.</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/94168#M58231</link>
      <description>&lt;P&gt;That error usually means something’s off with your request signature or profile setup. A couple things to check:&lt;/P&gt;&lt;P&gt;Make sure the signed_field_names list matches exactly the fields you’re signing (order matters too).&lt;/P&gt;&lt;P&gt;Double-check your SECRET_KEY – it needs to be the shared secret from your Secure Acceptance profile, not the API key.&lt;/P&gt;&lt;P&gt;Confirm you’re hitting the right environment URL (test vs. production).&lt;/P&gt;&lt;P&gt;If the signature doesn’t line up with what Cybersource expects, you’ll get that “not authorized” message. Try logging the string you’re signing and comparing it against the Cybersource docs.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2025 14:31:43 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Trasaction-not-being-Processed/m-p/94168#M58231</guid>
      <dc:creator>marcos12342</dc:creator>
      <dc:date>2025-10-03T14:31:43Z</dc:date>
    </item>
  </channel>
</rss>

