<?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 Refunds etc in new API in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53141#M28290</link>
    <description>&lt;P&gt;So the XML-based API is supposed to be ready for prime time and that's what we should be using for new development?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I could be up for that and for retrofitting it, BUT...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was more than a little surprised when installing per instructions put almost 4,200 files (and 25 MB) on my server to support what a little digging shows can be done in a couple of dozen lines of code or less per type of operation, probably less on average taking overlap into account.&amp;nbsp; IOW minimal change.&amp;nbsp; That's to get from input-array to output-array sandwiching actual execution of the transaction.&amp;nbsp; A guy sure can't tell that from a first look at the dox, though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Even after (or because of) all that, there were unresolved dependencies and the sample code was dying on yaml.&amp;nbsp; It seems this general approach to installation and configuration would become a chronic source of inherent fragility and even vulnerability to deliberate sabotage.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So now I'm just embedding a curl connection pretty close to what my existing code base uses, merely spouting and digesting XML instead of the old format.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I'm not supposed to be using the new stuff yet for production work, then where can I find the docs and examples for old-style ARB and TD not dependent on adapters to the new schema?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now about the refunds in my title:&amp;nbsp; I copied the example request verbatim.&amp;nbsp; (That part of the documentation seems a vast improvement over the past, quite an elegant little digest.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
  &amp;lt;merchantAuthentication&amp;gt;
    &amp;lt;name&amp;gt;API_LOGIN_ID&amp;lt;/name&amp;gt;
    &amp;lt;transactionKey&amp;gt;API_TRANSACTION_KEY&amp;lt;/transactionKey&amp;gt;
  &amp;lt;/merchantAuthentication&amp;gt;
  &amp;lt;refId&amp;gt;123456&amp;lt;/refId&amp;gt;
  &amp;lt;transactionRequest&amp;gt;
    &amp;lt;transactionType&amp;gt;refundTransaction&amp;lt;/transactionType&amp;gt;
    &amp;lt;amount&amp;gt;5&amp;lt;/amount&amp;gt;
    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;5424000000000015&amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;1220&amp;lt;/expirationDate&amp;gt;
        &amp;lt;cardCode&amp;gt;999&amp;lt;/cardCode&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;
    &amp;lt;refTransId&amp;gt;1122334455&amp;lt;/refTransId&amp;gt;
  &amp;lt;/transactionRequest&amp;gt;
&amp;lt;/createTransactionRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;But I plugged in real live everything for a recently settled transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what I get: back:&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;createTransactionResponse 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;refId&amp;gt;1448841865&amp;lt;/refId&amp;gt;
	&amp;lt;messages&amp;gt;
		&amp;lt;resultCode&amp;gt;Error&amp;lt;/resultCode&amp;gt;
		&amp;lt;message&amp;gt;
			&amp;lt;code&amp;gt;E00027&amp;lt;/code&amp;gt;
			&amp;lt;text&amp;gt;The transaction was unsuccessful.&amp;lt;/text&amp;gt;
		&amp;lt;/message&amp;gt;
	&amp;lt;/messages&amp;gt;
	&amp;lt;transactionResponse&amp;gt;
		&amp;lt;responseCode&amp;gt;3&amp;lt;/responseCode&amp;gt;
		&amp;lt;authCode /&amp;gt;
		&amp;lt;avsResultCode&amp;gt;P&amp;lt;/avsResultCode&amp;gt;
		&amp;lt;cvvResultCode /&amp;gt;
		&amp;lt;cavvResultCode /&amp;gt;
		&amp;lt;transId&amp;gt;0&amp;lt;/transId&amp;gt;
		&amp;lt;refTransID&amp;gt;9999999999&amp;lt;/refTransID&amp;gt;
		&amp;lt;transHash&amp;gt;99999999999999999999999999999999&amp;lt;/transHash&amp;gt;
		&amp;lt;testRequest&amp;gt;0&amp;lt;/testRequest&amp;gt;
		&amp;lt;accountNumber&amp;gt;XXXX9999&amp;lt;/accountNumber&amp;gt;
		&amp;lt;accountType&amp;gt;Visa&amp;lt;/accountType&amp;gt;
		&amp;lt;errors&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Invoice Number is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Description is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Customer ID is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To First Name is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Last Name is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Address is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To City is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To State/Province is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Zip/Postal Code is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Country is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Phone is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Email is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
		&amp;lt;/errors&amp;gt;
	&amp;lt;/transactionResponse&amp;gt;
