Purpl
Docs menu

Purpl Docs

Testing environments

Keep Xcode, Sandbox, and Production purchases separate during validation.

Xcode StoreKit

  • Local mode can test purchases and entitlements using only an Xcode StoreKit configuration.
  • When also testing a remote paywall, add the running app’s bundle ID as a development bundle ID in the Apple store setup.
  • After deleting or expiring a transaction, synchronize the app again and confirm that Purpl removes the entitlement.

Xcode transactions are stored in the Xcode environment and do not use Apple server notifications.

Store testing

Use the Sandbox environment for App Store Sandbox, TestFlight, and Google Play test purchases. Prepare the store test account and Sandbox notification connection first.

Verification checklist

  • The purchase is stored under the correct environment.
  • The entitlement mapped to the product becomes active.
  • Cancellation, expiration, or refund updates the entitlement state.
  • Configured Telegram or webhook destinations receive the required event.

Before release

Recheck the production bundle ID or package name, Production notification connection, and paywall identifier. Never include test credentials or purchase tokens in the app.