# 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>
