cashout_full_rejected
Goal: Send a full ticket cashout-inform and receive a rejected reply with code -204.
Sandbox module name: cashout_full_rejected.
How to build the request (Java SDK)
Java example
import com.sportradar.mbs.sdk.entities.cashout.CashoutDetails;
import com.sportradar.mbs.sdk.entities.common.AcceptanceStatus;
import com.sportradar.mbs.sdk.entities.payout.Payout;
import com.sportradar.mbs.sdk.entities.request.CashoutInformRequest;
import com.sportradar.mbs.sdk.entities.request.CashoutRequest;
import com.sportradar.mbs.sdk.entities.response.CashoutInformResponse;
import java.math.BigDecimal;
CashoutInformRequest request = CashoutInformRequest.newBuilder()
.setCashout(CashoutRequest.newBuilder()
.setCashoutId("co-rej")
.setDetails(CashoutDetails.newTicketCashoutDetailsBuilder()
.setTicketId("mock_cashout_rejected")
.setTicketSignature("sandbox-signature")
.setPayout(Payout.newCashPayoutBuilder()
.setAmount(new BigDecimal("999999"))
.setCurrency("EUR")
.build())
.build())
.build())
.build();
CashoutInformResponse response = mbsSdk.getTicketProtocol().sendCashoutInform(request);
// expect: REJECTED, getCode() == -204Payout amount is not used for routing; any cash payout satisfies the schema.
Wire JSON (what the SDK sends)
operatorId
9985
Mandatory
integer
Yes
correlationId
"corr-1"
Mandatory
string
No (echoed in reply)
timestampUtc
1710000000000
Mandatory
integer
Yes
operation
"cashout-inform"
Mandatory
string
No
version
"3.0"
Mandatory
string
No (echoed in reply)
content.type
"cashout-inform"
Mandatory
string
No
content.cashout.cashoutId
"co-rej"
Mandatory
string
No (echoed in reply)
content.cashout.details.type
"ticket"
Mandatory
string
No (routing: full)
content.cashout.details.ticketId
"mock_cashout_rejected"
Mandatory (sandbox)
string
No (routing; echoed)
content.cashout.details.ticketSignature
"sandbox-signature"
Mandatory
string
Yes
content.cashout.details.payout
(cash payout)
Mandatory
array of object
Yes
Magic map: mock_cashout_rejected → customer_cashout_rejected.
Expected response
getStatus()
AcceptanceStatus.REJECTED
getCode()
-204
getMessage()
"Cash-out amount is too high"
getCashoutId()
"co-rej" (echo)
getTicketId()
"mock_cashout_rejected" (echo)
Wire JSON (content type "cashout-inform-reply"):
Handle with if on CashoutInformResponse (not try/catch).
Common mistakes
Using mock_cashout_full
Hits cashout_full_accepted
Expecting amount-driven reject
Sandbox rejects by route (customer_cashout_rejected), not by comparing payout
Wrong magic id / punter
Fallback -999
See also: Error responses in the parent manual.
Was this helpful?