We have a client that keeps getting the error:
We haven't isolated whether this happens just with partial refunds, full refunds or both. The latest occurrence was a partial refund.A valid referenced transaction ID is required (E00027)
We haven't isolated whether this happens just with partial refunds, full refunds or both. The latest occurrence was a partial refund.A valid referenced transaction ID is required (E00027)
Code: Select all
req.transactionRequest.refTransId = captureTransaction.ProviderTransactionId;
The following elements belong to the element; include them only for credit card transactions.
When issuing a credit card refund, the request must include either a full card number and expiration, or previous transId and last 4 digits of the card number. If you don't have the last 4 digits, you can use getTransactionDetails to get the payment object needed to issue a refund.
I also tried to look for Authorize.net CIM API reference documentation as I want to clear about the "refTransId" field but there is no "refTransId" field available for CIM refund requests, but there is a "transId" field which I am not sure about.AbleMods wrote: However in DoProfileRefund() the refTransId is never populated. Without the original transaction ID, AuthNet has no way of knowing which transaction should be refunded.
According to the Authorize.Net CIM API, the reference transaction ID is required when issuing refunds. They do not make a distinction between standard and profile transactions.
https://developer.authorize.net/api/ref ... ransaction
Code: Select all
if (creditRequest.CaptureTransaction == null) throw new ArgumentNullException("refundRequest.CaptureTransaction");
else
{
//The payment gateway assigned transaction ID of the original transaction
refundTrans.transId = creditRequest.CaptureTransaction.ProviderTransactionId;
}