Backend Validation & Merchant API
Authenticate to the Onside Merchant API and validate transactions from your own backend.
Last updated
Was this helpful?
Was this helpful?
GET /merchant-api/v1/purchases/in-app/history/{order_id}
Authorization: Bearer <merchant JWT>{
"transactions": [
{
"app_account_token": "user-uuid-1234",
"bundle_id": "com.example.app",
"currency": "EUR",
"expires_at": null,
"order_id": "3e46c75a-7e04-4530-979a-e275f3a7c50c",
"original_order_id": "3e46c75a-7e04-4530-979a-e275f3a7c50c",
"original_purchase_date": "2025-12-26T10:00:00Z",
"price": 499,
"product_id": "remove_ads",
"product_slug": "remove-ads",
"product_type": "NON_CONSUMABLE",
"purchase_date": "2025-12-26T10:00:00Z",
"quantity": 1,
"revocation_date": null,
"revocation_reason": null,
"fetched_at": "2026-01-26T10:05:00Z",
"transaction_reason": "PURCHASE",
"user_country": "DE"
}
]
}https://onside.io/.well-known/jwks.json{
"transactions": [
{
"app_account_token": "user-uuid-1234",
"bundle_id": "com.example.app",
"currency": "EUR",
"expires_at": "2026-02-26T10:00:00Z",
"order_id": "3e46c75a-7e04-4530-979a-e275f3a7c50c",
"original_order_id": "3e46c75a-7e04-4530-979a-e275f3a7c50c",
"original_purchase_date": "2026-01-26T10:00:00Z",
"price": 999,
"product_id": "premium_subscription_monthly",
"product_slug": "premium-monthly",
"product_type": "SUBSCRIPTION",
"purchase_date": "2026-01-26T10:00:00Z",
"quantity": 1,
"revocation_date": null,
"revocation_reason": null,
"fetched_at": "2026-02-26T10:05:00Z",
"subscription_id": "sub-group-xyz",
"transaction_reason": "PURCHASE",
"user_country": "DE"
},
{
"app_account_token": "user-uuid-1234",
"bundle_id": "com.example.app",
"currency": "EUR",
"expires_at": "2026-03-26T10:00:00Z",
"order_id": "9b1d2c34-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"original_order_id": "3e46c75a-7e04-4530-979a-e275f3a7c50c",
"original_purchase_date": "2026-01-26T10:00:00Z",
"price": 999,
"product_id": "premium_subscription_monthly",
"product_slug": "premium-monthly",
"product_type": "SUBSCRIPTION",
"purchase_date": "2026-02-26T10:00:00Z",
"quantity": 1,
"revocation_date": null,
"revocation_reason": null,
"fetched_at": "2026-02-26T10:05:00Z",
"subscription_id": "sub-group-xyz",
"transaction_reason": "RENEWAL",
"user_country": "DE"
}
]
}