Magento – Magento and Authorize Suspected Fraud Credit Memo

authorize.netmagento-1.9orderspayment

When using authorize.net as payment gateway,

why does it set transaction_id to null on the invoice generated when authorize.net returns a suspected fraud code. Later when the transaction is approved on authroize.net and I run get payment update to so that it changes the magento order state to processing allowing me to ship the product which is all fine.

Then later if I need to perform a credit memo on this transaction I can't. After tracing all the conditionals in magento I realized it was because "transaction_id" is set to null on all authorize.net suspected fraud transactions. This needs to be set to 1 in order for the refund option to be given.

Are there any explanations on why the behavior is like this and if there are any solutions to this?

Best Answer

In your above scenario there is some more question arise.

  1. Your authorize.net set in which mode? authorize or authorize and capture?
  2. When authorize.net returns suspected fraud code at that time it actually capture the payment from customer or not? if not capture payment it should not generate invoice.
  3. When authorize.net approve transaction and you run get payment update your order state change to processing but at that time do you get any transaction_id in your response or not. if you get and your invoice already generated might you need to update your invoice and fill the transaction_id pragmatically if you want to create credit memo online by using same authorize.net.

The easiest solution is to refund off-line if this happen rarely. to refund payment off-line and on-line also there is different way check below link for details Credit memo vs Refund Which one is true? Magento 1.9

Related Topic