/* Options: Date: 2024-11-24 13:26:23 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://clubready.com/api/current //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PaymentProfileBalanceInquiryEndpoint.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IApiKeyEndpoint { String? ApiKey; } class PaymentProfileBalanceInquiryRequest implements IConvertible { String? TerminalIpAddress; String? AcctToken; String? ProfileToken; int? StoreId; PaymentProfileBalanceInquiryRequest({this.TerminalIpAddress,this.AcctToken,this.ProfileToken,this.StoreId}); PaymentProfileBalanceInquiryRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TerminalIpAddress = json['TerminalIpAddress']; AcctToken = json['AcctToken']; ProfileToken = json['ProfileToken']; StoreId = json['StoreId']; return this; } Map toJson() => { 'TerminalIpAddress': TerminalIpAddress, 'AcctToken': AcctToken, 'ProfileToken': ProfileToken, 'StoreId': StoreId }; getTypeName() => "PaymentProfileBalanceInquiryRequest"; TypeContext? context = _ctx; } class PamentProfileBalanceInquiryEndpointResponse implements IConvertible { bool? Success; String? Last4; double? AccountBalance; String? ResponseCode; String? Message; PamentProfileBalanceInquiryEndpointResponse({this.Success,this.Last4,this.AccountBalance,this.ResponseCode,this.Message}); PamentProfileBalanceInquiryEndpointResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Success = json['Success']; Last4 = json['Last4']; AccountBalance = JsonConverters.toDouble(json['AccountBalance']); ResponseCode = json['ResponseCode']; Message = json['Message']; return this; } Map toJson() => { 'Success': Success, 'Last4': Last4, 'AccountBalance': AccountBalance, 'ResponseCode': ResponseCode, 'Message': Message }; getTypeName() => "PamentProfileBalanceInquiryEndpointResponse"; TypeContext? context = _ctx; } // @Route("/sales/paymentProfile/balanceInquiry", "GET") // @ApiResponse(Description="Looks up the balance of a payment profile created by the Vault API", ResponseType=typeof(PaymentProfileBalanceInquiryResponse), StatusCode=200) class PaymentProfileBalanceInquiryEndpoint extends PaymentProfileBalanceInquiryRequest implements IReturn, IApiKeyEndpoint, IConvertible { /** * Api Authentication Key */ // @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") String? ApiKey; /** * Store Id */ // @ApiMember(Description="Store Id", IsRequired=true, ParameterType="query") int? StoreId; /** * Encoded data uniquely identifying the payment profile. Long term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater). The length is usually 80 characters. */ // @ApiMember(Description="\r\nEncoded data uniquely identifying the payment profile. \r\nLong term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater). \r\nThe length is usually 80 characters.", IsRequired=true) String? AcctToken; /** * Encoded data containing non-PCI information about the Payment Profile. ProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,it cannot be accepted and a new profile will have to be created with a new AcctToken. The timevalidation is to prevent old tokens from be re-played at a later time. The length is variable, but generally around 1,000 characters. */ // @ApiMember(Description="\r\nEncoded data containing non-PCI information about the Payment Profile. \r\n\r\nProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,\r\nit cannot be accepted and a new profile will have to be created with a new AcctToken. The time\r\nvalidation is to prevent old tokens from be re-played at a later time. \r\n\r\nThe length is variable, but generally around 1,000 characters.") String? ProfileToken; PaymentProfileBalanceInquiryEndpoint({this.ApiKey,this.StoreId,this.AcctToken,this.ProfileToken}); PaymentProfileBalanceInquiryEndpoint.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ApiKey = json['ApiKey']; StoreId = json['StoreId']; AcctToken = json['AcctToken']; ProfileToken = json['ProfileToken']; return this; } Map toJson() => super.toJson()..addAll({ 'ApiKey': ApiKey, 'StoreId': StoreId, 'AcctToken': AcctToken, 'ProfileToken': ProfileToken }); createResponse() => PamentProfileBalanceInquiryEndpointResponse(); getResponseTypeName() => "PamentProfileBalanceInquiryEndpointResponse"; getTypeName() => "PaymentProfileBalanceInquiryEndpoint"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'clubready.com', types: { 'IApiKeyEndpoint': TypeInfo(TypeOf.Interface), 'PaymentProfileBalanceInquiryRequest': TypeInfo(TypeOf.Class, create:() => PaymentProfileBalanceInquiryRequest()), 'PamentProfileBalanceInquiryEndpointResponse': TypeInfo(TypeOf.Class, create:() => PamentProfileBalanceInquiryEndpointResponse()), 'PaymentProfileBalanceInquiryEndpoint': TypeInfo(TypeOf.Class, create:() => PaymentProfileBalanceInquiryEndpoint()), });