Marketplace apps
Marketplace apps
Sell your web application on the NewRich App Store without handing NewRich pre-generated license keys. Instead, you host a small license API on your app. When a customer checks out, App Store calls your API to issue an email-bound redemption code; the customer registers on your site to activate access.
Offerings are either one-time (lifetime) or recurring (subscription). Your license API must accept additive recurrence fields on every call and implement renew, revoke, and reactivate for the subscription lifecycle.
Who this is for
| Role | Responsibility |
|---|---|
| App developer | Implement the license API, X-Licensing-Api-Key validation, caller-domain allowlist, and customer registration page |
| NewRich team | Configure your product in App Store admin |
| Customer | Purchases on App Store, receives a redemption code, registers at your app |
End-to-end flow
Customer App Store Your app
| | |
|-- checkout ---->| |
| |-- POST /redemption_codes ->|
| |<-- { code, status } -------|
|<-- email code --| |
|-- register --------------------------------->|
| | | (code + email match)
| |-- POST .../renew --------->| (subscription renewals)
| |-- POST .../revoke -------->| (refund / cancel / past due)
| |-- POST .../reactivate ---->| (restore access)
- Customer completes checkout on App Store.
- App Store sends
POST {license_api_url}/redemption_codeswith the buyer's email, a uniqueorder_id, and recurrence fields (access_duration,billing_interval,term). - Your API returns a redemption
code(HTTP 200,success: true). - App Store emails the code to the customer.
- Customer opens your app at your registration page, enters the code and the same email used at checkout.
- Your app creates their account and grants access.
For subscriptions, App Store later calls renew when a paid period extends, revoke on refund/cancel/past due, and reactivate when access should be restored. Implement all four endpoints.
What you must build
| Deliverable | Example |
|---|---|
| License API | POST /api/v1/redemption_codes (+ renew, revoke, reactivate) |
| Recurrence fields | Accept access_duration, billing_interval, and term on every licensing POST |
| API key validation | X-Licensing-Api-Key header checked against LICENSING_API_KEY |
| Caller domain allowlist | Reject requests not from apps.newrich.com |
| Registration page | https://dashboard.yourapp.com/register |
Share your license API base URL and customer app URL with the NewRich team when onboarding. NewRich will provide the license API key privately for App Store to send on each request.
Next steps
Read the full contract and implementation checklist in License API.