Standard Integration
Learn how to receive payments on your application
Prerequisites
To get the most out of this guide, you’ll need to:
- Create an account on Creem.io
- Have your API key ready
1. Create a product
Go over to the products tab and create a product. You can add a name, description, and price to your product. Optionally you can also add a picture to your product that will be shown to users.
2 Create a checkout session
Once your product is created, you can copy the product ID by clicking on the product options and selecting “Copy ID”.
Now grab your api-key and create a checkout session by sending a POST request to the following endpoint:
Read more about all attributes you can pass to a checkout sesssion here
3. Redirect user to checkout url
Once you have created a checkout session, you will receive a checkout URL in the response.
Redirect the user to this URL and that is it! You have successfully created a checkout session and received your first payment!
4. Receive payment data on your Return URL
A return URL will always contain the following query parameters, and will look like the following:
https://yourwebsite.com/your-return-path?checkout_id=ch_1QyIQDw9cbFWdA1ry5Qc6I&order_id=ord_4ucZ7Ts3r7EhSrl5yQE4G6&customer_id=cust_2KaCAtu6l3tpjIr8Nr9XOp&subscription_id=sub_ILWMTY6uBim4EB0uxK6WE&product_id=prod_6tW66i0oZM7w1qXReHJrwg&signature=044bd1691d254c4ad4b31b7f246330adf09a9f07781cd639979a288623f4394c?
You can read more about Return Urls here.
Query parameter | Description |
---|---|
checkout_id | The ID of the checkout session created for this payment. |
order_id | The ID of the order created after successful payment. |
customer_id | The customer ID, based on the email that executed the successful payment. |
subscription_id | The subscription ID of the product. |
product_id | The product ID that the payment is related to. |
request_id | Optional The request ID you provided when creating this checkout session. |
signature | All previous parameters signed by creem using your API-key, verifiable by you. |
We also encourage reading on how you can verify Creem signature on return URLs here.
Expanding your integration
You can also use webhooks to check payment data dynamically in your application, without the need to wait for the return URLs, or have the user redirected to your application website.