Skip to content
Apple App StoreApp StoreiOS refund defense

Refund defense for the App Store.

When a customer asks Apple for a refund, Apple asks you first. Refund Sensor connects to Apple's App Store Server Notifications, verifies every signed event, and submits a decline response on each consumption request inside Apple's window, then tracks every refund, reversal, and revoke with the same dashboards and analytics as Google Play.

  • Signed webhooks
  • No code changes
  • Free to start
Apple App Store
Live · iOS
The pipeline

From refund request to defended revenue

1
Notification received
Consumption, refund or revoke
2
Transaction hydrated
Product, price, storefront
3
Decline submitted
On consumption requests
4
Outcome tracked
Live in your dashboard
Why it matters

On the App Store, Apple asks before it decides

Apple is unusually generous with refunds, and most of them go through with no chance for you to weigh in. But on a consumption request, Apple pauses and asks whether the refund is warranted, sending a signed notification and waiting for your response. Miss that window and the refund is granted by default. Answer it well and you keep revenue you earned.

Refund Sensor never misses that window. It also keeps a record of the refunds Apple decides on its own, which is the part most teams have no visibility into at all, so you can finally see where iOS revenue is going and which products it leaks from.

Capabilities

Everything you need for iOS refund defense

Signed notification verification

Every App Store Server Notification V2 is JWS-verified against Apple's certificate chain before it touches your data, so nothing spoofed slips through.

Automatic consumption decline

When Apple opens a consumption request, we submit a consumption response with your decline preference through the App Store Server API, inside Apple's window, with no manual step.

Full refund lifecycle tracking

Refunds, declines, reversals, and revokes are all captured and reconciled against the transaction, so silent background refunds no longer slip past you. Apple decides these on its own, so they are recorded rather than contested.

One dashboard for both stores

App Store cases sit alongside your Google Play cases with the same timelines, success-rate analytics, and revenue-protected reporting.

No code changes

Everything runs through App Store Connect and Apple's server APIs. There is nothing to add to your app and no build to resubmit for review.

Encrypted, least-privilege access

Your App Store Connect key is encrypted at rest and used only to verify notifications and respond to refund requests. No user personal data is collected.

Prerequisites

What you need before you start

1

App Store Connect access

Permission to manage keys and server notifications for the app.

2

An in-app purchase .p8 key

Together with its issuer id and key id.

3

Five minutes in Apple's console

That is the whole integration effort.

How it works

From connect to first defended refund

Five steps, and only two of them happen in Apple's console.

  1. 1

    Add your app

    From the connect wizard, choose App Store. Paste your App Store URL to auto-fill the app details, or enter them manually.

  2. 2

    Upload your App Store Connect key

    Generate an in-app purchase .p8 key in App Store Connect under Users and Access, Integrations, then upload it here with the issuer id and key id. It is stored AES-256 encrypted.

  3. 3

    Paste your webhook URL

    Copy the webhook URL we show you into App Store Connect under App Information, App Store Server Notifications, Version 2, then save.

  4. 4

    Send a test notification

    Use App Store Connect's "Send test notification" to confirm the connection. Once we receive and verify it, the integration flips to Connected.

  5. 5

    Refunds start defending automatically

    From then on, every consumption request is answered with a decline preference in real time, and every other refund event is tracked in your dashboard.

FAQ

App Store refund questions

Consumption requests. When a customer asks Apple for a refund on a consumable or a recent purchase, Apple opens a consumption request and asks for your input before deciding. Refund Sensor answers those with a decline preference. Other refund events, such as a refund that is already granted, reversed, or a revoke, are final decisions Apple makes on its own, so Refund Sensor records them for reporting rather than contesting them.

No. Refund Sensor works entirely through App Store Connect and Apple's server APIs, so nothing changes inside your app and there is no build to resubmit for review. Existing customers are covered the moment you connect.

No. We work from the transaction, product, and financial details Apple provides, plus delivery and engagement signals. We do not collect your users' personal data, and secrets are encrypted at rest.

In real time, as the notification arrives. Apple leaves only a short window on a consumption request, about 12 hours, and one left unanswered is decided without your input. Because Refund Sensor replies automatically, that answer never depends on someone being awake, at a desk, or back from the weekend.

No. Everything happens server to server between Refund Sensor and Apple. Your app is untouched, nothing new appears in the purchase flow, and the customer simply sees Apple's decision the way they always have.

Apple App Store

Defend your App Store revenue

Connect your app and start answering iOS refund requests in real time. Free to start, no credit card, no code changes.