Go to your dashboard’s revenue settings to configure webhooks. Rev Reporting Pn You have 3 options (only do one of them):

1) App Store Server Notifications

This option is recommended if you are using StoreKit to handle your purchases.
Send purchase events direct from Apple to Helium. Follow the instructions shown under App Store Connect Configuration. If you already consume these events on your own server, then consider the Forward option below. In your SDK integration, be sure to use one of the pre-built delegates (StoreKitDelegate/RevenueCatDelegate) or the heliumPurchase method in your custom delegate for proper tracking of purchases.

2) RevenueCat Webhooks

This option is recommended if you are using RevenueCat to handle your purchases.
Use RevenueCat webhooks to send purchase events to Helium. Follow the instructions shown in the web app under RevenueCat Webhook Configuration. In your SDK integration, make sure to provide a revenueCatAppUserId when you call the Helium initialize function.

3) Forward App Store Server Notifications

This option is recommended if you are using StoreKit to handle your purchases but want to consume .App Store Server Notifications on your own server and forward those events to Helium.
In your dashboard’s revenue settings under the section App Store Connect Configuration grab the Webhook URL and use that value in your forwarding code. Wherever you consume webhook events for App Store Server Notifications, you’ll want to add a snippet of code that forwards the exact, unmodified ASSN payload to Helium. Here is some example forwarding code. Reach out to Helium support if you have any questions.
const express = require('express');
const axios = require('axios');
const app = express();

app.use(express.json());

app.post('/assn-webhook', async (req, res) => {
  try {
    const response = await axios.post(
      'your-helium-webhook-url-here',
      req.body,
      {
        headers: { 'Content-Type': 'application/json' },
        timeout: 5000
      }
    );
    
    console.log('Successfully forwarded webhook');
    res.status(200).json({ success: true });
  } catch (error) {
    console.error('Failed to forward webhook:', error.message);
    res.status(500).json({ error: 'Failed to forward webhook' });
  }
});
You may want to extract the pk value from the Webhook URL as an environment variable to avoid storing in version control.