&amp;lt;/createTransactionResponse&amp;gt;

&lt;/PRE&gt;&lt;P&gt;(Transaction-specific return data changed to 9999s)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's going on?&amp;nbsp; I've tried providing some of that information, but then it complains about the enclosing elements.&amp;nbsp; It's almost like it's not recognizing this as a refund request.&amp;nbsp; But surely the feature must work or it would have come to light already.&amp;nbsp; So what do I need to do?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Having now put my client on notice of the need to implement a new protocol to get new functionality they have requested/demanded, I'm reluctant to backtrack.&amp;nbsp; But the main thing is to have refunds, subscriptions, and transaction detail functioning by Wednesday AM, so I'll do it the old way if that gets there faster.&lt;/P&gt;</description>
    <pubDate>Mon, 30 Nov 2015 00:57:25 GMT</pubDate>
    <dc:creator>Timberliner</dc:creator>
    <dc:date>2015-11-30T00:57:25Z</dc:date>
    <item>
      <title>Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53141#M28290</link>
      <description>&lt;P&gt;So the XML-based API is supposed to be ready for prime time and that's what we should be using for new development?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I could be up for that and for retrofitting it, BUT...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was more than a little surprised when installing per instructions put almost 4,200 files (and 25 MB) on my server to support what a little digging shows can be done in a couple of dozen lines of code or less per type of operation, probably less on average taking overlap into account.&amp;nbsp; IOW minimal change.&amp;nbsp; That's to get from input-array to output-array sandwiching actual execution of the transaction.&amp;nbsp; A guy sure can't tell that from a first look at the dox, though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Even after (or because of) all that, there were unresolved dependencies and the sample code was dying on yaml.&amp;nbsp; It seems this general approach to installation and configuration would become a chronic source of inherent fragility and even vulnerability to deliberate sabotage.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So now I'm just embedding a curl connection pretty close to what my existing code base uses, merely spouting and digesting XML instead of the old format.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I'm not supposed to be using the new stuff yet for production work, then where can I find the docs and examples for old-style ARB and TD not dependent on adapters to the new schema?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now about the refunds in my title:&amp;nbsp; I copied the example request verbatim.&amp;nbsp; (That part of the documentation seems a vast improvement over the past, quite an elegant little digest.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
  &amp;lt;merchantAuthentication&amp;gt;
    &amp;lt;name&amp;gt;API_LOGIN_ID&amp;lt;/name&amp;gt;
    &amp;lt;transactionKey&amp;gt;API_TRANSACTION_KEY&amp;lt;/transactionKey&amp;gt;
  &amp;lt;/merchantAuthentication&amp;gt;
  &amp;lt;refId&amp;gt;123456&amp;lt;/refId&amp;gt;
  &amp;lt;transactionRequest&amp;gt;
    &amp;lt;transactionType&amp;gt;refundTransaction&amp;lt;/transactionType&amp;gt;
    &amp;lt;amount&amp;gt;5&amp;lt;/amount&amp;gt;
    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;5424000000000015&amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;1220&amp;lt;/expirationDate&amp;gt;
        &amp;lt;cardCode&amp;gt;999&amp;lt;/cardCode&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;
    &amp;lt;refTransId&amp;gt;1122334455&amp;lt;/refTransId&amp;gt;
  &amp;lt;/transactionRequest&amp;gt;
