NOP 4.60.3 - Authorize.net error when attempting partial refund

7 months ago
Hello everyone -

While testing the Authorize.net plugin(version 2.38) in NOP 4.60.3 (both via local debugging in VS and also via a test instance installed on a webserver), I'm getting the following error when attempting to process a partial refund from the NOP order screen back to Authorize.net (note that I'm using the Authorize.net sandbox) -

Any help would be greatly appreciated - thanks!
++++++++++++++++++++++++++++++++++++++++++++++++++++++
Error: Object reference not set to an instance of an object.. Full exception: System.NullReferenceException: Object reference not set to an instance of an object. at Nop.Plugin.Payments.AuthorizeNet.AuthorizeNetPaymentProcessor.RefundAsync(RefundPaymentRequest refundPaymentRequest) at Nop.Services.Payments.PaymentService.RefundAsync(RefundPaymentRequest refundPaymentRequest) in .....\Libraries\Nop.Services\Payments\PaymentService.cs:line 252 at Nop.Services.Orders.OrderProcessingService.PartiallyRefundAsync(Order order, Decimal amountToRefund) in ...\Libraries\Nop.Services\Orders\OrderProcessingService.cs:line 2939
7 months ago
Ok..... after some additional testing, I've determined what is causing the problem - if any of the Authorize.net "Fraud Detection Suite" options are set and triggered by the order, then it seems that NOP loses the ability to manage the transaction any further.

I have the plugin set to Authorize only.  If I hit any of the FDS checks that are set to either the “Authorize and hold for review” or “Do not authorize, but hold for review” option when placing an order, then the plugin doesn't know what to do with the transaction due to the statuses being generated by Authorize.net.

Can someone look into this and see if there's anything that can be done to the plugin to make it react in a cleaner manner when the FDS parameters are being used within Authorize.net?
7 months ago
Thanks for the info. We'll check it.