zencart / zencart

Zen Cart® is a full-function e-commerce application for your website.
https://github.com/zencart/zencart/releases
Other
375 stars 233 forks source link

No Customer ID for Refund Process #2438

Closed Pan2020 closed 1 year ago

Pan2020 commented 5 years ago

image

So I'm not sure how effective the refund process is through Zen Cart GUI. The company using Authorize.net for processing orders. While we can do manual refunds via Authorize.net, but it would be better if refund can work through Zen Cart GUI.

On the form, it seems working, but process failed due to "No Customer ID" error. It made me wonder why it would happen. Does not it already have Customer ID on file? But, what about the "guest checkouts?" Especially, I am using the One-Page Checkout's Plugin and all guests are on same customer ID!

scottcwilson commented 5 years ago

Guest checkout via OPC is a mod to Zen Cart, not part of the core. Recommend closing this issue and asking @lat9 to provide a message in admin-orders-order details for guest orders saying refund must be done on the payment processor's site, not in Zen Cart.

lat9 commented 5 years ago

FWIW, I've looked into this and can't find anywhere where the "Customer ID is required." verbiage is defined.

Pan2020 commented 5 years ago

@scottcwilson

The thing is... the error occurred on customer's normal order with full account! Error occurred regardless whether checkout with normal Zen Cart process or @lat9 OPC process! Considering "Customer ID is required" is not truly define in Zen Cart, is it possible that it is due to Authorize.net requirement? If that is the case, how can this be solved or tell admin/merchants to refund on Authorize.net's Merchant Interface as suggested on it's support article?

scottcwilson commented 4 years ago

Can this issue be closed? @proseLA ?

proseLA commented 4 years ago

dr @scottcwilson; i am not sure. i have never made any comment on this issue, so i will have to plead ignorance on this specific matter. while i am familiar with authorize.net, and i am working on a new ZC module, i have never worked with OPC, although i have total respect for its author. my specific module deals with its implementation of CIM, and the required elements that i send for a refund being:

in addition, i have gone rogue (what a surprise) and have not investigated the ZC function of _doRefund. my module goes totally outside of that ZC function and does its own thing when it comes to refunds and voids. but it is well integrated within the ZC admin gui, without modifying any ZC code.

my work for my clients has been in the arena of CIM and the new API making use of XML as opposed to the key paired transactions currently employed by ZC.

the article referenced by @Pan2020 only deals with refund transactions done on the authorize.net website; not the API. and it sounds like @Pan2020 wants to be able to issue refunds from the ZC admin gui. which i think is a noble pursuit, and one that my module does.

in addition, if one were to look at the current API spec, there is nothing that suggests a customer ID is required. see: https://developer.authorize.net/api/reference/index.html#payment-transactions-refund-a-transaction

but one would need to provide the last four of the credit card in lieu of the customer_profileID and customer_paymentProfileID. but i do not do that; as my module is about CIM, and providing store owners the ability for customers to use a credit card on file that is tokenized and stored on the authorize.net servers.

as OPC is quite popular, i do plan on testing my module with it prior to submitting it to the ZC team for 'release into the wild.' i am also hopeful for testing it against a new v157 site prior to submitting to the ZC team.

i'm certain that does not answer your question. however, if there is a bigger waffle on the ZC github site, i would be glad to read it and compare notes...

HOWEVER, my opinion is that the initial screen shot provided by @Pan2020 is a bunch of CRAP (not them pointing it out, but i agree this is a problem). someone buys something, you charge them, you ship the product, the customer complains, you want to give the refund on that specific order and on that specific transaction. what would the store admin need to input anything other than the amount to refund?? you already have that information and requesting it again from the admin (or even worse the customer) is a lame way of doing business. but that's just my opinion....

best.

scottcwilson commented 1 year ago

Closing; not a bug in the Zen Cart core.