Google Android Refunds are coming back as "cancelled"

We just ran a test of Google In-App-Billing where we made a purchase, then “cancelled” it from our merchant interface at Google. This is basically the way to refund the purchase. When we monitor the response back to our client, much to our surprise, instead of getting a “refunded” event, we got a “cancelled” event.

The question is - is this a bug? Or, is this just the way Google works, and we should just deal/live with it?

Below are the 2 traces (from print statements) I got from my device. Hopefully they are self-explanatory.

Thanks!


Original Purchase Request:

I/Corona ( 8942): DEBUG: IAPUtil transactionCallback: Received event storeTransaction
I/Corona ( 8942): DEBUG: txn.state purchased
I/Corona ( 8942): DEBUG: txn.date Wed Oct 10 15:13:08 PDT 2012
I/Corona ( 8942): DEBUG: txn.identifier -3172582031326306949
I/Corona ( 8942): DEBUG: txn.productIdentifier com.sx.puzzingo.animals
I/Corona ( 8942): DEBUG: txn.receipt 666035658728184
I/Corona ( 8942): DEBUG: txn.originalDate:
I/Corona ( 8942): DEBUG: txn.originalID
I/Corona ( 8942): DEBUG: txn.originalReceipt
I/Corona ( 8942): DEBUG: txn.errorType none
I/Corona ( 8942): DEBUG: txn.errorString

Upon cancelled/refund:

I/Corona ( 9351): DEBUG: IAPUtil transactionCallback: Received event storeTransaction
I/Corona ( 9351): DEBUG: txn.state cancelled
I/Corona ( 9351): DEBUG: txn.date Wed Oct 10 15:13:08 PDT 2012
I/Corona ( 9351): DEBUG: txn.identifier 4988148081506781945
I/Corona ( 9351): DEBUG: txn.productIdentifier com.sx.puzzingo.animals
I/Corona ( 9351): DEBUG: txn.receipt 666035658728184
I/Corona ( 9351): DEBUG: txn.originalDate:
I/Corona ( 9351): DEBUG: txn.originalID
I/Corona ( 9351): DEBUG: txn.originalReceipt
I/Corona ( 9351): DEBUG: txn.errorType cancelled
I/Corona ( 9351): DEBUG: txn.errorString
[import]uid: 41124 topic_id: 31836 reply_id: 331836[/import]

@akao, if you cancel the transaction via merchant interface at Google, it will trigger “cancelled” event. If you refund the purchaser (after the transaction is fully processed) via merchant interface at Google, it will trigger “refunded” event.

Here’s how I can refund the transaction (instead of canceling it):

http://developer.coronalabs.com/forum/2012/04/16/help-goole-iap-need-check-transaction-callback-refunded-event#comment-101476

Naomi [import]uid: 67217 topic_id: 31836 reply_id: 127051[/import]

@Naomi Thanks for the helpful thread. However, when I go into my merchant interface, I don’t see the Refund button at all. See attached screenshot for an order that came in all the way back in August. All I see is a “cancel” button on the top left. There is separately a “refund some money…” link, is that the refund button you are referring to?

Appreciate your help!

https://dl.dropbox.com/u/14319758/GoogleAndroid-CancelOrderImage.png [import]uid: 41124 topic_id: 31836 reply_id: 127110[/import]

@akao, I haven’t done this for a while, and I don’t really remember exactly how it looked when I refunded my purchase to myself – and I sort of remember seeing a refund button (rather than the blue link like that), but I’d have to assume that’s the one you need to use. If you are testing it, why not try it?

BTW, I checked the merchant interface, and I see Cancelled under Order Details for cancelled transactions, and I see $0.99 refund for the refunded transaction. When I click on the $0.99 refund transaction and open the transaction screen, I see the very same Cancel entire order button (even though the money has already been refunded and the net revenue is 0) while Refund some money… link is grayed out. This leads me to believe Refund some money… link would actually do the job.

Naomi [import]uid: 67217 topic_id: 31836 reply_id: 127116[/import]

@akao, if you cancel the transaction via merchant interface at Google, it will trigger “cancelled” event. If you refund the purchaser (after the transaction is fully processed) via merchant interface at Google, it will trigger “refunded” event.

Here’s how I can refund the transaction (instead of canceling it):

http://developer.coronalabs.com/forum/2012/04/16/help-goole-iap-need-check-transaction-callback-refunded-event#comment-101476

Naomi [import]uid: 67217 topic_id: 31836 reply_id: 127051[/import]

@Naomi Thanks for the helpful thread. However, when I go into my merchant interface, I don’t see the Refund button at all. See attached screenshot for an order that came in all the way back in August. All I see is a “cancel” button on the top left. There is separately a “refund some money…” link, is that the refund button you are referring to?

Appreciate your help!

https://dl.dropbox.com/u/14319758/GoogleAndroid-CancelOrderImage.png [import]uid: 41124 topic_id: 31836 reply_id: 127110[/import]

@akao, I haven’t done this for a while, and I don’t really remember exactly how it looked when I refunded my purchase to myself – and I sort of remember seeing a refund button (rather than the blue link like that), but I’d have to assume that’s the one you need to use. If you are testing it, why not try it?

BTW, I checked the merchant interface, and I see Cancelled under Order Details for cancelled transactions, and I see $0.99 refund for the refunded transaction. When I click on the $0.99 refund transaction and open the transaction screen, I see the very same Cancel entire order button (even though the money has already been refunded and the net revenue is 0) while Refund some money… link is grayed out. This leads me to believe Refund some money… link would actually do the job.

Naomi [import]uid: 67217 topic_id: 31836 reply_id: 127116[/import]

@ Naomi. I think you may be right. I will give that a try later as well. Thanks again for the responses and help! [import]uid: 41124 topic_id: 31836 reply_id: 127445[/import]

@ Naomi. I think you may be right. I will give that a try later as well. Thanks again for the responses and help! [import]uid: 41124 topic_id: 31836 reply_id: 127445[/import]