Financial_Credit
Thu Feb 17 2022 13:16:23 GMT+0000 (Coordinated Universal Time)
Saved by @nirmalkumar
<?xml version="1.0" encoding="utf-8"?> <html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd"> <head> <link href="../Resources/TableStyles/NewStyle.css" rel="stylesheet" MadCap:stylesheetType="table" /> </head> <body> <MadCap:breadcrumbsProxy MadCap:conditions="Default.Web" style="padding-bottom: 10px;border-bottom-style: solid;border-bottom-width: 1px;font-family: 'Segoe UI';border-bottom-color: #acacac;font-weight: bold;" /> <h1 class="main-container-header">Credit</h1> <table style="width: 100%;"> <col style="width: 859px;" /> <col style="width: 1141px;" /> <tbody> <tr> <td style="width: 100%;"> <!-- main - container start --> <div class="main-container"> <!-- main left content start --> <div class="main-content"> <h6>http://{evi-server-url}/Credit</h6> <p> </p> <p>The Credit request is used every time the player wins an amount inside a game. The operator commits the transaction in the Database and pass the new balance of the player.</p> <p> </p> <ul> <li> <p>A credit can't be made on a round that is not exist (didn't have Debit before)</p> </li> <li> <p>A credit can't be made on a round that is ended.</p> </li> <li> <p>In case of a credit with a transaction that was already sent and committed, an OK will be sent with the same old transaction Id, without committing the transaction again.</p> </li> <li> <p>In case of a Notification Error, the server must continue retry until receiving a successful response.</p> </li> <li> <p>Even if the current credit is a free round, the vendor must send the credit request with the correct BonusId.</p> </li> <li> <p>In case of network timeout or any network error in response must continue retry until receiving a successful response.</p> </li> </ul> <p> </p> <h2>POST Request</h2> <p> </p> <table style="mc-table-style: url('../Resources/TableStyles/NewStyle.css');margin-left: 0;margin-right: auto;" class="TableStyle-NewStyle" cellspacing="3"> <col class="TableStyle-NewStyle-Column-Column1" /> <col class="TableStyle-NewStyle-Column-Column2" /> <col class="TableStyle-NewStyle-Column-Column3" /> <thead> <tr class="TableStyle-NewStyle-Head-Header1"> <th class="TableStyle-NewStyle-HeadE-Column1-Header1"> <p>Parameter</p> </th> <th class="TableStyle-NewStyle-HeadE-Column2-Header1"> <p>Type</p> </th> <th class="TableStyle-NewStyle-HeadD-Column3-Header1"> <p>Comments</p> </th> </tr> </thead> <tbody> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>Account</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>Account</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>API username and password.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Token</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>The token that was returned in the Authenticate response.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>GameCode</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>Unique game code.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>PlayerId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>PlayerId</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>RoundId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>The ID of the specific round in the game.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>TransactionId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>A unique Transaction ID on the vendor side.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>DebitTransactionId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>The vendors transactionId of the debit.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Amount</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>Decimal</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>Credit Amount.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>IsRoundEnded</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>Boolean</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>An indication if the round ended. Once a round ends there can be no more credits or debits.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>BonusId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>The id of the bonus. In case the request is not a free round request, this parameter will not exist in the request.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>IsJackpotWin</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>Boolean</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>Flag if the win is a jackpot win. The default value should be ‘false’. ‘true’ value should be sent in case the</p> <p>win is coming from a jackpot.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>JackpotWinDetails</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>JackpotWinDetails Array</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>Represents the details for the jackpot win. The parameter is</p> <p>optional</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>JackpotWinDetails .JackpotId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>The unique identifier in the vendor’s system</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>JackpotWinDetails .JackpotName</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>The name of the jackpot</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyB-Column1-Body2"> <p>JackpotWinDetails.Amount</p> </td> <td class="TableStyle-NewStyle-BodyB-Column2-Body2"> <p>Decimal</p> </td> <td class="TableStyle-NewStyle-BodyA-Column3-Body2"> <p>The amount of the win for the current jackpot</p> </td> </tr> </tbody> </table> <p> </p> <h2>Response</h2> <table style="margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/NewStyle.css');" class="TableStyle-NewStyle" cellspacing="3"> <col class="TableStyle-NewStyle-Column-Column1" /> <col class="TableStyle-NewStyle-Column-Column2" /> <col class="TableStyle-NewStyle-Column-Column3" /> <thead> <tr class="TableStyle-NewStyle-Head-Header1"> <th class="TableStyle-NewStyle-HeadE-Column1-Header1">Parameter Type Comments</th> <th class="TableStyle-NewStyle-HeadE-Column2-Header1">Parameter Type Comments</th> <th class="TableStyle-NewStyle-HeadD-Column3-Header1">Parameter Type Comments</th> </tr> </thead> <tbody> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2">TransactionId</td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2">String</td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2">The unique TransactionId on the EVI side.</td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1">Balance</td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1">Decimal</td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1">Player's balance</td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2">ErrorCode</td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2">Integer</td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2">Error code in case the request had an error.</td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>SessionData</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>SessionData</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>Holds the player session data – session balance, sum of total wins and sum of total bets. Required for the Spanish Regulation</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>Message</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>Object</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>Each server response may contain a list of messages that will be shown by the client-side after the round (spin) is over.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Message.DisplayType</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>Enum</p> <p> </p> <p>1. Notification 2.PopUp (intrusive)</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>With intrusive type, buttons are optional, but must bare in mind that the client will not be able to continue gameplay until it is restarted, and provided there isn't a similar message object following up on it on loadGame</p> <p>response</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>Message.Title</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>Title of the popup message</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Message.Text</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>Message text where \n or \r\n should be a 'return' (enter)</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>Message.Buttons</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>List<Buttons></p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>List of the buttons available for the popup</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Message.Buttons .Text</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>Text of the button</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>Message.Buttons</p> <p>.Action</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body2"> <p>One of the following: </p> <p> </p> <p>quit - Quit the game (just like pressing on the home button)</p> <p>cashier - Launch the cashier link (just like pressing on the cashier button)</p> <p>history - Launch the history link (just like pressing on the history button on the reality check popup)</p> <p>continue - Hide the popup link - Open a dedicated link</p> <p> </p> <p>Whenever an action is being pressed, JavaScript event should be triggered by the client</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>Message.Buttons .Link</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>String</p> </td> <td class="TableStyle-NewStyle-BodyD-Column3-Body1"> <p>(optional) - If the action property value is "link".</p> <p>- The link to be opened by the game Note</p> <p>-In case there is a "Link" value and the Action is "continue", the link will be sent as an Ajax request and will not redirect the player</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyB-Column1-Body2">Message.Buttons .LinkType </td> <td class="TableStyle-NewStyle-BodyB-Column2-Body2">Enum</td> <td class="TableStyle-NewStyle-BodyA-Column3-Body2">optional - only if link is available Redirect - redirects the player to the URL Ajax - link will be sent by ajax and immediately let the player continue with the flow AjaxResponse - link will be sent by ajax and wait until "successful json response" is made. Only then continue with the flow. </td> </tr> </tbody> </table> <p> </p> <p> </p> <h2>Possible Credit Error Codes</h2> <p> </p> <table style="margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/NewStyle.css');" class="TableStyle-NewStyle" cellspacing="3"> <col class="TableStyle-NewStyle-Column-Column1" /> <col class="TableStyle-NewStyle-Column-Column2" /> <col class="TableStyle-NewStyle-Column-Column3" /> <col class="TableStyle-NewStyle-Column-Column4" /> <thead> <tr class="TableStyle-NewStyle-Head-Header1"> <th class="TableStyle-NewStyle-HeadE-Column1-Header1"> <p>Name</p> </th> <th class="TableStyle-NewStyle-HeadE-Column2-Header1"> <p>Code</p> </th> <th class="TableStyle-NewStyle-HeadE-Column3-Header1"> <p>Comments</p> </th> <th class="TableStyle-NewStyle-HeadD-Column4-Header1"> <p>Expected Behavior</p> </th> </tr> </thead> <tbody> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>AuthenticateFailed</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>2</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body2"> <p>The credentials provided in the API are wrong.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body2"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>InvalidGame</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>3</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body1"> <p>The GameCode provided</p> <p>in the API is wrong.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body1"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>InvalidToken</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>4</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body2"> <p>Token was not found.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body2"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>InvalidRound</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>5</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body1"> <p>Round was not found.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body1"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>InvalidPlayerId</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>6</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body2"> <p>Player Id was not found.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body2"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>AmountEqualOrLowerThanZero</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>8</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body1"> <p>The amount is equal or lower than zero.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body1"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyE-Column1-Body2"> <p>RoundAlreadyEnded</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body2"> <p>9</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body2"> <p>The round is already ended.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body2"> <p>Crash the game</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body1"> <td class="TableStyle-NewStyle-BodyE-Column1-Body1"> <p>NotificationError</p> </td> <td class="TableStyle-NewStyle-BodyE-Column2-Body1"> <p>100</p> </td> <td class="TableStyle-NewStyle-BodyE-Column3-Body1"> <p>The call is not complete. Please ask again.</p> </td> <td class="TableStyle-NewStyle-BodyD-Column4-Body1"> <p>Retry. The player should not be able</p> <p>to play the game.</p> </td> </tr> <tr class="TableStyle-NewStyle-Body-Body2"> <td class="TableStyle-NewStyle-BodyB-Column1-Body2"> <p>GeneralError</p> </td> <td class="TableStyle-NewStyle-BodyB-Column2-Body2"> <p>900</p> </td> <td class="TableStyle-NewStyle-BodyB-Column3-Body2"> <p>General error.</p> </td> <td class="TableStyle-NewStyle-BodyA-Column4-Body2"> <p>Retry. The player</p> <p>should not be able to play the game.</p> </td> </tr> </tbody> </table> <p> </p> <p> </p> <p><b>Examples:</b> </p> <p> </p> <p><b>Credit Request</b> </p> <p>{</p> <p>"Amount": 13, "IsRoundEnded": true,</p> <p>"Token": "PPT_E3ABAB01FB824728B32D869589E816BD",</p> <p> </p> <p>"GameCode": "EVIGame_Desktop", "PlayerId": "PPT_327",</p> <p>"RoundId": "16e8fb66-f071-4863-883f-d3940c6a1f82",</p> <p>"TransactionId": "ea79ceda-b737-4938-9a01-e6c49905688b", "DebitTransactionId": "dasdceda-dsas-493d-9a01-e6c49fd4sdd", "IsJackpotWin": true,</p> <p>"JackpotWinDetails": [{</p> <p>"JackpotId": "test_jackpot", "JackpotName": "Big win jackpot", "Amount": 0.00024</p> <p> </p> <p>],</p> <p>"Account": {</p> <p> </p> <p>}, {</p> <p>}</p> <p> </p> <p>"JackpotId": "test_jackpot1", "JackpotName": "Big win jackpot 1", "Amount": 0.00008</p> <p> </p> <p>"Username": "eviuser", "Password": "evipassword"</p> <p>}</p> <p>}</p> <p> </p> <p><b>Credit OK Response</b> </p> <p>{</p> <p>"TransactionId": "521616",</p> <p>"Balance": 197516.35,</p> <p>“Message”: [{</p> <p>DisplayType: 2,</p> <p>Title: "Title for the popup message",</p> <p>Text: "message. Including \r\n or just \n for enter", Buttons: [</p> <p>{</p> <p> </p> <p>}],</p> <p> </p> <p>Text: "Quit Game", Action: "quit",</p> <p>},</p> <p>{</p> <p>Text: "Ok",</p> <p>Action: "continue",</p> <p>},</p> <p>{</p> <p>Text: "View History", Action: "link",</p> <p>Link: "https://www.casino.com/myaccount/history"</p> <p>}</p> <p>]</p> <p> </p> <p>"SessionData": {</p> <p>"TotalBet":20.0,</p> <p>"TotalWin":10.0, "SessionBalance":220.0</p> <p>}</p> <p> </p> <p>}</p> <p> </p> <p><b>Credit Error Response</b> </p> <p>{</p> <p>"Balance": 197476.35,</p> <p>"ErrorCode": 9</p> <p>}</p> <p> </p> <p><b>Credit Notification Error Response</b> </p> <p>{</p> <p>"ErrorCode": 100</p> <p>}</p> </div> <!-- main left content end --> <div class="main-content-toc"><b>Table of Contents</b> <MadCap:menuProxy mc-linked-toc="$topicHeadings" style="mc-toc-depth: 2;mc-context-sensitive: True;mc-include-parent: True;mc-include-siblings: True;mc-include-children: True;"> </MadCap:menuProxy> <p> </p> </div> <!-- main right toc end --> </div> <!-- main - container end --> </td> </tr> </tbody> </table> </body> </html>
Comments