# Cashier integration

{% content-ref url="/pages/UgtVwQUsYiX7pfhaGyQN" %}
[Setting up a subdomain](/carouseller/cashier-integration/setting-up-a-subdomain.md)
{% endcontent-ref %}

Describes how to configure a dedicated cashier subdomain through Cloudflare. This includes connecting the main domain, transferring DNS records, creating A records for the cashier subdomain, enabling proxying and SSL mode, and verifying the connection setup.

{% content-ref url="/pages/YWJeZTXCwodBJZFA1TFd" %}
[Obtaining API Keys](/carouseller/cashier-integration/obtaining-api-keys.md)
{% endcontent-ref %}

Describes how to request and obtain an API key needed for authentication. This involves sending a request with parameters like `site_id`, `site_login`, `customer_ip`, `currency`, and a SHA-1 `signature` to a specified endpoint​.

{% content-ref url="/pages/W8HrLNuHzUMUrMfzLR3i" %}
[Integration methods](/carouseller/cashier-integration/integration-methods.md)
{% endcontent-ref %}

Covers two methods for opening the cashier: using an iFrame or the Cashier SDK. The iFrame method embeds the cashier interface within your site, while the Cashier SDK provides additional integration flexibility and control through JavaScript-based interaction with the cashier.

{% content-ref url="/pages/HmmUyTcYlqtI4lrAxZyM" %}
[Payment processing](/carouseller/payment-processing.md)
{% endcontent-ref %}

Explains the processes for checking deposit and payout possibilities. This involves sending specific requests (`check_deposit` for deposits and `request_payout` for payouts) to the gaming server, which then responds with approval or error codes based on the request parameters.

{% content-ref url="/pages/3RVrMGBiTs6LWxBHKi5O" %}
[Webhooks](/carouseller/payment-processing/webhooks.md)
{% endcontent-ref %}

Details the setup for receiving notifications (callbacks) about transaction statuses. After a transaction is confirmed by the payment system, a POST request is sent to the specified address with the transaction details. The system continues to send notifications until a successful response is received.

{% content-ref url="/pages/IcLc8EjbhMX6uJtjglq0" %}
[Report request](/carouseller/payment-processing/report-request.md)
{% endcontent-ref %}

Outlines the asynchronous process for requesting transaction reports. Clients must first request the report, check the report status, and then download the completed report. This ensures efficient handling of large data sets.

{% content-ref url="/pages/WCPcDdrvbnep7x5UGFSO" %}
[Tracking user's activity in the cashier](/carouseller/payment-processing/tracking-users-activity-in-the-cashier.md)
{% endcontent-ref %}

Discusses how user actions within the cashier are tracked and transmitted to the parent window. This includes actions like selecting a menu item, changing payment amounts, or opening a payment method.

{% content-ref url="/pages/zMvgeOoa412SaIhYiDqH" %}
[User reset conditions](/carouseller/payment-processing/user-reset-conditions.md)
{% endcontent-ref %}

Describes how to reset user information via API. A POST request with `site_id`, `site_login`, and `signature` parameters is sent to reset user rotation, with the server responding with success or error messages.

{% content-ref url="/pages/zTSAAMC5H3ThRo2dUHnd" %}
[Signature](/carouseller/payment-processing/signature.md)
{% endcontent-ref %}

Explains the algorithm for generating request signatures using the SHA-1 hash function. It covers the rules for constructing the signature string from query parameters to ensure data integrity and authenticity​.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.carouseller.com/carouseller/cashier-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
