## Debit The Debit request is used for providing information about the bet operation from the player. If the Debit request fails due to a non-business problem, such as a connection timeout, unavailable resource, network problems, etc., RubyPlay will immediately send the corresponding Cancel request to undo possible funds withdrawal from the player's balance. RubyPlay doesn't retry Debit requests. In case of non-determined (unpredicted) HTTP server errors with **HTTP Status Code 5xx (500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511)** from the wallet's side, RubyPlay will also immediately send the corresponding Cancel request to cancel the initial Debit request. RubyPlay doesn't retry the Debit requests in this situation as well. It is also possible to explicitly trigger the Cancel request for canceling the Debit request apart from responding with HTTP Status Code 5xx. For this purpose, the response to the Debit request must contain HTTP Status Code 200 "OK" and the HTTP body must contain a "code" property equal to "501" (Retry / cancel triggered). If the Debit request receives the response with the HTTP Status Code 200 "OK" and the response code (described in the[ Response Codes](/content/integration/seamless-wallet-api/general/response-codes)) is considered failed (100, 101, 102, 103, 104, 105, 106, 107), RubyPlay will not send the Cancel request (because the Operator has already responded with the description of the problem). RubyPlay doesn't retry the Debit requests in this situation as well. **API Call Sample:** **Request Schema:** **Response Schema:**