Forums / PayPal Express Checkout support / Partial Refund Refused

Partial Refund Refused

Results 1 to 10 of 10
22 Apr 2011, 05:52
#1
ricm avatar

ricm

New Zenner

Join Date:
Mar 2011
Posts:
51
Plugin Contributions:
0

Partial Refund Refused

Hi,

v 1.3.9h here running PayPal Express Checkout only and selling only downloadable goods. Still in user test here and using a sandbox.

Suppose for argument a customer buys a download product that is "not as described" and I cannot apply a remedy so I provide a refund. If there is only the one item on the order and I choose full refund, the refund is processed without error.

If however the item is part of a larger order and I do a partial refund for that item alone I get the error message:
"Your Refund Request was rejected by PayPal. (Transaction refused) 10009"

I have checked other posts and not found a reference. However a Google Search revealed: "Table B.7 - Authorization & Capture API Error Messages" in:

http://www.paypalobjects.com/en_US/ebook/PP_NVPAPI_DeveloperGuide/Appx_errorreference.html

The explanation is:

10009 - Transaction refused - Account is locked or inactive -
Retry the request at a later time or close order.

I have retried later and also with a different order and the outcome is the same.

Here are the Paypal Settings:

Enable this Payment Module
True

Sort order of display.
0

Payment Zone
--none--

Express Checkout Shortcut Button
Off

Set Order Status
Processing [2] [COLOR="Red"]<== as recommened and whilst downloads remaining >0


Set Unpaid Order Status
Pending [1]

Set Refund Order Status
Pending [1]

Express Checkout: Require Confirmed Address
No

Express Checkout: Select Cheapest Shipping Automatically
Yes

Express Checkout: Skip Payment Page
No

Express Checkout: Automatic Account Creation
No

Payment Action
Final Sale

Transaction Currency
Selected Currency

PayPal Page Style
Primary[/COLOR]


Any thoughts?

Thanks,
Ric
22 Apr 2011, 09:58
#2
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Partial Refund Refused

There are some known quirks with the partial-refund interface, which will be fixed in the next version.
In the meantime, you can do your partial refund from your PayPal account screens, and your store will be notified of the adjustment just as if you'd done it from within your store.
22 Apr 2011, 10:26
#3
ricm avatar

ricm

New Zenner

Join Date:
Mar 2011
Posts:
51
Plugin Contributions:
0

Re: Partial Refund Refused

Many thanks for the response. Are we looking towards 1.3.9i or 1.4 or 2.0? Where can I find a roadmap/timescale of future releases?

Thanks again,
Ric
22 Apr 2011, 12:26
#4
gjh42 avatar

gjh42

Black Belt

Join Date:
Jul 2005
Posts:
21,876
Plugin Contributions:
6

Re: Partial Refund Refused

The next release is scheduled to be v1.5, incorporating PA-DSS requirements effective in Julyish, so it should be out by then at least in beta...
22 Apr 2011, 12:40
#5
ricm avatar

ricm

New Zenner

Join Date:
Mar 2011
Posts:
51
Plugin Contributions:
0

Re: Partial Refund Refused

I tried the refund option in PayPal and it works. I am quite impressed that the transaction is reflected back into Zen Cart - this keeps the customer's account as well as accounting neat and tidy.

...and it looks as though the customer is reimbursed for the gross amount (and hence is (correctly) not charged a fee for something not of their own making). The % portion of the fee charged to the seller is also refunded (which is also correct).

With regard to the selling of downloadable products the quantity remaining and their staus is left untouched. Presumably the correct order of processing is to set the item to "Expired" to prevent further downloads, then issue the refund?

Thanks Ric

PS: I have just received a reply to the previous post regarding the next release: 1.5, beta, summer 2011. In the meantime I have a perfectly satisfactory workaround.
22 Apr 2011, 16:57
#6
ricm avatar

ricm

New Zenner

Join Date:
Mar 2011
Posts:
51
Plugin Contributions:
0

Re: Partial Refund Refused

I should add that a refund appears to reset the status to pending. If this is not changed any downloads against items not being refunded wll remain disabled.

I think the correct order of processing for DOWNLOADABLE PRODUCTS is something like:

In admin --> cutomers --> orders --> select order --> edit

  1. Set the order status to "pending"
  2. Refresh the screen
  3. If there have been no downloads against the products for which a refund has been agreed, set the products against which a refund will be issued to "Expired Count" by clicking the green icon. The icon will change to yellow.
  4. Go to PayPal and action the refund
  5. Return to ZC and confirm the PayPal refund transaction has been actioned.
  6. Set the order status to "processing" .


The items against which a refund is not being issued will once again become available for download.

This procedure simply protects the seller from opportunistic buyers trying to obtain a download for free.

Ric
22 Apr 2011, 19:32
#7
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Partial Refund Refused

The refund option is just a rudimentary feature at this stage. It will receive some love in future versions where we enhance the whole order-status system to allow for things like partial refunds to specific line-items and ideally even order-edits.
Until then, you'll have a little bit of manual adjusting you'll need to do if you're doing refunds to customer orders.
22 Apr 2011, 19:34
#8
ricm avatar

ricm

New Zenner

Join Date:
Mar 2011
Posts:
51
Plugin Contributions:
0

Re: Partial Refund Refused

Thank you DrByte,

I look forward to that. In the meantime I am happy with the workaround.

Regards,
Ric
12 Dec 2011, 13:15
#9
david_allen avatar

david_allen

Zen Follower

Join Date:
Feb 2008
Posts:
141
Plugin Contributions:
0

Re: Partial Refund Refused

I have just come accross the same problem with a partial reund, and thought I share my workaround to enable it to work.

I also recieved error code 10009, but this has many errors assosiated with it. So I turned loging on and looked at the CURL log, which showed error 10009 - with the text 'The partial refund must be the same currency as the original transaction'.

My store only accepts GBP so I did a quick and dirty edit to paypal_curl.php to add the currency as one of the parameters - and bingo - it worked.!!

So code to change - in paypal_curl.php within the function RefundTransaction (about line 257)
Change this
      if ($amount != 'Full' && (float)$amount > 0) {
        $values['REFUNDTYPE'] = 'Partial';
        $values['AMT'] = number_format((float)$amount, 2);
      } else {
        $values['REFUNDTYPE'] = 'Full';
      }
to this (added line in red)
      if ($amount != 'Full' && (float)$amount > 0) {
        $values['REFUNDTYPE'] = 'Partial';
        $values['AMT'] = number_format((float)$amount, 2);
          $values['CURRENCY']='GBP';
      } else {
        $values['REFUNDTYPE'] = 'Full';
      }
I'm guessing that if you accept multiple currencies you'd have to pick up the currency from the order and pass it into the function as a parameter.

Hope this helps - it worked for me
12 Dec 2011, 20:54
#10
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Partial Refund Refused

The problem is fixed in the v1.5.0 release. IIRC a currency-agnostic fix was also posted on the forum several months back.