> For the complete documentation index, see [llms.txt](https://docs.calypso.money/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.calypso.money/acquiring/customers/how-to-process-customer-transactions.md).

# How to process Customer transactions

When Calypso receives a client deposit you will receive webhooks with transaction statuses:

* The transaction pending in the mempool **(not guaranteed)** - **CUSTOMER\_PURSE\_MEM\_POOL\_FOUND**
* Transaction under compliance check - **CUSTOMER\_PURSE\_PENDING\_COMPLIANCE**
* The transaction failed compliance check and the deposit address is blocked for further deposits - **CUSTOMER\_PURSE\_COMPLIANCE\_DECLINED**\
  (transactionState: DECLINED)
* Transaction received successfully - **CUSTOMER\_PURSE\_FUNDS\_RECEIVED\_FOR\_PURSE**\
  (transactionState: CONFIRMED)
* After receiving webhooks with terminal statuses, check the transaction details and confirm the status using the method - **\[POST]** [**purse-transaction**](https://docs.calypso.money/api-reference/customer-purse-api#post-api-v1-customer-purse-transaction-get)

### Sequence

### **Transaction states**

<table><thead><tr><th width="320.20703125">Status</th><th>Сompliance State</th><th>Description</th></tr></thead><tbody><tr><td>MEM_POOL_FOUND <strong>(not guaranteed)</strong></td><td>UNCHECKED</td><td>The transaction pending in the mempool.</td></tr><tr><td>PENDING_COMPLIANCE_CHECK</td><td>IN_PROGRESS</td><td>Transaction under compliance check.</td></tr><tr><td>DECLINED</td><td>DECLINE</td><td>The transaction failed compliance check.</td></tr><tr><td>CONFIRMED</td><td>CHECKED</td><td>Transaction received successfully.</td></tr></tbody></table>

### Get Customer Purse Transaction example - [\[POST\] customer-purse/transaction/get](https://docs.calypso.money/api-reference/customer-purse-api#post-api-v1-customer-purse-transaction-get)

**Example of the get transaction data request**:

* Pass the required parameters in the request - "**account**/**transactionId**".

**Example of the get transaction data response**:

```json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "amount": 0,
  "currency": "string",
  "transactionHash": "string",
  "transactionState": "MEM_POOL_FOUND",
  "complianceState": "UNCHECKED",
  "translationToAccountCompleted": false,
  "createdDate": "2024-10-16T09:48:06.245Z"
}
```

### Webhook data examples:

#### **CUSTOMER\_PURSE\_FUNDS\_RECEIVED\_FOR\_PURSE**

```
{
  "requestId": "a381f753-3079-4214-9720-b416fc35ca10",
  "id": 1331293,
  "createdDate": "2025-10-30T14:08:39.96068",
  "level": "INFO",
  "service": "CUSTOMER_PURSE",
  "eventType": "CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSE",
  "data": {
    "type": "CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSE",
    "amount": 2,
    "purseId": "0a510bef-6b87-4d85-b803-6af87d5fb996",
    "currency": "USDT_TRX",
    "customerId": "acf0e319-3054-47fa-8117-12691a568359",
    "createdDate": "2025-10-30T14:08:39.960302001",
    "senderAddress": "internal withdrawal address",
    "transactionId": "123dce78-2ca9-4e94-b657-5751c95cabd6",
    "customerBlocked": false,
    "transactionHash": "0xe9dce5e6e602f900f14b209ec8800cf62f7def380f53723905a7724c8c22523a"
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.calypso.money/acquiring/customers/how-to-process-customer-transactions.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.
