Skip to main content

Webhooks - Refund

A purchase has been refunded.

note

This event is not trigerred for subscriptions still active, a subscription_expire event will be trigerred instead.
You can check the isRefunded property to detect a subscription expiring because of a refund.

note

This event is not trigerred for a refund due to a subscription replace.

note

We're refreshing every day the Google Voided Purchases API in order to detect refunds of Google subscriptions.
When you refund a subscription from the Google Play Console you must check the revoke option otherwise the refund won't be detected by IAPHUB.

Request body

ObjectThe latest transaction data related to the event. See the Get transaction API route response properties for details.
When processing a webhook, you can call the Get transaction API route to verify the transaction or refresh the data if the webhook was delayed and you’re concerned it might be outdated.

Example

{
id:"5e7fdfe22a3cff5084466e77",
type: 'refund',
version: '2.0.0',
createdDate:"2030-10-12T17:34:35.256Z",
data: {
id: '5da20ea9fbd92641ae8d0c02',
purchaseDate: '2030-10-12T17:34:33.256Z',
quantity: 1,
platform: 'android',
country: 'IT',
tags: {},
orderId: 'GPA.2209-1028-4637-1551',
app: '5d86507259e828b8fe321f7e',
user: '5d865c10c41280ba7f0ce9c2',
userId: '62785074-8f32-42a5-b86b-90dbd79ce212',
product: '5d86507259e828b8fe321f8b',
listing: '5d86507259e828b8fe321f32',
store: '5d86507259e828b8fe321f84',
currency: 'EUR',
price: 9.99,
convertedCurrency: 'USD',
convertedPrice: 11.15,
isSandbox: false,
isRefunded: true,
refundDate: '2019-10-13T17:34:33.256Z',
refundReason: 'other',
isSubscription: false,
productSku: 'pack10_tier10',
productType: 'consumable'
}
}