<?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: CIM: Void Captured/Pending Settlement  stopped working in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52896#M28089</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, it sounds like the same thing that broke refunds for us: &lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-E00051/td-p/52880" target="_blank"&gt;https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-E00051/td-p/52880&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;They've done something to break whatever comparison they do with the original transaction. It's happened before, and it mysteriously fixes itself from time to time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try doing the void with just the transId, and omit the customerProfileId and the customerPaymentProfileId. This is what we do on our implementation, and it still works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;            transaction = new Cim.ProfileTransactionType()
            {
                Item = new Cim.ProfileTransVoidType()
                {
                    transId = anetDeposit.TransactionIdentity
                }
            };&lt;/PRE&gt;</description>
    <pubDate>Fri, 06 Nov 2015 12:59:30 GMT</pubDate>
    <dc:creator>npiasecki</dc:creator>
    <dc:date>2015-11-06T12:59:30Z</dc:date>
    <item>
      <title>CIM: Void Captured/Pending Settlement  stopped working</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52894#M28087</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have made an integration using the CIM interface where voiding&amp;nbsp;transactions with status "Captured/Pending Settlement" has stopped working in the CIM api (I am using the .NET API).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The flow is the following:&lt;/P&gt;&lt;P&gt;1) I authorize the Credit Card&lt;/P&gt;&lt;P&gt;2) I settle the authorization&lt;/P&gt;&lt;P&gt;3) I void the settlement as I cannot do a refund yet (It has not been settled yet at Authroize.NET)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This worked fine for me two&amp;nbsp;weeks ago but no I have started getting this error: "E00051The original transaction was not issued for this payment profile."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I look at the transaction details in the sandbox I can see that the transaction ID is:&amp;nbsp;&lt;SPAN&gt;2243564785, the customer profile id is:&amp;nbsp;38038422 and the payment profile is:&amp;nbsp;34589924 (This is the same as what I have in my database).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If I send in the request:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;
&amp;lt;createCustomerProfileTransactionRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
  &amp;lt;merchantAuthentication&amp;gt;
    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
    &amp;lt;transactionKey&amp;gt;&amp;lt;/transactionKey&amp;gt;
  &amp;lt;/merchantAuthentication&amp;gt;
  &amp;lt;transaction&amp;gt;
    &amp;lt;profileTransVoid&amp;gt;
      &amp;lt;customerProfileId&amp;gt;38038422&amp;lt;/customerProfileId&amp;gt;
      &amp;lt;customerPaymentProfileId&amp;gt;34589924&amp;lt;/customerPaymentProfileId&amp;gt;
      &amp;lt;transId&amp;gt;2243564785&amp;lt;/transId&amp;gt;
    &amp;lt;/profileTransVoid&amp;gt;
  &amp;lt;/transaction&amp;gt;
&amp;lt;/createCustomerProfileTransactionRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;I get back: "E00051 The original transaction was not issued for this payment profile.".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However from what I can see if send in the correct details (also according to the documentation) and this has worked for me in the past so I think Authorize.NET has made some breaking changes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;It should be relatively easy to replicate.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1) Create an auth on a customer profile and payment profile using CIM&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2) Settle the auth using CIM (PriorAuthCapture)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;3) Void it&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Anyone have the same issue or a suggestion to a workaround?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Edit:&lt;/P&gt;&lt;P&gt;Sample code that can replicate the issue using the .NET API found on github:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;            string apiLogin = "";
            string transactionKey = "";
            var customerGateway = new CustomerGateway(apiLogin, transactionKey, ServiceMode.Test);

            var uniqueIdentifier = "CustomerProfile" + DateTime.Now.Millisecond; //Need unique identifier
            var customerProfileId = customerGateway.CreateCustomer(string.Empty, uniqueIdentifier, uniqueIdentifier).ProfileID;

            var billToAddress = new Address();
            var customerPaymentProfileId = customerGateway.AddCreditCard(
                customerProfileId,
                "4007000000027",
                01,
                2020,
                "123",
                billToAddress);

            var amount = new Random().Next(5, 999);
            var authResponse = customerGateway.Authorize(customerProfileId, customerPaymentProfileId, amount);

            var priorAuthCaptureResponse = customerGateway.PriorAuthCapture(authResponse.TransactionID, amount);

            var gatewayResponse = customerGateway.Void(customerProfileId,
                customerPaymentProfileId,
                priorAuthCaptureResponse.TransactionID);

            if (gatewayResponse.ResponseCode.Contains("E00051"))
            {
                Console.WriteLine("Error: " + gatewayResponse.ResponseCode);
            }
            else
            {
                Console.WriteLine("Success");
            }
            Console.ReadLine();&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Many thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2015 10:36:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52894#M28087</guid>
      <dc:creator>mlpboyum</dc:creator>
      <dc:date>2015-11-06T10:36:22Z</dc:date>
    </item>
    <item>
      <title>Re: CIM: Void Captured/Pending Settlement  stopped working</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52895#M28088</link>
      <description>&lt;P&gt;As a note: Yes, I can void the transaction using the "Unsettled transactions" report in the sandbox. So it is valid to void the transaction.&lt;IMG src="https://photos-5.dropbox.com/t/2/AAATpmNmGKs7OFYBEPMAEamR0jVnqmBNAskkU0j5NWlarQ/12/2809269/png/32x32/3/1446822000/0/2/2015-11-06%2011_40_56-Authorize.Net.png/EPfWkgIYtpMnIAIoAg/RcEly7mXYTdoqhQdgvj3-LMXDflT5I4VUiwWnqF_VhA?size_mode=2&amp;amp;size=1600x1200" border="0" alt="Void is possible" width="600" height="529" /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2015 10:42:34 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52895#M28088</guid>
      <dc:creator>mlpboyum</dc:creator>
      <dc:date>2015-11-06T10:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: CIM: Void Captured/Pending Settlement  stopped working</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52896#M28089</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, it sounds like the same thing that broke refunds for us: &lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-E00051/td-p/52880" target="_blank"&gt;https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-E00051/td-p/52880&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;They've done something to break whatever comparison they do with the original transaction. It's happened before, and it mysteriously fixes itself from time to time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try doing the void with just the transId, and omit the customerProfileId and the customerPaymentProfileId. This is what we do on our implementation, and it still works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;            transaction = new Cim.ProfileTransactionType()
            {
                Item = new Cim.ProfileTransVoidType()
                {
                    transId = anetDeposit.TransactionIdentity
                }
            };&lt;/PRE&gt;</description>
      <pubDate>Fri, 06 Nov 2015 12:59:30 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/CIM-Void-Captured-Pending-Settlement-stopped-working/m-p/52896#M28089</guid>
      <dc:creator>npiasecki</dc:creator>
      <dc:date>2015-11-06T12:59:30Z</dc:date>
    </item>
  </channel>
</rss>

