I am interested about the difference between Reversed and Refunded values for payment_status on IPN messages? I saw an official description on PayPal IPN variables page, but I don't understand the difference. According to this answer Refunded is called after Reversed. Is this true?
refunded: you refunded it
reversed: PayPal reversed it on a dispute. If you win the dispute this is followed by cancel-reverse.
Related
I am integrating PayPal with my site and testing in sandbox.
When the buyer opens a dispute in PayPal Resolution Center to requests a refund, then we receive an IPN with payment_status = Reversed (the refund amount requested by the buyer is removed from the seller's account balance).
Then if the seller agrees to send the full refund, closing the case, then we receive an IPN with payment_status = Canceled_Reversal (the refund amount requested by the buyer is returned to the seller's account balance) and another IPN with payment_status = Refunded (the refund amount requested by the buyer is removed from the seller's account balance and finally returned to the buyer's account balance).
This is the IPNs' payment_status sequence for such case: Reversed > Canceled_Reversal > Refunded
However, the issue occurs when the seller offers a different refund amount to the buyer, who agrees with it, getting the offered amount back and closing the case.
This is the IPNs' payment_status sequence for such case: Reversed > Refunded
It seems to me that the IPN with payment_status = Canceled_Reversal is missing. I need it for financial purposes.
What is wrong? Am I misunderstanding anything?
I've been testing PayPal payments and received the IPN as expected on my staging/sandbox environment. However I noticed that the IPN for refunds are not being sent. I have verified this against my application as well as the Sandbox business account and the IPN history only shows the payment but not the refunded IPN. The payment history do however reflect the refunded status of the payments.
Can someone tell me if this is an expected behaviour since both the IPN history and the payment records do not tally? Thanks.
This is similar to the issue reported on but there's been no reply since: PayPal refunds not generating IPN anymore
I would advise you to get in touch with the PayPal team to check on this. We will need more information to check on this. You may get back to us via the link below.
https://www.paypal-techsupport.com/app/ask
Thank you.
How is it possible?
txn_id value seller gets (by paypal ipn) is different than transaction number buyer gets on screen when he makes an order.
Are there two different id's for each transaction (client and shop)? or truely txn_id i am receiving is wrong?
Thanks a lot guys!
If the buyer is paying with PayPal directly (i.e. Express Checkout) then the buyer will get one transaction ID and you will get another. It's confusing but it's how PayPal chose to do it.
I'm coding a PayPal Express Checkout setup for a client, and see both "Processed" and "Completed" in PayPal's list of possible PAYMENTSTATUS response codes. The PayPal DoExpressCheckoutPayment API Doc describes them this way:
Completed – The payment has been completed, and the funds have been added successfully to your account balance.
Processed – A payment has been accepted.
I'm wondering whether I should treat "Processed" in the same way I would treat a Completed payment, or instead if it should be handled like a Pending payment. (EG: Will it eventually change to either Completed or something else?)
Thanks in advance for any help!
The status "Processed" is used for MassPayments. When Masspayments are successful you will get a IPN post with a payment_status of Processed.
I'm having the same doubts, but after researching I found no clear information from Pay Pal side that explains it better the difference.
What I did is treat the Processed status as a pending status imagining that at some point should evolve to Complete.
I take it this way because what Pay Pal leaves clear is that you shouldn't ship until the payment is Complete.
I'm having a hard time finding this out from the documentation. I have some code I've inherited which needs to get he payment amount from a Paypal IPN transaction. It's expecting the variable "auth_amount" from a Paypal IPN but is not getting passed this field. It looks to me from the Paypal docs as though I should be using the field "mc_gross" which is labelled as "Full amount of the customer's payment, before transaction fee is subtracted.".
The Paypal IPN docs describe the "auth_amount" field as "Authorization amount", which doesn't mean much to me.
I'm going to change it to use mc_gross, but I just want to check first that I'm not missing something silly?
Thanks!
Check this out:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_IPNandPDTVariables
mc_gross
Full amount of the customer's
payment, before transaction fee is
subtracted. Equivalent to
payment_gross for USD payments. If
this amount is negative, it signifies
a refund or reversal, and either of
those payment statuses can be for the
full or partial amount of the original
transaction.