cashout_full_accepted
Goal: Send a full ticket cashout-inform and receive an accepted reply.
Sandbox module name: cashout_full_accepted. Prefer sendCashoutInform (goldens use cashout-inform); sendCashout routes to the same scenarios.
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-1")
.setDetails(CashoutDetails.newTicketCashoutDetailsBuilder()
.setTicketId("mock_cashout_full")
.setTicketSignature("sandbox-signature")
.setPayout(Payout.newCashPayoutBuilder()
.setAmount(new BigDecimal("10"))
.setCurrency("EUR")
.build())
.build())
.build())
.build();
CashoutInformResponse response = mbsSdk.getTicketProtocol().sendCashoutInform(request);
// expect: response.getStatus() == AcceptanceStatus.ACCEPTED, getCode() == 0Wire 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.type
"cashout"
Mandatory
string
No
content.cashout.cashoutId
"co-1"
Mandatory
string
No (echoed in reply)
content.cashout.details.type
"ticket"
Mandatory
string
No (routing: full)
content.cashout.details.ticketId
"mock_cashout_full"
Mandatory (sandbox)
string
No (routing; echoed)
content.cashout.details.ticketSignature
"sandbox-signature"
Mandatory
string
Yes
content.cashout.details.payout[].type
"cash"
Mandatory
string
Yes
content.cashout.details.payout[].amount
"10"
Mandatory
string
Yes
content.cashout.details.payout[].currency
"EUR"
Mandatory
string
Yes
Magic map: mock_cashout_full → customer_cashout_accepted.
Expected response
getStatus()
AcceptanceStatus.ACCEPTED
getCode()
0
getMessage()
"accepted" (sandbox)
getCashoutId()
"co-1" (echo)
getTicketId()
"mock_cashout_full" (echo)
Wire JSON (content type "cashout-inform-reply"):
Common mistakes
Using mock_cashout_rejected
Hits cashout_full_rejected
Partial details builder
Routes to cashout_partial steps
Wrong magic id / punter
Fallback -999
See also: Error responses in the parent manual.
Was this helpful?