> For the complete documentation index, see [llms.txt](https://docs.sportradar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sportradar.com/transaction30api/api-description/ticket-json-format-description/payment-requests.md).

# Payment Requests

<table><thead><tr><th width="115.0677490234375" align="center">Source</th><th width="55.919189453125" align="center"></th><th width="114.782958984375" align="center">Destination</th></tr></thead><tbody><tr><td align="center"><strong>Client</strong></td><td align="center"><strong>→</strong></td><td align="center"><strong>MTS</strong></td></tr></tbody></table>

Payment requests include the following specific requests:

* Balance change request - provides information about any changes to the end customer's wallet balance
* Deposit request - provides information about a deposit to a wallet (increase of the end customer's wallet balance)
* Withdrawal request - provides information about a withdrawal from a wallet (decrease of the end customer's wallet balance)

This data helps MTS maintain a profile of the end customer, which in turn enables MTS's clients to conduct automated marketing campaigns, analyse their services, manage end customer churn and more.

**Envelope and Content table:**

The Envelope provides the content's context and contains the following fields (besides Content):

* operatorId
* correlationId
* timestampUtc
* operation
* version

<table data-full-width="true"><thead><tr><th width="351">Example</th><th width="150.76995849609375">Field Name</th><th>Field Description</th><th width="100">Mandatory/ Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>{
</code></pre></td><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><pre><code>  "operatorId": 19036,
</code></pre></td><td>operatorId</td><td>ID to uniquely identify the client from which the ticket originated,<br>ID is provided to the client by Sportradar,<br>The client is obliged to include it in every ticket</td><td>M</td><td>Integer</td></tr><tr><td><pre><code>   "content": {
        .......
        .......
         }, 
</code></pre></td><td>content</td><td>See Content object description below</td><td>M</td><td>Object</td></tr><tr><td><pre><code>  "correlationId": "3l1qH8e3",
</code></pre></td><td>correlationId</td><td>Client defined string to facilitate the request-response pairing,<br>Sportradar is obliged to return the same string in the corresponding response</td><td>M</td><td>String</td></tr><tr><td><pre><code>  "timestampUtc":1703858850000,
</code></pre><p><br><br></p></td><td>timestampUtc</td><td>Timestamp of ticket placement as submitted by the client (Unix time in milliseconds format),<br>minimal: 1,<br>maximum: 9223372036854776000</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>  "operation": "balance-change-inform",
</code></pre></td><td>operation</td><td><p>Declaration of operation type, should be "balance-change-inform" in the case of a Balance change request or</p><p>"balance-deposit-inform" in the case of a Deposit request or</p><p>"balance-withdrawal-inform" in the case of a Withdrawal request</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>  "version": "3.0"
</code></pre></td><td>version</td><td>Indicates the ticket format version</td><td>M</td><td>String</td></tr><tr><td>}</td><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>

### Content object (Payment requests) <a href="#mtspaymentrequests-v3.0-contentcontentobject-paymentrequests" id="mtspaymentrequests-v3.0-contentcontentobject-paymentrequests"></a>

This object constitutes the request itself and contains the following fields:

* type
* balanceChangeId (or depositId or withdrawalId)
* walletId
* endCustomer
* status
* gateway
* amount
* initiatedAtUtc
* executedAtUtc
* source

**Content object table:**

<table data-full-width="true"><thead><tr><th width="351">Example</th><th width="170.59197998046875">Field Name</th><th>Field Description</th><th width="100">Mandatory/ Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "balance-change-inform",
</code></pre></td><td>type</td><td><p>Declaration of content type, should be "balance-change-inform" in the case of a Balance change request</p><p>or</p><p>"deposit-inform" in the case of a Deposit request or</p><p>"withdrawal-inform" in the case of a Withdrawal request</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "balanceChangeId": "BC_117281",
</code></pre></td><td><p>balanceChangeId</p><p>or depositId</p><p>or withdrawalId</p></td><td><p>Client defined string to identify the transaction type:</p><p>"balanceChangeId" in the case of a Balance change request or</p><p>"depositId" in the case of a Deposit inform request or</p><p>"withdrawalId" in the case of a Withdrawal inform request,</p><p>minimal string length = 1,<br>maximum length = 36,<br>allowed characters : uppercase and lowercase letters, numerals, :, -, _, \<br>Java regex: ^[0-9A-Za-z:\\-_]{1,36}$</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>     "walletId": Wallet_38209,
</code></pre></td><td>walletId</td><td>Client defined string to identify the wallet (ID or type),<br>minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>     "endCustomer": {
</code></pre></td><td>endCustomer</td><td>Data about client's end customer (bettor)</td><td>M</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>         "id": "endCustomer_e34t45",
</code></pre></td><td><ul><li>id</li></ul></td><td>End customer's unique ID (in client's system). It should be an anonymous value which cannot be used to identify a physical person.<br>minimal string length = 1,<br>maximum length = 36,<br>allowed characters are : uppercase and lowercase letters, numerals, #, :, -, _, \<br>Java regex: ^[0-9A-Za-z#:\\-_]{1,36}$</td><td>M</td><td>String</td></tr><tr><td><pre><code>         "confidence": "1.15"
           },
</code></pre></td><td><ul><li>confidence</li></ul></td><td>End customer's suggested CCF,<br>Java regex: ^\\d{1,8}(\\.\\d{1,8})?$</td><td>O</td><td>String</td></tr><tr><td><pre><code>     "status": "approved",
</code></pre></td><td>status</td><td><p>Enum:</p><ul><li>approved</li><li>rejected</li><li>pending</li><li>cancelled</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>     "gateway":  {
</code></pre></td><td>gateway</td><td>Not included if "type": "balance-change-inform"</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>         "provider": "PROVIDER_00345",
</code></pre></td><td><ul><li>provider</li></ul></td><td><p>Client specific gateway provider identifier,</p><p>Minimal string length = 1,<br>maximum length = 36,<br>allowed characters : uppercase and lowercase letters, numerals, :, -, _, \<br>Java regex: ^[0-9A-Za-z:\\-_]{1,36}$</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>         "referenceId": "2387321",
</code></pre></td><td><ul><li>referenceId</li></ul></td><td><p>Client specific gateway reference ID,</p><p>Minimal string length = 1,<br>maximum length = 36,<br>allowed characters : uppercase and lowercase letters, numerals, :, -, _, \<br>Java regex: ^[0-9A-Za-z:\\-_]{1,36}$</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>         "method": "credit-card",
</code></pre></td><td><ul><li>method</li></ul></td><td><p>Enum:</p><ul><li>credit-card</li><li>debit-card</li><li>prepaid-card</li><li>bank-transfer</li><li>e-wallet</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>         "initiatedAtUtc": 1703858776000,
</code></pre></td><td><ul><li>initiatedAtUtc</li></ul></td><td>(Unix time in milliseconds format),<br>minimal: 1,<br>maximum: 9223372036854776000</td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>         "executedAtUtc": 1703858780000
          },
</code></pre></td><td><ul><li>executedAtUtc</li></ul></td><td>(Unix time in milliseconds format),<br>minimal: 1,<br>maximum: 9223372036854776000</td><td>M</td><td>Integer</td></tr><tr><td><pre><code>     "amount": {
</code></pre></td><td>amount</td><td>Payment amount</td><td>M</td><td>Object</td></tr><tr><td><pre><code>        "value": "1890.05",
</code></pre></td><td><ul><li>value</li></ul></td><td>String pattern: 1 up to 8 digits, optionally followed by a decimal point and 1 up to 8 digits,<br>Java regex: ^\\d{1,8}(\\.\\d{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre><code>        "currency": "EUR"
        },
</code></pre></td><td><ul><li>currency</li></ul></td><td>3 or 4 letter currency code, BTC and mBTC are also supported (4 letters only apply to mBTC).<br>For more details please check<br><a href="https://www.iso.org/iso-4217-currency-codes.html">https://www.iso.org/iso-4217-currency-codes.html</a></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>     "initiatedAtUtc": 1703858775000,
</code></pre></td><td>initiatedAtUtc</td><td><p>Not included if "type": "balance-change-inform",</p><p>Unix time in milliseconds format,<br>minimal: 1,<br>maximum: 9223372036854776000</p></td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>     "executedAtUtc": 1703858780000,
</code></pre></td><td>executedAtUtc</td><td>Unix time in milliseconds format,<br>minimal: 1,<br>maximum: 9223372036854776000</td><td>M</td><td>Integer</td></tr><tr><td><pre><code>     "source":  {
</code></pre></td><td>source</td><td>Only included if "type": "balance-change-inform"</td><td><p>M</p><p>only if "type": "balance-change-inform"</p></td><td>Object</td></tr><tr><td><pre><code>        "type": "ticket",
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enum:</p><ul><li>ticket</li><li>deposit</li><li>withdrawal</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>        "id": "SRC_890",
</code></pre></td><td><ul><li>id</li></ul></td><td>Client defined source ID,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre><code>        "action": "place"
        }
     }
 },        
</code></pre></td><td><ul><li>action</li></ul></td><td><p>Only included if "type": "ticket",</p><p>Enum:</p><ul><li>place</li><li>payout</li></ul></td><td><p>M</p><p>only if "type": "ticket"</p></td><td>String</td></tr></tbody></table>


---

# 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.sportradar.com/transaction30api/api-description/ticket-json-format-description/payment-requests.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.
