<?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: How to format Savon Request for Cybersource SOAP API in cybersource APIs</title>
    <link>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85932#M818</link>
    <description>&lt;P&gt;Hi there! It sounds like you're having trouble formatting a request for Cybersource payments using Savon and Ruby. Based on the error message you're receiving, it's possible that the issue may be related to how you're passing parameters to the message body or setting up the header. It looks like you're using Node, but you're open to solutions in other languages. The expected XML for the SOAP API you provided looks correct, but the XML you're getting when you make a request is not what you expected. One thing you might try is double-checking that you're using the correct namespace for the requestMessage element in the XML you're sending. It should be "urn:schemas-cybersource-com:transaction-data-N.NN". If that doesn't solve the issue, there may be other things to consider, such as whether your account is set up correctly or if there are any authentication issues. I hope this helps, and good luck with your project! Let me know if you have any other questions or concerns. Oh, by the way, have you considered checking out &lt;A href="http://garagedoorrepairshortpump.com" target="_self"&gt;Replacement Shortpump&lt;/A&gt; for your shopping needs? They have a great selection!&lt;/P&gt;</description>
    <pubDate>Sun, 12 Mar 2023 18:05:22 GMT</pubDate>
    <dc:creator>mikewiller314</dc:creator>
    <dc:date>2023-03-12T18:05:22Z</dc:date>
    <item>
      <title>How to format Savon Request for Cybersource SOAP API</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85241#M688</link>
      <description>&lt;P&gt;Trying to figure out how to format a request for Cybersource payments, using Savon and Ruby.&lt;/P&gt;&lt;P&gt;I've been at this for a while now, with no luck. I keep getting&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;requestMessage not supported&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I'm guessing it's due to how I'm passing in the parameters to the message body, and/or the header not being setup correctly.&lt;/P&gt;&lt;P&gt;I'm using Node but happy with solutions in other languages.&lt;/P&gt;&lt;P&gt;&lt;A href="https://developer.cybersource.com/api-reference-assets/index.html#flex" target="_blank" rel="nofollow noopener noreferrer"&gt;https://developer.cybersource.com/api-reference-assets/index.html#flex&amp;nbsp;&lt;/A&gt;&lt;A href="https://omegle.ws" target="_blank" rel="noopener"&gt;/ome&lt;/A&gt;&lt;A href="https://omegle.club" target="_blank" rel="noopener"&gt;gle&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://developer.visa.com/capabilities/cybersource/reference" target="_blank" rel="nofollow noopener noreferrer"&gt;https://developer.visa.com/capabilities/cybersource/reference&amp;nbsp;&lt;/A&gt;&lt;A href="https://shagle.download" target="_blank" rel="noopener"&gt;/shagle&lt;/A&gt;&lt;A href="https://voojio.com/chatroom/omegle" target="_blank" rel="noopener"&gt;voojio&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Here is the expected xml for the SOAP API:&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;&amp;lt;?xml version=&lt;SPAN class=""&gt;"1.0"&lt;/SPAN&gt; encoding=&lt;SPAN class=""&gt;"UTF-8"&lt;/SPAN&gt;?&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;soapenv:Envelope&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:soapenv&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://schemas.xmlsoap.org/soap/envelope/"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
   &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;soapenv:Header&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Security&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:wsse&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&lt;/SPAN&gt; &lt;SPAN class=""&gt;soapenv:mustUnderstand&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:UsernameToken&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Username&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;yourMerchantID&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Username&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Password&lt;/SPAN&gt; &lt;SPAN class=""&gt;Type&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;yourPassword&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Password&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:UsernameToken&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Security&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
   &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;soapenv:Header&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
   &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;soapenv:Body&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;requestMessage&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"urn:schemas-cybersource-com:transaction-data-N.NN"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;merchantID&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;yourMerchantID&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;merchantID&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;merchantReferenceCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;MRC-123&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;merchantReferenceCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;billTo&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;firstName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;John&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;firstName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;lastName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Doe&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;lastName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;street1&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;1295 Charleston Road&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;street1&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;city&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Mountain View&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;city&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;state&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;CA&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;state&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;postalCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;94043&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;postalCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;country&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;US&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;country&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;email&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;null@cybersource.com&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;email&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;billTo&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;item&lt;/SPAN&gt; &lt;SPAN class=""&gt;id&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"0"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;5.00&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;1&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;item&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;item&lt;/SPAN&gt; &lt;SPAN class=""&gt;id&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;10.00&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;2&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;item&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;purchaseTotals&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;currency&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;USD&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;currency&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;purchaseTotals&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;card&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;accountNumber&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;4111111111111111&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;accountNumber&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;expirationMonth&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;11&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;expirationMonth&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;expirationYear&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;2020&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;expirationYear&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;card&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
         &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;ccAuthService&lt;/SPAN&gt; &lt;SPAN class=""&gt;run&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"true"&lt;/SPAN&gt; /&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;requestMessage&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
   &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;soapenv:Body&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;soapenv:Envelope&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;   &lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;This is the xml that I'm getting when I try to make a request.&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt; &lt;SPAN class=""&gt;&amp;lt;?xml version=&lt;SPAN class=""&gt;"1.0"&lt;/SPAN&gt; encoding=&lt;SPAN class=""&gt;"UTF-8"&lt;/SPAN&gt;?&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;env:Envelope&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:xsd&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://www.w3.org/2001/XMLSchema"&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:xsi&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:data&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"urn:schemas-cybersource-com:transaction-data:TransactionProcessor"&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:env&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://schemas.xmlsoap.org/soap/envelope/"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;env:Header&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Security&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:wsse&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:UsernameToken&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns:wsu&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&lt;/SPAN&gt; &lt;SPAN class=""&gt;wsu:Id&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"UsernameToken-1"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Username&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;GiveCampusCDW&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Username&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;wsse:Password&lt;/SPAN&gt; &lt;SPAN class=""&gt;Type&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;ju12trzJpnO81ZwSxPdy5htTVeOyUmICDWNmWjXuimTx9Qy+myOB4B4G8ItiJdfu37pJ6jJO2OAmCDIAoWjlgeMO5mvlYxKkVAoDEi2b2dxwLzJlkjUhhyznNzbz71b96lFRgoHGO2YpSlmT5VzTATNVt6SBUVV+iG3D3nndMwAPOmw5M+jSwP0xubZGYPV9bvuCFXI/GcNTsQYN9DWinqMjmq5zw13VgSObQFTPTn5iR+wGcOaj+1fK7IJjYlz82uRF0RHK7JTt0UIDsxULarEiJZBs+VFq9LjPblWI28365bHFs7ooNrgYJkVz+byCaswTj1wWeUecOX3L452zsQ==&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Password&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:UsernameToken&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;wsse:Security&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;env:Header&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;env:Body&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;data:requestMessage&lt;/SPAN&gt; &lt;SPAN class=""&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"urn:schemas-cybersource-com:transaction-data-1.129"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;merchantID&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;GiveCampusCDW&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;merchantID&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;merchantReferenceCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;ContributionID&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;merchantReferenceCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;billTo&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;firstName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Saul&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;firstName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;lastName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Goodman&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;lastName&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;street1&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;1295 Charleston Road&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;street1&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;city&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Mountain View&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;city&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;state&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;CA&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;state&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;postalCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;94043&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;postalCode&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;country&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;US&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;country&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;email&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;test@example.com&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;email&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;billTo&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;item&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;50.00&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;unitPrice&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;1&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;quantity&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;item&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;purchaseTotals&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;currency&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;USD&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;currency&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;purchaseTotals&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;card&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;accountNumber&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;4111111111111111&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;accountNumber&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;expirationMonth&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;12&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;expirationMonth&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;expirationYear&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;2020&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;expirationYear&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;card&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;ccAuthService&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;run&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;true&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;run&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;ccAuthService&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;data:requestMessage&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;env:Body&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;env:Envelope&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;This is the error that is returned:&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;ybersource:&lt;/SPAN&gt;:SoapException ((soap:Client) 
