<?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: Pre-Authorize Transaction ID Not Found in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66793#M40299</link>
    <description>&lt;P&gt;Yep ... something simple, because I'm ignorant ... this problem has been solved.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wasn't adding the new information to the transaction request.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To sum up: First, I create the profile object and set "createProfile" to "true":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;$customerProfile = new AnetAPI\CustomerProfilePaymentType();&lt;BR /&gt;$customerProfile-&amp;gt;setCreateProfile(true);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Then, I added this line amongst the others that build the transactionRequestType:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;$transactionRequestType-&amp;gt;setProfile($customerProfile);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There we go! Profile created when transaction is successful.&lt;BR /&gt;&lt;BR /&gt;Thanks, again. I'm sure I will miss some more stuff, soon. :)&lt;/P&gt;</description>
    <pubDate>Wed, 06 Mar 2019 21:03:15 GMT</pubDate>
    <dc:creator>hmsauthorize1</dc:creator>
    <dc:date>2019-03-06T21:03:15Z</dc:date>
    <item>
      <title>Pre-Authorize Transaction ID Not Found</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66766#M40273</link>
      <description>&lt;P&gt;Developing with PHP ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We want to use the following process flow:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) Pre-authorize credit card&lt;BR /&gt;2) only if authorized: Create Profile&lt;BR /&gt;3) Charge card using pre-authorization Transaction ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We can not test this process flow, because:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) SANDBOX: Creates Transaction ID, but Transaction ID is not valid for charging&lt;BR /&gt;2) PRODUCTION (test mode): Does not return a Transaction ID&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you , in advance, for any guidance on how we can test this sequence of events.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is some of our code, in our attempt to use the above process flow.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;==== TEST CODE ====&lt;BR /&gt;$tresponse = $cardAuthorized-&amp;gt;getTransactionResponse();&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[removed error-checking, for brevity][if (successful)]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;$transactionid = $tresponse-&amp;gt;getTransId();//"invalid" id in sandbox, nothing in production&lt;BR /&gt;$authcode = $tresponse-&amp;gt;getAuthCode();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//then: create customer profile with good card info&lt;BR /&gt;$customerProfile = createCustomerProfile($custInfo);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//then: charge card using previous auth transaction id&lt;BR /&gt;$cardCapture = capturePreviouslyAuthorizedAmount($transactionid);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//cardCapture always fails with (something like) "Invalid Transaction Id" or "Missing Transaction Id"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;==== END TEST CODE ====&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2019 23:34:06 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66766#M40273</guid>
      <dc:creator>hmsauthorize1</dc:creator>
      <dc:date>2019-03-05T23:34:06Z</dc:date>
    </item>
    <item>
      <title>Re: Pre-Authorize Transaction ID Not Found</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66770#M40277</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28942"&gt;@hmsauthorize1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I understand your question, your desire is to charge a card and create a customer profile if successful.&amp;nbsp; Is that correct?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If so, the simplest method we be to use &lt;A href="https://developer.authorize.net/api/reference/#payment-transactions-charge-a-credit-card" target="_self"&gt;createTransactionRequest&lt;/A&gt; and set createProfile = True.&amp;nbsp; If your initial transaction is successful, then a customer profile is created.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another option is to &lt;A href="https://developer.authorize.net/api/reference/#customer-profiles-create-customer-profile" target="_self"&gt;create a customer profile&lt;/A&gt; with payment details and set validation mode = liveMode.&amp;nbsp; This will store the card and attempt a zero dollar transaction to confirm payment details are valid.&amp;nbsp; You can then use the customer profile for your transaction.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note: our Sandbox and Production systems are completely separate.&amp;nbsp; While testing in the sandbox, you should be in live mode.&amp;nbsp; In production, setting the gateway to test mode will only confirm credentials, no actual transactions will be attempted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Richard&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2019 03:10:10 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66770#M40277</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2019-03-06T03:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: Pre-Authorize Transaction ID Not Found</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66790#M40296</link>
      <description>&lt;P&gt;Thank you for your response. I am confident your first solution will work, for us.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using the API (link is &lt;A title="createTransactionRequest" href="https://developer.authorize.net/api/reference/#payment-transactions-charge-a-credit-card" target="_blank" rel="noopener"&gt;here&lt;/A&gt;) and sdk-php-2.0.0, I added this to the "chargeCreditCard" sample PHP code, just before the $duplicateWindowSetting definitions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Save customer profile and payment profile&lt;BR /&gt;$customerProfile = new AnetAPI\CustomerProfilePaymentType();&lt;BR /&gt;$customerProfile-&amp;gt;setCreateProfile("true");// or just the boolean with no quotes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am getting back an empty profileResponse, no profile is being created, and no errors thrown.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ETA: Here's what's in the response array:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[profileResponse:net\authorize\api\contract\v1\CreateTransactionResponse:private] =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What is the correct way/location to setCreateProfile so a new profile is created after a successful transaction, please?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you. I appreciate any advice on what is likely something simple of which I am ignorant.&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2019 18:53:30 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66790#M40296</guid>
      <dc:creator>hmsauthorize1</dc:creator>
      <dc:date>2019-03-06T18:53:30Z</dc:date>
    </item>
    <item>
      <title>Re: Pre-Authorize Transaction ID Not Found</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66793#M40299</link>
      <description>&lt;P&gt;Yep ... something simple, because I'm ignorant ... this problem has been solved.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wasn't adding the new information to the transaction request.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To sum up: First, I create the profile object and set "createProfile" to "true":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;$customerProfile = new AnetAPI\CustomerProfilePaymentType();&lt;BR /&gt;$customerProfile-&amp;gt;setCreateProfile(true);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Then, I added this line amongst the others that build the transactionRequestType:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;$transactionRequestType-&amp;gt;setProfile($customerProfile);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There we go! Profile created when transaction is successful.&lt;BR /&gt;&lt;BR /&gt;Thanks, again. I'm sure I will miss some more stuff, soon. :)&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2019 21:03:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Pre-Authorize-Transaction-ID-Not-Found/m-p/66793#M40299</guid>
      <dc:creator>hmsauthorize1</dc:creator>
      <dc:date>2019-03-06T21:03:15Z</dc:date>
    </item>
  </channel>
</rss>