&amp;lt;/createTransactionRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;But I plugged in real live everything for a recently settled transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what I get: back:&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;createTransactionResponse 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;refId&amp;gt;1448841865&amp;lt;/refId&amp;gt;
	&amp;lt;messages&amp;gt;
		&amp;lt;resultCode&amp;gt;Error&amp;lt;/resultCode&amp;gt;
		&amp;lt;message&amp;gt;
			&amp;lt;code&amp;gt;E00027&amp;lt;/code&amp;gt;
			&amp;lt;text&amp;gt;The transaction was unsuccessful.&amp;lt;/text&amp;gt;
		&amp;lt;/message&amp;gt;
	&amp;lt;/messages&amp;gt;
	&amp;lt;transactionResponse&amp;gt;
		&amp;lt;responseCode&amp;gt;3&amp;lt;/responseCode&amp;gt;
		&amp;lt;authCode /&amp;gt;
		&amp;lt;avsResultCode&amp;gt;P&amp;lt;/avsResultCode&amp;gt;
		&amp;lt;cvvResultCode /&amp;gt;
		&amp;lt;cavvResultCode /&amp;gt;
		&amp;lt;transId&amp;gt;0&amp;lt;/transId&amp;gt;
		&amp;lt;refTransID&amp;gt;9999999999&amp;lt;/refTransID&amp;gt;
		&amp;lt;transHash&amp;gt;99999999999999999999999999999999&amp;lt;/transHash&amp;gt;
		&amp;lt;testRequest&amp;gt;0&amp;lt;/testRequest&amp;gt;
		&amp;lt;accountNumber&amp;gt;XXXX9999&amp;lt;/accountNumber&amp;gt;
		&amp;lt;accountType&amp;gt;Visa&amp;lt;/accountType&amp;gt;
		&amp;lt;errors&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Invoice Number is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Description is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Customer ID is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To First Name is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Last Name is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Address is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To City is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To State/Province is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Zip/Postal Code is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Bill To Country is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Phone is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
			&amp;lt;error&amp;gt;
				&amp;lt;errorCode&amp;gt;33&amp;lt;/errorCode&amp;gt;
				&amp;lt;errorText&amp;gt;Email is required.&amp;lt;/errorText&amp;gt;
			&amp;lt;/error&amp;gt;
		&amp;lt;/errors&amp;gt;
	&amp;lt;/transactionResponse&amp;gt;
&amp;lt;/createTransactionResponse&amp;gt;

&lt;/PRE&gt;&lt;P&gt;(Transaction-specific return data changed to 9999s)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's going on?&amp;nbsp; I've tried providing some of that information, but then it complains about the enclosing elements.&amp;nbsp; It's almost like it's not recognizing this as a refund request.&amp;nbsp; But surely the feature must work or it would have come to light already.&amp;nbsp; So what do I need to do?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Having now put my client on notice of the need to implement a new protocol to get new functionality they have requested/demanded, I'm reluctant to backtrack.&amp;nbsp; But the main thing is to have refunds, subscriptions, and transaction detail functioning by Wednesday AM, so I'll do it the old way if that gets there faster.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 00:57:25 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53141#M28290</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T00:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53142#M28291</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/19345"&gt;@Timberliner﻿&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try removing &amp;lt;&lt;SPAN&gt;refTransId&amp;gt; from your request if you are providing the full card number. &amp;nbsp;Or provide &amp;lt;refTransId&amp;gt; and remove &amp;lt;payment&amp;gt; if you have the transaction ID for a previously settled transaction.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Richard&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 01:23:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53142#M28291</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2015-11-30T01:23:44Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53143#M28292</link>
      <description>&lt;P&gt;Thanks for getting back so quickly, Richard.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Removing the payment element results in:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;code&amp;gt;E00027&amp;lt;/code&amp;gt;&lt;BR /&gt;...&lt;BR /&gt;&amp;lt;errorText&amp;gt;Credit card number is required.&amp;lt;/errorText&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Providing full payment information and removing refTransId results in:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;code&amp;gt;E00027&amp;lt;/code&amp;gt;&lt;BR /&gt;...&lt;BR /&gt;&amp;lt;errorText&amp;gt;A valid referenced transaction ID is required.&amp;lt;/errorText&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I use the full card number plus the refTransId element, I get:&lt;/P&gt;&lt;PRE&gt;&amp;lt;errorText&amp;gt;Invoice Number is required.&amp;lt;/errorText&amp;gt;&lt;/PRE&gt;&lt;P&gt;So if I add an order element with invoiceNumer and description before the refTransId, I get:&lt;/P&gt;&lt;PRE&gt;&amp;lt;code&amp;gt;E00003&amp;lt;/code&amp;gt;&amp;lt;text&amp;gt;The element 'transactionRequest' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'refTransId' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'...&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now if I scrounge a copy of my AIM PDF, I guess refund will be one of the options described in there.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is the refund function being used successfully through the XML protocol on production sites?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've had no trouble testing the transaction detail functions live through the new protocol -- only the refund is balking -- but I can't support a hybrid payment implementation.&amp;nbsp; I need to either retrofit everything with the new or else use the old for TD and ARB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 02:01:48 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53143#M28292</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T02:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53144#M28293</link>
      <description>&lt;P&gt;PS In any case, I can't store the full card number or the card code (storing expiration is permitted &lt;EM&gt;without&lt;/EM&gt; full card number), so I'll either need a solution where I can initiate a refund using last4 (or none), or I'll have to tell the client they can't have a refund function outside the merchant interface.&amp;nbsp; But it's not just messy for them, it's also messier for me if they're doing all their refunds through the ANet site.&amp;nbsp; That's more importation and reconciliation.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 02:05:49 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53144#M28293</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T02:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53145#M28294</link>
      <description>&lt;P&gt;&lt;A href="http://www.authorize.net/content/dam/authorize/documents/AIM_guide.pdf" target="_blank"&gt;http://www.authorize.net/content/dam/authorize/documents/AIM_guide.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Page 28&lt;/P&gt;
