Billing

Adapty

Connect Adapty so subscriptions, one-time purchases, renewals, and refunds attach to the creator who drove the install. Work in Tap App Link first, then click through the Adapty dashboard with the values you copied.

Vendor reference: Adapty webhook docs · Dashboard: https://app.adapty.io

1. Copy the URL from Tap App Link

  1. Open your app, then Revenue Tracking.
  2. Switch the workspace to the environment you are connecting (Sandbox or Production). Each environment has its own URL and secret.
  3. Select Adapty and generate a signing secret.
  4. Copy the webhook URL and the Authorization value shown next to it.

2. Identify in your app

After trackInstall(), call setAppUserId() with Adapty customer_user_id. The id on the webhook has to be the same string.

  1. Call Adapty.identify with a stable customer_user_id you control (your logged-in user id).
  2. Pass that same string to setAppUserId. Webhooks send customer_user_id. Tap App Link also accepts profile_id if customer_user_id is empty.
  3. Call setAppUserId immediately after trackInstall, before the first purchase.
await TapAppLink.trackInstall();
await adapty.identify(myUserId);
await TapAppLink.setAppUserId(myUserId);

3. Adapty dashboard

  1. Open Integrations, then Webhook in the Adapty dashboard.
  2. Turn the integration on.
  3. Adapty uses one form with separate Production and Sandbox fields. Fill each pair from the matching Tap App Link environment.
  4. For Tap App Link Production: paste the production webhook URL into Production endpoint URL, and the production Authorization value into Authorization header value for production endpoint.
  5. For Tap App Link Sandbox: paste the sandbox webhook URL into Sandbox endpoint URL, and the sandbox Authorization value into Authorization header value for sandbox endpoint.
  6. Paste each Authorization value exactly as copied, including the word Bearer. Adapty does not add Bearer for you.
  7. In Events names, leave Adapty's default event ids. Renaming them means Tap App Link will ignore those events.
  8. Enable the event types in the list below. Extra enabled events are ignored.
  9. Save. Adapty immediately POSTs an empty JSON object {} to the URL. Tap App Link replies 2xx with JSON, which completes Adapty's verification.

Paste the copied value into Authorization header value for the matching Adapty environment. Include the word Bearer. Adapty sends that string as the Authorization header with no extra prefix.

4. Events to keep enabled

Leave these event types on. Extra events are ignored. Unknown names return 2xx so the provider does not retry forever.

5. Discount codes (optional)

Map discount.billingOfferId to an Adapty placement or paywall id and present that paywall after getOffer() or applyCode().

Full product guide: Discount codes.

6. Verify in sandbox

  1. Switch Tap App Link to Sandbox and open the Live Attribution Debugger.
  2. Start a link session, scan the QR, then launch the test build with the sandbox SDK key.
  3. Confirm the timeline reaches install matched and billing customer linked. If you retry, call resetForTesting() in debug builds first.
  4. Trigger a sandbox purchase and confirm a paid event on the timeline.

Other providers

RevenueCat · Superwall · Qonversion · Billing overview

Questions: support@tapapplink.com.