Gamers can use in-app purchases to unlock epic virtual loot such as premium content and digital assets—all without leaving the gaming action. It's secure, it's seamless, and it keeps you in the game!
Elevate your gaming experience with in-app purchases, ensuring a seamless and secure journey powered by the top-tier commerce and payment system, Stripe, and the Elixir Native Wallet. Easily manage your gaming loot and purchases—all part of the ultimate gaming setup.
✨ Effortless Integration - With our user-friendly overlay, integrating in-app purchases has never been smoother. Just a few simple steps, and you're ready to roll!
⚙️ Developer-Friendly SDK - Our SDK is designed with you in mind. Seamlessly blend it into your game, enhancing the user experience without breaking a sweat.
🤑 Including FIAT & Crypto - Our In-App purchases system allows users to pay using FIAT with Stripe or Crypto using their Elixir Native Wallet.
Our IAP system introduces an overlay seamlessly integrated into the gaming interface, allowing users to make purchases without leaving the gaming environment and optimizing user engagement by simplifying the purchase process.
Let gamers dive into the gameplay before deciding to make a purchase. Players are more likely to invest in premium in-game items or additional features after they've had a chance to savour the gaming experience and recognize its value.
Keep it simple with clear product names and straightforward descriptions. Easy-to-find titles and plain, direct language make it a breeze for gamers to discover and enhance their gaming arsenal
Encounter any challenges or have questions about implementation? Reach out to our technical team for prompt and expert assistance. We're here to help you optimize your in-app purchase system, enabling you to focus on creating captivating gaming experiences.
For gamers navigating the purchase process, our 24-hour customer support is ready to assist with any inquiries or concerns. We understand the importance of a seamless user experience, and our support team is dedicated to resolving issues promptly, ensuring gamers have a hassle-free time enjoying their games.
Concerns about refunds? We've got you covered. Our In-App Purchases service seamlessly integrates with the Stripe system and our Internal refund service for Elixir Native Wallet purchases, allowing for efficient and secure refund processes. This ensures transparency and reliability for both developers and users.
Utilize our API to access product details, seamlessly integrate in-app purchases within your game, effectively administer content access, and securely receive transaction information signed by Elixir Store. This documentation provides guidance on implementing these features for a streamlined integration process.
The integration and utilization of the Elixir SDK Auth constitute mandatory prerequisites for engaging with the In-App Purchases system. Eligibility for leveraging the In-App Purchases system is contingent upon the association of Elixir accounts with respective internal accounts.
Create your in-app purchases store effortlessly by adding metadata, including product name, description, price, and currency, and submit it for review. Submit your products for review following our review guidelines. Additionally, generate essential in-app purchase keys to facilitate the processing of Elixir Store-signed transactions. This documentation guides you through the steps required for a seamless implementation.
Incorporate in-app purchase capability seamlessly into your Unity or Unreal game. Our testing environment within the editor enables you to replicate overlay events, facilitating in-app purchase testing without incurring charges through test accounts. Validate your implementation by thoroughly testing each aspect of your code using your game to initiate in-app purchases.
For additional testing, explore your game and in-app purchases on the internal Develop branch.
Receive the purchase status and validation in your backend system. Check the Elixir Store signature and appropriately allocate the items to the respective players. This documentation provides instructions on seamlessly implementing these backend processes for efficient handling of in-app purchases.
At the Developer dashboard, navigate to the Store
Click in the (+) button to add a new store
Select the Game you want to start selling products
Add the Game Backend URL, then click Submit
The Server URL represents the game backend endpoint where the post-payment webhook from Elixir Store will be sent.
After creating a store for a game, a unique pair of API keys will be generated in the background, that can be accessed in the Game API keys section. There you can edit the server webhook endpoint and access your public key.
The integration and utilization of the Elixir SDK Auth constitute mandatory prerequisites for engaging with the In-App Purchases system. Eligibility for leveraging the In-App Purchases system is contingent upon the association of Elixir accounts with respective internal accounts.
Following the creation of a store for your game and the upload of several products, the next step involves implementing the system within your game.
Initially, it is imperative to ensure the integration of Elixir SDK. Only games with the Elixir SDK integrated will be granted access to the In-App Purchases system. This mandates the linking of the in-game user account to their Elixir Account.
The build uploaded to Elixir needs to disable the option to log out. This measure is crucial to guarantee the security and reliability of the In-App Purchases system.
Once the Elixir SDK, including the account linking, is seamlessly integrated into your game, you are primed to commence the specific overlay integration following the SDK docs.
For testing the In-App Purchases system within your game, our SDK Events simulator facilitates the replication of overlay communication with the game. This approach enables the game to respond appropriately to each event, enhancing the overall user experience.
Generating an in-app purchase key enables Elixir to authenticate and validate requests between the client and server or server-to-server, specifically about in-app purchases. This includes authentication for Elixir Store server webhooks designed for post-payment events.
Go to your Game API Keys section
Scroll to the In-App Purchases Key
Click on the "Edit" button and modify the input
To secure the server-to-server communication for in-app purchase post-payment events, we employ an RSA signature process. The client possesses the capability to validate the signed webhook received from the Elixir Store server using their public key.
//
{
"order": { // List of products purchased in the order
"products": [
{
"_id": "65413fd1bb194c67b621c1ca",
"sku": "candies-250", // SKU of the product
"name": "250 Candies (Tinies)",
"description": "",
"imageUrl": "example", // Product image URL
"status": "ACTIVE", // Product status
"category": "IN_APP", // Product category
"disabled": false, // Product is enabled
"clientId": "tinies", // Client ID
"createdAt": "2023-10-31T17:56:33.410Z",
"updatedAt": "2023-10-31T17:56:33.410Z",
"price": 50, // Total price (considering quantity and discount)
"baseCurrency": null, // Base currency used in case of a conversion (set to null if there was no conversion)
"id": "65413fd1bb194c67b621c1ca", // Product ID
"quantity": 2, // Quantity of the product purchased
"unitBasePrice": 25, // Price of the product in unit
"discount": 0 // Product discount
}
],
"userId": "6a431244-4658-4532-8a06-178e41fff0e7", // ID of the user that did the purchase
"totalPrice": 50, // Total price of the order
"currency": "USD", // Currency of the order
"rate": 1, // Rate used in case there was a conversion of currency
"usdAmount": 50, // Total price in USD
"usdExchangeRate": 1 // USD exchange rate
},
"signature": "0cbdec9f50e1cd4..."
}
import { createPublicKey, createVerify } from 'crypto'
// Where message its a JSON.stringify from the order object
function verifySignature(signature: string, message: string): boolean {
try {
const publicKey = createPublicKey({
key: Buffer.from(
process.env['GAME_PUBLIC_KEY'] as string,
'hex'
),
type: 'spki',
format: 'der',
})
const verifier = createVerify('rsa-sha256')
verifier.update(message)
verifier.end()
const isVerified = verifier.verify(publicKey, signature, 'hex')
return isVerified
} catch {
return false
}
}
export { verifySignature }
Ensuring a seamless and secure transaction experience, our platform supports FIAT payments through Stripe, leveraging credit cards for traditional transactions. Additionally, for cryptocurrency enthusiasts, our platform integrates our Elixir Native Wallet, offering a cutting-edge solution for crypto-based in-app purchases.
We've designed a user-friendly UI that ensures a smooth payment experience for gamers. Within the game context and through the Elixir Overlay, users can effortlessly make payments using their saved card details or opt for a new payment method. This integration empowers game developers to monetize their creations while maintaining a cohesive and immersive gaming experience for their users.
This innovative feature ensures that users remain within the game context throughout the payment process. Through our Elixir Native Wallet system, gamers have the flexibility to pay using the balance available in their wallet.
These wallets are an integral part of our Account Abstraction Protocol, providing users with significant benefits. By using their wallets, users can save on transaction fees and gain access to discounted prices on in-app purchases. This not only enhances the user experience but also incentivizes users to make more in-app purchases.
Furthermore, game owners can sponsor these fees, motivating gamers to engage more actively with in-app purchases. This sponsorship system not only benefits gamers but also creates a win-win scenario for game developers and players, fostering a more vibrant and engaging gaming ecosystem.
See the Elixir In-App purchases policy before submitting a product for review to avoid getting rejected.