4

I'm using CIM with php. I'm trying to refund/void transactions.

  1. Is there some clear documentation somewhere about voiding and refunding transactions with CIM?

  2. My understanding is that a transaction can't be refunded until it is "settled". I assume this happens at some indeterminate period of time in the future, and so there was a sentence in some documentation somewhere saying that if a refund is necessary I should simply try to void the transaction and if that fails assume it is settled, and so try a refund. Is this correct?

  3. Is there any expiry date for refund a transaction?

Harish Ambady
  • 12,525
  • 4
  • 29
  • 54

1 Answers1

1

Is there some clear documentation somewhere about voiding and refunding transactions with CIM?

See page 48 of the CIM Guide

My understanding is that a transaction can't be refunded until it is "settled". I assume this happens at some indeterminate period of time in the future, and so there was a sentence in some documentation somewhere saying that if a refund is necessary I should simply try to void the transaction and if that fails assume it is settled, and so try a refund. Is this correct?

Transactions are settled every night so you can safely assume each night a transaction has been settled. So the rule of thumb is if the transaction to be refunded happened before midnight PST you need to void it. If it happens after that you need to issue a refund.

Is there any expiry date for refund a transaction?

Six months. After that Authorize.Net will not allow it to go through to prevent their system from being used as a payment service.

John Conde
  • 217,595
  • 99
  • 455
  • 496
  • 1
    I'm using CIM with php. In the authorize.net php sdk CIM.markdown they gave this example for void a trasaction: $transaction = new AuthorizeNetTransaction; $transaction->transId = $transactionId; $response = $request->createCustomerProfileTransaction("Void", $transaction); Like this how to refund a transaction? – Harish Ambady Dec 02 '12 at 12:49
  • 1
    `$request->createCustomerProfileTransaction("Refund", $transaction);` – John Conde Dec 02 '12 at 20:11
  • I tried this.but didn't get any response, not even error message. My current account is a developer test account, don't know whether problem is because of that. – Harish Ambady Dec 05 '12 at 04:56