&lt;DIV&gt;The transaction is submitted with the valid transaction ID (x_trans_id) of an original,successfully&amp;nbsp;settled&amp;nbsp;transaction.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;The amount being requested for refund is less than or equal to the original settled&amp;nbsp;amount.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;The sum of multiple Credit transactions submitted against the original transaction is&amp;nbsp;less than or equal to the original settled amount.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;At least the last four digits of the credit card number (x_card_num) used for the&amp;nbsp;original, successfully settled transaction&lt;/DIV&gt;
&lt;DIV&gt;are submitted. An expiration date is not&amp;nbsp;required.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;The transaction is submitted within 120 days of the settlement date of the original&amp;nbsp;transaction.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;refTransId with masked last 4 CC# (e.g. XXXX0015)&lt;/DIV&gt;</description>
      <pubDate>Mon, 30 Nov 2015 18:03:43 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53145#M28294</guid>
      <dc:creator>RaynorC1emen7</dc:creator>
      <dc:date>2015-11-30T18:03:43Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53150#M28299</link>
      <description>&lt;P&gt;OK, the bottom line is that refunds were failing in the live environment (after succeeding in the sandbox) based non-intuitively on account settings under:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Account | Settings | Payment Form | Form Fields and the "Required" column&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...even though we don't use SIM or the form it generates.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;Any item marked required on the SIM Form controller page will be required for all refund submissions as well&lt;/FONT&gt;.&amp;nbsp; The fields marked required control not only SIM and AIM transactions but the new unified methodology, too.&amp;nbsp; And you may further find that due to mutual exclusions between elements in the schema, you aren't actually able to submit all the account-required fields for a refund.&amp;nbsp; I haven't had time to completely get to the bottom of that, but e.g. as noted in my earlier post, the &lt;STRONG&gt;order&lt;/STRONG&gt; element containing the (previously) required &lt;STRONG&gt;invoiceNumber&lt;/STRONG&gt; element was being required by the processing logic but rejected by the schema.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my opinion, requiring items checked on the SIM form configuration page to be present on refunds using the new methodology is an implementation error.&amp;nbsp; But regardless of your opinion on that, at the very least the caveat needs to be added to the documentation on the main online reference page (&lt;A href="http://developer.authorize.net/api/reference/index.html" target="_blank"&gt;http://developer.authorize.net/api/reference/index.html&lt;/A&gt;) and in the AIM XML PDF most recently revised Oct 15.&amp;nbsp; Who would ordinarily guess such a thing?&amp;nbsp; I just happened to have the intuition.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm accepting my own reply since it contains the fundamental answer but giving kudos to &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/7546"&gt;@RichardH﻿&lt;/a&gt; and &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/1353"&gt;@RaynorC1emen7﻿&lt;/a&gt; for assistance rendered.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 19:55:21 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53150#M28299</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T19:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53151#M28300</link>
      <description>&lt;P&gt;Also, although the schema requires an expiration date with the credit card, it appears the processing logic &lt;STRONG&gt;&lt;EM&gt;for refunds&lt;/EM&gt;&lt;/STRONG&gt; accepts any future date, i.e. does not validate the expiration against the card.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know if that's universally true, but it works with the live card I'm using for testing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's useful for people concerned about storing the date (though multiple authorities claim it's OK to store the date as long as you don't also store the full card number) or who need to add refunds to an existing implementation that discards the date.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 20:10:43 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53151#M28300</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T20:10:43Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53152#M28301</link>
      <description>&lt;P&gt;One other correction to what I wrote about mutual exclusions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I dug into the schema and found there are no mutual exclusions, only a required order of elements, most of which are optional. Those can look like mutual exclusions if you don't know the order. &amp;nbsp; Anyway, it was a little too late to correct the post in question.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So once you have a &lt;STRONG&gt;refTransId&lt;/STRONG&gt;, it becomes too late to include a &lt;STRONG&gt;payment&lt;/STRONG&gt;.&amp;nbsp; Once you include an &lt;STRONG&gt;order&lt;/STRONG&gt;, it becomes too late to include a &lt;STRONG&gt;refTransId&lt;/STRONG&gt;.&amp;nbsp; The provided code takes care of ordering the elements for you.&amp;nbsp; But if installation fails or you're adapting existing code to send and receive the new XML, you obviously have to know what the schema requires.&amp;nbsp; I've seen I'm not the only one for whom installation via composer went off the deep end, and that form of installation will always inherently be the sum of all the frailties of all its individual pieces. So it's good to know how to encode and decode your own XML.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Child elements of a &lt;STRONG&gt;transactionRequest&lt;/STRONG&gt; must occur in the following order.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;lt;amount&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;currencyCode&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;payment&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;profile&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;solution&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;callId&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;authCode&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;refTransId&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;splitTenderId&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;order&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;lineItems&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;tax&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;duty&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;shipping&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;taxExempt&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;poNumber&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;customer&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;billTo&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;shipTo&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;customerIP&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;cardholderAuthentication&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;retail&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;employeeId&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;transactionSettings&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;userFields&amp;gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2015 21:00:26 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/53152#M28301</guid>
      <dc:creator>Timberliner</dc:creator>
      <dc:date>2015-11-30T21:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56210#M31017</link>
      <description>&lt;P&gt;Hello this is my request&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"createTransactionRequest": {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"merchantAuthentication": {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"name": "XXXXXXX",&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"transactionKey": "XXXXXXXX"&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;},&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"refId": "123456",&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"transactionRequest": {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"transactionType": "refundTransaction",&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"amount": "0.01",&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"refTransId": "8746352001"&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and its throwing me error as&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"errors": [&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"errorCode": "33",&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"errorText": "Credit card number is required."&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;],&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;can anyone help me?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanx&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 03:56:27 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56210#M31017</guid>
      <dc:creator>Nilam</dc:creator>
      <dc:date>2016-11-16T03:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56211#M31018</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/20492"&gt;@Nilam&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Refund transactions require either the entire card number and expiration, or the refTransId, last 4 of the card number and masked expiration date. &amp;nbsp;See&amp;nbsp;&lt;A href="https://developer.authorize.net/api/reference/#payment-transactions-refund-a-transaction" target="_blank"&gt;https://developer.authorize.net/api/reference/#payment-transactions-refund-a-transaction&lt;/A&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you don't have the last 4 and expiration, use getTransactionDetails to obtain the payment object which includes this information.&amp;nbsp;&lt;A href="https://developer.authorize.net/api/reference/#transaction-reporting-get-transaction-details" target="_blank"&gt;https://developer.authorize.net/api/reference/#transaction-reporting-get-transaction-details&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Richard&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 04:34:59 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56211#M31018</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2016-11-16T04:34:59Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56212#M31019</link>
      <description>&lt;P&gt;ok richards got it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now i have another question regarding void. I have used void for cancellation of any order and its working fine. now i have 1 question regarding refunding of money. after void do i have to again call refund transaction or authorize will directly refund money?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 04:42:34 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56212#M31019</guid>
      <dc:creator>Nilam</dc:creator>
      <dc:date>2016-11-16T04:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56213#M31020</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/20492"&gt;@Nilam&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You would issue a Void or a Refund, but not both.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Void is used to cancel an entire transaction before it settles. &amp;nbsp;Settlement occurs once a day starting after the transaction cut-off time. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A refund is used to return an amount less than or equal to the original authorization but must be done after the transaction settles.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Richard&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 04:50:39 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56213#M31020</guid>
      <dc:creator>RichardH</dc:creator>
      <dc:date>2016-11-16T04:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: Refunds etc in new API</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56214#M31021</link>
      <description>&lt;P&gt;Ya Rechard i understood that. My question is that suppose i have place order of amount 10$. when i placed order 10$ would be deducted from my account. now if i cancel the order(which is not yet settled). will i get money back in my account with void API?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 04:59:28 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Refunds-etc-in-new-API/m-p/56214#M31021</guid>
      <dc:creator>Nilam</dc:creator>
      <dc:date>2016-11-16T04:59:28Z</dc:date>
    </item>
  </channel>
</rss>

