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.1.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'
}
}