Element (urn:schemas-cybersource-com:transaction-data:TransactionProcessor):requestMessage &lt;SPAN class=""&gt;not&lt;/SPAN&gt; supported.
):
  &lt;SPAN class=""&gt;lib&lt;/SPAN&gt;/cybersource/client.rb:&lt;SPAN class=""&gt;73&lt;/SPAN&gt;:&lt;SPAN class=""&gt;in&lt;/SPAN&gt; `rescue &lt;SPAN class=""&gt;in&lt;/SPAN&gt; run_transaction&lt;SPAN class=""&gt;'&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;lib&lt;/SPAN&gt;/cybersource/client.rb:&lt;SPAN class=""&gt;38&lt;/SPAN&gt;:&lt;SPAN class=""&gt;in&lt;/SPAN&gt; `run_transaction&lt;SPAN class=""&gt;'&lt;/SPAN&gt;
  app/controllers/transactions_controller.rb:&lt;SPAN class=""&gt;7&lt;/SPAN&gt;:&lt;SPAN class=""&gt;in&lt;/SPAN&gt; `&lt;SPAN class=""&gt;new&lt;/SPAN&gt;&lt;SPAN class=""&gt;'&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;Here is my ruby class, used to wrap this all up and make the call.&lt;/P&gt;&lt;PRE&gt;    &lt;SPAN class=""&gt;module&lt;/SPAN&gt; Cybersource
  &lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;Client&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;attr_reader&lt;/SPAN&gt; &lt;SPAN class=""&gt;:merchant_id&lt;/SPAN&gt;, &lt;SPAN class=""&gt;:transaction_key&lt;/SPAN&gt;

    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;initialize&lt;/SPAN&gt;(&lt;SPAN class=""&gt;merchant_id, transaction_key&lt;/SPAN&gt;)
      &lt;SPAN class=""&gt;@merchant_id&lt;/SPAN&gt; = merchant_id
      &lt;SPAN class=""&gt;@transaction_key&lt;/SPAN&gt; = transaction_key
    &lt;SPAN class=""&gt;end&lt;/SPAN&gt;

    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;client&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;# set the header which includes the merchant_id and transaction_key&lt;/SPAN&gt;
      soap_header = &lt;SPAN class=""&gt;&amp;lt;&amp;lt;-HEREDOC
       &amp;lt;SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&amp;gt;
        &amp;lt;wsse:Security SOAP-ENV:mustUnderstand="1"&amp;gt;
          &amp;lt;wsse:UsernameToken&amp;gt;
            &amp;lt;wsse:Username&amp;gt;&lt;SPAN class=""&gt;#{&lt;SPAN class=""&gt;@merchant_id&lt;/SPAN&gt;}&lt;/SPAN&gt;&amp;lt;/wsse:Username&amp;gt;
            &amp;lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&amp;gt;&lt;SPAN class=""&gt;#{&lt;SPAN class=""&gt;@transaction_key&lt;/SPAN&gt;}&lt;/SPAN&gt;&amp;lt;/wsse:Password&amp;gt;
          &amp;lt;/wsse:UsernameToken&amp;gt;
        &amp;lt;/wsse:Security&amp;gt;
      &amp;lt;/SOAP-ENV:Header&amp;gt;
      HEREDOC&lt;/SPAN&gt;

      &lt;SPAN class=""&gt;# initialize a Savon client&lt;/SPAN&gt;
      Savon.client(
          &lt;SPAN class=""&gt;env_namespace:&lt;/SPAN&gt; &lt;SPAN class=""&gt;'soapenv'&lt;/SPAN&gt;,
          &lt;SPAN class=""&gt;#namespace: "urn:schemas-cybersource-com:transaction-data:TransactionProcessor",&lt;/SPAN&gt;
          &lt;SPAN class=""&gt;soap_header:&lt;/SPAN&gt; soap_header,
          &lt;SPAN class=""&gt;#endpoint: "http://ics2wstest.ic3.com",&lt;/SPAN&gt;
          &lt;SPAN class=""&gt;wsdl:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.129.wsdl"&lt;/SPAN&gt;,
          &lt;SPAN class=""&gt;pretty_print_xml:&lt;/SPAN&gt; &lt;SPAN class=""&gt;true&lt;/SPAN&gt;,
          &lt;SPAN class=""&gt;logger:&lt;/SPAN&gt; Rails.logger,
          &lt;SPAN class=""&gt;log:&lt;/SPAN&gt; &lt;SPAN class=""&gt;true&lt;/SPAN&gt;
      )
    &lt;SPAN class=""&gt;end&lt;/SPAN&gt;

    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;run_transaction&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;# build up the xml message passed to the web service&lt;/SPAN&gt;
      message = {
          &lt;SPAN class=""&gt;merchantID:&lt;/SPAN&gt; &lt;SPAN class=""&gt;@merchant_id&lt;/SPAN&gt;,
          &lt;SPAN class=""&gt;merchantReferenceCode:&lt;/SPAN&gt; rand(&lt;SPAN class=""&gt;100&lt;/SPAN&gt;),
          &lt;SPAN class=""&gt;billTo:&lt;/SPAN&gt; {
              &lt;SPAN class=""&gt;firstName:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Saul"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;lastName:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Goodman"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;street1:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1295 Charleston Road"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;city:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Mountain View"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;state:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"CA"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;postalCode:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"94043"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;country:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"US"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;email:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"test@example.com"&lt;/SPAN&gt;,
          },
          &lt;SPAN class=""&gt;item:&lt;/SPAN&gt; {
              &lt;SPAN class=""&gt;unitPrice:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"50.00"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;quantity:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;,
          },
          &lt;SPAN class=""&gt;purchaseTotals:&lt;/SPAN&gt; {
              &lt;SPAN class=""&gt;currency:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"USD"&lt;/SPAN&gt;
          },
          &lt;SPAN class=""&gt;card:&lt;/SPAN&gt; {
              &lt;SPAN class=""&gt;accountNumber:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"4111111111111111"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;expirationMonth:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"12"&lt;/SPAN&gt;,
              &lt;SPAN class=""&gt;expirationYear:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"2020"&lt;/SPAN&gt;
          },
          &lt;SPAN class=""&gt;ccAuthService:&lt;/SPAN&gt; {&lt;SPAN class=""&gt;run:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"true"&lt;/SPAN&gt;},
      }
      response = client.call(&lt;SPAN class=""&gt;:run_transaction&lt;/SPAN&gt;, &lt;SPAN class=""&gt;message:&lt;/SPAN&gt; message, &lt;SPAN class=""&gt;:attributes&lt;/SPAN&gt; =&amp;gt; {
          &lt;SPAN class=""&gt;# sets the xmlns on the requestMessage tag&lt;/SPAN&gt;
          &lt;SPAN class=""&gt;'xmlns'&lt;/SPAN&gt; =&amp;gt; &lt;SPAN class=""&gt;'urn:schemas-cybersource-com:transaction-data-1.129'&lt;/SPAN&gt;,
      })

      &lt;SPAN class=""&gt;# return the response body&lt;/SPAN&gt;
      response.body[&lt;SPAN class=""&gt;:response&lt;/SPAN&gt;]
    &lt;SPAN class=""&gt;rescue&lt;/SPAN&gt; Savon::SOAPFault =&amp;gt; error
      raise Cybersource::SoapException, error
    &lt;SPAN class=""&gt;end&lt;/SPAN&gt;

    protected
    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;wsdl_url&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;if&lt;/SPAN&gt; Rails.env.production?
        &lt;SPAN class=""&gt;ENV&lt;/SPAN&gt;[&lt;SPAN class=""&gt;"CYBERSOURCE_LIVE_WSDL_URL"&lt;/SPAN&gt;]
      &lt;SPAN class=""&gt;else&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;ENV&lt;/SPAN&gt;[&lt;SPAN class=""&gt;"CYBERSOURCE_TEST_WSDL_URL"&lt;/SPAN&gt;]
      &lt;SPAN class=""&gt;end&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;end&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;end&lt;/SPAN&gt;
&lt;SPAN class=""&gt;end&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;I've only got a PHP code example to go off of, but I'm not sure how to convert that into ruby.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;HTML&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;HEAD&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;META&lt;/SPAN&gt; &lt;SPAN class=""&gt;HTTP-EQUIV&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"Content-Type"&lt;/SPAN&gt; &lt;SPAN class=""&gt;content&lt;/SPAN&gt;=&lt;SPAN class=""&gt;"text/html; charset=iso-8859-1"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;TITLE&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;Order Status&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;TITLE&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;HEAD&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;&amp;lt;&lt;SPAN class=""&gt;BODY&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;


&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;lt;?php&lt;/SPAN&gt;

&lt;SPAN class=""&gt;// Before using this example, replace the generic values with your merchant ID and password.&lt;/SPAN&gt;
&lt;SPAN class=""&gt;define&lt;/SPAN&gt;( &lt;SPAN class=""&gt;'MERCHANT_ID'&lt;/SPAN&gt;, &lt;SPAN class=""&gt;'your_merchant_id'&lt;/SPAN&gt; );
&lt;SPAN class=""&gt;define&lt;/SPAN&gt;( &lt;SPAN class=""&gt;'TRANSACTION_KEY'&lt;/SPAN&gt;, &lt;SPAN class=""&gt;'your_transaction_key'&lt;/SPAN&gt; );
&lt;SPAN class=""&gt;define&lt;/SPAN&gt;( &lt;SPAN class=""&gt;'WSDL_URL'&lt;/SPAN&gt;, &lt;SPAN class=""&gt;'https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.26.wsdl'&lt;/SPAN&gt; );


&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;ExtendedClient&lt;/SPAN&gt; &lt;SPAN class=""&gt;extends&lt;/SPAN&gt; &lt;SPAN class=""&gt;SoapClient&lt;/SPAN&gt; &lt;/SPAN&gt;{

   &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;function&lt;/SPAN&gt; &lt;SPAN class=""&gt;__construct&lt;/SPAN&gt;(&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;$wsdl&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$options&lt;/SPAN&gt; = &lt;SPAN class=""&gt;null&lt;/SPAN&gt;&lt;/SPAN&gt;) &lt;/SPAN&gt;{
     &lt;SPAN class=""&gt;parent&lt;/SPAN&gt;::&lt;SPAN class=""&gt;__construct&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$wsdl&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$options&lt;/SPAN&gt;);
   }

&lt;SPAN class=""&gt;// This section inserts the UsernameToken information in the outgoing SOAP message.&lt;/SPAN&gt;
   &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;function&lt;/SPAN&gt; &lt;SPAN class=""&gt;__doRequest&lt;/SPAN&gt;(&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;$request&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$location&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$action&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$version&lt;/SPAN&gt;&lt;/SPAN&gt;) &lt;/SPAN&gt;{

     &lt;SPAN class=""&gt;$user&lt;/SPAN&gt; = MERCHANT_ID;
     &lt;SPAN class=""&gt;$password&lt;/SPAN&gt; = TRANSACTION_KEY;

     &lt;SPAN class=""&gt;$soapHeader&lt;/SPAN&gt; = &lt;SPAN class=""&gt;"&amp;lt;SOAP-ENV:Header xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\"&amp;gt;&amp;lt;wsse:Security SOAP-ENV:mustUnderstand=\"1\"&amp;gt;&amp;lt;wsse:UsernameToken&amp;gt;&amp;lt;wsse:Username&amp;gt;&lt;SPAN class=""&gt;$user&lt;/SPAN&gt;&amp;lt;/wsse:Username&amp;gt;&amp;lt;wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\"&amp;gt;&lt;SPAN class=""&gt;$password&lt;/SPAN&gt;&amp;lt;/wsse:Password&amp;gt;&amp;lt;/wsse:UsernameToken&amp;gt;&amp;lt;/wsse:Security&amp;gt;&amp;lt;/SOAP-ENV:Header&amp;gt;"&lt;/SPAN&gt;;

     &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;DOMDocument&lt;/SPAN&gt;(&lt;SPAN class=""&gt;'1.0'&lt;/SPAN&gt;);
     &lt;SPAN class=""&gt;$soapHeaderDOM&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;DOMDocument&lt;/SPAN&gt;(&lt;SPAN class=""&gt;'1.0'&lt;/SPAN&gt;);

     &lt;SPAN class=""&gt;try&lt;/SPAN&gt; {

         &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt;-&amp;gt;&lt;SPAN class=""&gt;loadXML&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$request&lt;/SPAN&gt;);
     &lt;SPAN class=""&gt;$soapHeaderDOM&lt;/SPAN&gt;-&amp;gt;&lt;SPAN class=""&gt;loadXML&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$soapHeader&lt;/SPAN&gt;);

     &lt;SPAN class=""&gt;$node&lt;/SPAN&gt; = &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt;-&amp;gt;&lt;SPAN class=""&gt;importNode&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$soapHeaderDOM&lt;/SPAN&gt;-&amp;gt;firstChild, &lt;SPAN class=""&gt;true&lt;/SPAN&gt;);
     &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt;-&amp;gt;firstChild-&amp;gt;&lt;SPAN class=""&gt;insertBefore&lt;/SPAN&gt;(
            &lt;SPAN class=""&gt;$node&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt;-&amp;gt;firstChild-&amp;gt;firstChild);

         &lt;SPAN class=""&gt;$request&lt;/SPAN&gt; = &lt;SPAN class=""&gt;$requestDOM&lt;/SPAN&gt;-&amp;gt;&lt;SPAN class=""&gt;saveXML&lt;/SPAN&gt;();

     &lt;SPAN class=""&gt;// printf( "Modified Request:\n*$request*\n" );&lt;/SPAN&gt;

     } &lt;SPAN class=""&gt;catch&lt;/SPAN&gt; (DOMException &lt;SPAN class=""&gt;$e&lt;/SPAN&gt;) {
         &lt;SPAN class=""&gt;die&lt;/SPAN&gt;( &lt;SPAN class=""&gt;'Error adding UsernameToken: '&lt;/SPAN&gt; . &lt;SPAN class=""&gt;$e&lt;/SPAN&gt;-&amp;gt;code);
     }

     &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;parent&lt;/SPAN&gt;::&lt;SPAN class=""&gt;__doRequest&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$request&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$location&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$action&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$version&lt;/SPAN&gt;);
   }
}

&lt;SPAN class=""&gt;try&lt;/SPAN&gt; {
    &lt;SPAN class=""&gt;$soapClient&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;ExtendedClient&lt;/SPAN&gt;(WSDL_URL, &lt;SPAN class=""&gt;array&lt;/SPAN&gt;());

    &lt;SPAN class=""&gt;/*
    To see the functions and types that the SOAP extension can automatically
    generate from the WSDL file, uncomment this section:
    $functions = $soapClient-&amp;gt;__getFunctions();
    print_r($functions);
    $types = $soapClient-&amp;gt;__getTypes();
    print_r($types);
    */&lt;/SPAN&gt;

        &lt;SPAN class=""&gt;$request&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();

    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;merchantID = MERCHANT_ID;

    &lt;SPAN class=""&gt;// Before using this example, replace the generic value with your own.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;merchantReferenceCode = &lt;SPAN class=""&gt;"your_merchant_reference_code"&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;// To help us troubleshoot any problems that you may encounter,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;// please include the following information about your PHP application.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;clientLibrary = &lt;SPAN class=""&gt;"PHP"&lt;/SPAN&gt;;
        &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;clientLibraryVersion = &lt;SPAN class=""&gt;phpversion&lt;/SPAN&gt;();
        &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;clientEnvironment = &lt;SPAN class=""&gt;php_uname&lt;/SPAN&gt;();

    &lt;SPAN class=""&gt;// This section contains a sample transaction request for the authorization&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;// service with complete billing, payment card, and purchase (two items) information.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;$ccAuthService&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$ccAuthService&lt;/SPAN&gt;-&amp;gt;run = &lt;SPAN class=""&gt;"true"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;ccAuthService = &lt;SPAN class=""&gt;$ccAuthService&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;firstName = &lt;SPAN class=""&gt;"John"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;lastName = &lt;SPAN class=""&gt;"Doe"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;street1 = &lt;SPAN class=""&gt;"1295 Charleston Road"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;city = &lt;SPAN class=""&gt;"Mountain View"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;state = &lt;SPAN class=""&gt;"CA"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;postalCode = &lt;SPAN class=""&gt;"94043"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;country = &lt;SPAN class=""&gt;"US"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;email = &lt;SPAN class=""&gt;"null@cybersource.com"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;-&amp;gt;ipAddress = &lt;SPAN class=""&gt;"10.7.111.111"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;billTo = &lt;SPAN class=""&gt;$billTo&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$card&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$card&lt;/SPAN&gt;-&amp;gt;accountNumber = &lt;SPAN class=""&gt;"4111111111111111"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$card&lt;/SPAN&gt;-&amp;gt;expirationMonth = &lt;SPAN class=""&gt;"12"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$card&lt;/SPAN&gt;-&amp;gt;expirationYear = &lt;SPAN class=""&gt;"2020"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;card = &lt;SPAN class=""&gt;$card&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$purchaseTotals&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$purchaseTotals&lt;/SPAN&gt;-&amp;gt;currency = &lt;SPAN class=""&gt;"USD"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;purchaseTotals = &lt;SPAN class=""&gt;$purchaseTotals&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$item0&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$item0&lt;/SPAN&gt;-&amp;gt;unitPrice = &lt;SPAN class=""&gt;"12.34"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$item0&lt;/SPAN&gt;-&amp;gt;quantity = &lt;SPAN class=""&gt;"2"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$item0&lt;/SPAN&gt;-&amp;gt;id = &lt;SPAN class=""&gt;"0"&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$item1&lt;/SPAN&gt; = &lt;SPAN class=""&gt;new&lt;/SPAN&gt; &lt;SPAN class=""&gt;stdClass&lt;/SPAN&gt;();
    &lt;SPAN class=""&gt;$item1&lt;/SPAN&gt;-&amp;gt;unitPrice = &lt;SPAN class=""&gt;"56.78"&lt;/SPAN&gt;;
    &lt;SPAN class=""&gt;$item1&lt;/SPAN&gt;-&amp;gt;id = &lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;;

    &lt;SPAN class=""&gt;$request&lt;/SPAN&gt;-&amp;gt;item = &lt;SPAN class=""&gt;array&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$item0&lt;/SPAN&gt;, &lt;SPAN class=""&gt;$item1&lt;/SPAN&gt;);

    &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt; = &lt;SPAN class=""&gt;$soapClient&lt;/SPAN&gt;-&amp;gt;&lt;SPAN class=""&gt;runTransaction&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$request&lt;/SPAN&gt;);

    &lt;SPAN class=""&gt;// This section will show all the reply fields.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;// var_dump($reply);&lt;/SPAN&gt;

    &lt;SPAN class=""&gt;// To retrieve individual reply fields, follow these examples.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;printf&lt;/SPAN&gt;( &lt;SPAN class=""&gt;"decision = &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt;-&amp;gt;decision&amp;lt;br&amp;gt;"&lt;/SPAN&gt; );
    &lt;SPAN class=""&gt;printf&lt;/SPAN&gt;( &lt;SPAN class=""&gt;"reasonCode = &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt;-&amp;gt;reasonCode&amp;lt;br&amp;gt;"&lt;/SPAN&gt; );
    &lt;SPAN class=""&gt;printf&lt;/SPAN&gt;( &lt;SPAN class=""&gt;"requestID = &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt;-&amp;gt;requestID&amp;lt;br&amp;gt;"&lt;/SPAN&gt; );
    &lt;SPAN class=""&gt;printf&lt;/SPAN&gt;( &lt;SPAN class=""&gt;"requestToken = &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt;-&amp;gt;requestToken&amp;lt;br&amp;gt;"&lt;/SPAN&gt; );
    &lt;SPAN class=""&gt;printf&lt;/SPAN&gt;( &lt;SPAN class=""&gt;"ccAuthReply-&amp;gt;reasonCode = "&lt;/SPAN&gt; . &lt;SPAN class=""&gt;$reply&lt;/SPAN&gt;-&amp;gt;ccAuthReply-&amp;gt;reasonCode . &lt;SPAN class=""&gt;"&amp;lt;br&amp;gt;"&lt;/SPAN&gt;);
} &lt;SPAN class=""&gt;catch&lt;/SPAN&gt; (SoapFault &lt;SPAN class=""&gt;$exception&lt;/SPAN&gt;) {
    &lt;SPAN class=""&gt;var_dump&lt;/SPAN&gt;(&lt;SPAN class=""&gt;get_class&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$exception&lt;/SPAN&gt;));
    &lt;SPAN class=""&gt;var_dump&lt;/SPAN&gt;(&lt;SPAN class=""&gt;$exception&lt;/SPAN&gt;);
}
&lt;SPAN class=""&gt;?&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;    &lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;BODY&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;&amp;lt;/&lt;SPAN class=""&gt;HTML&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Any help would be much appreciated.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2022 05:50:05 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85241#M688</guid>
      <dc:creator>AkinBredailik</dc:creator>
      <dc:date>2022-12-14T05:50:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to format Savon Request for Cybersource SOAP API</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85315#M709</link>
      <description>&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Initialize Savon client:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;client = Savon::Client.new do&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;wsdl.document = "&lt;A href="https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.100.wsdl" target="_blank" rel="noopener"&gt;https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.100.wsdl&lt;/A&gt;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;end&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Set SOAP Headers:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;client.http.headers["SOAPAction"] = "&lt;A href="https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.100" target="_blank" rel="noopener"&gt;https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.100&lt;/A&gt;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;client.http.headers["Content-Type"] = "text/xml; charset=utf-8"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Set authentication information:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;client.wsse.credentials("merchantID", "merchantKey")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Set SOAP Body:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;client.request.body = {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;:run_transaction_request =&amp;gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;:merchant_reference_code =&amp;gt; "12345",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;:client_request_id =&amp;gt; "&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Dec 2022 04:42:06 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85315#M709</guid>
      <dc:creator>sulinelanie</dc:creator>
      <dc:date>2022-12-30T04:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to format Savon Request for Cybersource SOAP API</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85932#M818</link>
      <description>&lt;P&gt;Hi there! It sounds like you're having trouble formatting a request for Cybersource payments using Savon and Ruby. Based on the error message you're receiving, it's possible that the issue may be related to how you're passing parameters to the message body or setting up the header. It looks like you're using Node, but you're open to solutions in other languages. The expected XML for the SOAP API you provided looks correct, but the XML you're getting when you make a request is not what you expected. One thing you might try is double-checking that you're using the correct namespace for the requestMessage element in the XML you're sending. It should be "urn:schemas-cybersource-com:transaction-data-N.NN". If that doesn't solve the issue, there may be other things to consider, such as whether your account is set up correctly or if there are any authentication issues. I hope this helps, and good luck with your project! Let me know if you have any other questions or concerns. Oh, by the way, have you considered checking out &lt;A href="http://garagedoorrepairshortpump.com" target="_self"&gt;Replacement Shortpump&lt;/A&gt; for your shopping needs? They have a great selection!&lt;/P&gt;</description>
      <pubDate>Sun, 12 Mar 2023 18:05:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/85932#M818</guid>
      <dc:creator>mikewiller314</dc:creator>
      <dc:date>2023-03-12T18:05:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to format Savon Request for Cybersource SOAP API</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/86219#M865</link>
      <description>&lt;P&gt;To format a Savon request for the Cybersource SOAP API, you can follow these general steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Define the endpoint URL and SOAP action for the request. This will typically be provided by the API documentation or support team.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Define the request message structure using the appropriate XML tags and data elements for the API method you are calling. Again, this will be specified in the API documentation.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use Savon to generate the SOAP envelope, incorporating the endpoint URL, SOAP action, and request message.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Make the API call using Savon and parse the response to extract the desired information.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;For example, to use Savon to make a SOAP API request to retrieve information about the, you would follow these steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Define the endpoint URL and SOAP action for the API method that retrieves version information.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Define the request message structure using the appropriate XML tags and data elements for the version API method.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use Savon to generate the SOAP envelope, incorporating the endpoint URL, SOAP action, and request message.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Make the API call using Savon and parse the response to extract the latest version information.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Please note that the specifics of the request message and data elements will depend on the API method and data being requested. It's important to refer to the Cybersource SOAP API documentation for the specific details on how to structure the request.&lt;/P&gt;</description>
      <pubDate>Sun, 09 Apr 2023 14:37:41 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/How-to-format-Savon-Request-for-Cybersource-SOAP-API/m-p/86219#M865</guid>
      <dc:creator>peteralvex</dc:creator>
      <dc:date>2023-04-09T14:37:41Z</dc:date>
    </item>
  </channel>
</rss>

