From: "Mauricio Tavares" <[email protected]>
On Wed, Dec 23, 2009 at 1:29 AM, Abdullah Shaikh
<[email protected]> wrote:
I haven't worked with authorize.net or pccharge, the explanation inline is
general.
No worries; I really want to understand the general behaviour.
Also, just to make sure I understand the terminology, sale = authorize
(allocate/reserve the money in the customer's account but do not
charge yet) + capture (converts the allocation into a
charge/payment/whatever you want to call it), right?
Yes, that's it
Jacques
- Abdullah
On Wed, Dec 23, 2009 at 9:48 AM, Mauricio Tavares <[email protected]>wrote:
This is an easy question but I am completely confused: how do I
cancel/void and order? What I have noticed is that when you select an order
in the order manager that might have already be validated (or not), and you
have *not* captured it yet, it will show a [Cancel] button just before an
[Authorize] and a [Capture]. That [Cancel] button seems to call
document.CancelOrderPaymentPreference_10011.submit().
To cancel/void an order, you can use the [Cancel] button which gets
displayed just before an [Authorize] and a [Capture] button.
Once the capture is done, the [Cancel] and the [Authorize] buttons are
gone. Now, there is also a [Cancel Order] button on the top of the screen
(close enough) at all times, which then calls document.OrderCancel.submit().
Pressing either cancel buttons does not send a void (or any transaction for
that matters) to the payment gateway; it is only removing the selected order
from the list shown by the order manager. That does not make sense to me.
Yes, once the captute is done, the [Cancel] and the [Authorize] buttons
won't be displayed as the payment is already Captured and you can't
Cancel/Void or Authorize an already Captured payment.
I understand that you should not be able to authorize a captured
transaction since authorize precedes capture, but I cannot see why you
not be able to void transaction as long as it has not been settled yet
(ok, maybe I am looking at this differently than I should).
The [Cancel Order] button, the one at the top, should actually Cancel the
order and also send a Refund request to the payment gateway, I guess [Cancel
Order] button is displayed only once the payment is captured.
Actually I noticed it is there all the time in my ofbiz copy. In
fact, I have an order here I still need to authorize and the [Cancel
Order] button is there staring back at me.
That said, if the [Cancel Order] button send a Refund request to the
payment gateway, it should have sent the transaction to the gateway. I
am not seeing it. You see, I can see the xml transaction when the
authorize and capture steps take place, but I am not seeing anything
when I hit cancel. By that I mean no communication whatsoever from
ofbiz and the gateway. So, right now I really do not care what
pccharge or authorize.net expects to get when you tell it to refund,
but I want to see something being sent to the gateway. Anything. Right
now, even though I *thought* I had, say, configured every cc
transaction to use authorize.net
(http://picasaweb.google.com/raubvogel/Komputer#5418482066036283778),
the [Cancel Order] behaves as if it is being down internally or just
ignoring the part that it is supposed to talk to the payment gateway.
It doesn't remove the order from the list, actually the list is filtered,
you can select the filter option to display Cancel order or All orders.
Understood.
So how will the customer get his/hers/its money back? I tested that with
authorized.net and pccharge (using the patch created by Marco Risaliti)
and they both behave the same way.
The customer should get back the money in 2 ways one is Cance/Void or if
already Captured, then through Refund, as explained above.
I guess if the transaction is canceled/void, the customer should
get the money back *eventually* as the authorize should revert back
after a few days. But, I would like to have seen ofbiz trying to talk
to payment gateway when it should be refunding/voiding/whatever.
Hope this help.
- Abdullah