/* Options: Date: 2026-11-08 12:08:01 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: HeldPaymentChargeRq.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class HeldPaymentChargeItem implements IConvertible { String? Type; String? Description; double? Amount; String? ClientInvoiceId; int? ClientInvoiceOwnerTypeId; HeldPaymentChargeItem({this.Type,this.Description,this.Amount,this.ClientInvoiceId,this.ClientInvoiceOwnerTypeId}); HeldPaymentChargeItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Type = json['Type']; Description = json['Description']; Amount = JsonConverters.toDouble(json['Amount']); ClientInvoiceId = json['ClientInvoiceId']; ClientInvoiceOwnerTypeId = json['ClientInvoiceOwnerTypeId']; return this; } Map toJson() => { 'Type': Type, 'Description': Description, 'Amount': Amount, 'ClientInvoiceId': ClientInvoiceId, 'ClientInvoiceOwnerTypeId': ClientInvoiceOwnerTypeId }; getTypeName() => "HeldPaymentChargeItem"; TypeContext? context = _ctx; } abstract class IChargeRequest { String? integrationType; int? NationalId; int? ChapterId; int? StoredAccountId; int? ContextIntegrationPartnerId; int? CallerIntegrationPartnerId; int? AuthenticationId; String? ChargeType; String? Token; double? Amount; String? Description; int? CreatedById; int? TransactionId; } class HeldPaymentGatewaySaleResponse implements IConvertible { String? FailureType; bool? IsDuplicate; bool? IsSuccessful; String? ErrorCode; String? Message; int? GatewayId; String? ConfirmationNumber; String? NetworkTransactionId; HeldPaymentGatewaySaleResponse({this.FailureType,this.IsDuplicate,this.IsSuccessful,this.ErrorCode,this.Message,this.GatewayId,this.ConfirmationNumber,this.NetworkTransactionId}); HeldPaymentGatewaySaleResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FailureType = json['FailureType']; IsDuplicate = json['IsDuplicate']; IsSuccessful = json['IsSuccessful']; ErrorCode = json['ErrorCode']; Message = json['Message']; GatewayId = json['GatewayId']; ConfirmationNumber = json['ConfirmationNumber']; NetworkTransactionId = json['NetworkTransactionId']; return this; } Map toJson() => { 'FailureType': FailureType, 'IsDuplicate': IsDuplicate, 'IsSuccessful': IsSuccessful, 'ErrorCode': ErrorCode, 'Message': Message, 'GatewayId': GatewayId, 'ConfirmationNumber': ConfirmationNumber, 'NetworkTransactionId': NetworkTransactionId }; getTypeName() => "HeldPaymentGatewaySaleResponse"; TypeContext? context = _ctx; } class AttributeItem implements IConvertible { String? Name; String? Value; AttributeItem({this.Name,this.Value}); AttributeItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'Name': Name, 'Value': Value }; getTypeName() => "AttributeItem"; TypeContext? context = _ctx; } class CreditCardBillingAddressItem implements IConvertible { String? Address1; String? Address2; String? City; String? PostalCode; String? Region; String? Country; List? Attributes; CreditCardBillingAddressItem({this.Address1,this.Address2,this.City,this.PostalCode,this.Region,this.Country,this.Attributes}); CreditCardBillingAddressItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Address1 = json['Address1']; Address2 = json['Address2']; City = json['City']; PostalCode = json['PostalCode']; Region = json['Region']; Country = json['Country']; Attributes = JsonConverters.fromJson(json['Attributes'],'List',context!); return this; } Map toJson() => { 'Address1': Address1, 'Address2': Address2, 'City': City, 'PostalCode': PostalCode, 'Region': Region, 'Country': Country, 'Attributes': JsonConverters.toJson(Attributes,'List',context!) }; getTypeName() => "CreditCardBillingAddressItem"; TypeContext? context = _ctx; } class CreditCardChargeVerificationResult implements IConvertible { bool? NetworkVerificationAttempted; String? CvvVerificationResult; String? AddressVerificationResult; String? PostalCodeVerificationResult; CreditCardChargeVerificationResult({this.NetworkVerificationAttempted,this.CvvVerificationResult,this.AddressVerificationResult,this.PostalCodeVerificationResult}); CreditCardChargeVerificationResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { NetworkVerificationAttempted = json['NetworkVerificationAttempted']; CvvVerificationResult = json['CvvVerificationResult']; AddressVerificationResult = json['AddressVerificationResult']; PostalCodeVerificationResult = json['PostalCodeVerificationResult']; return this; } Map toJson() => { 'NetworkVerificationAttempted': NetworkVerificationAttempted, 'CvvVerificationResult': CvvVerificationResult, 'AddressVerificationResult': AddressVerificationResult, 'PostalCodeVerificationResult': PostalCodeVerificationResult }; getTypeName() => "CreditCardChargeVerificationResult"; TypeContext? context = _ctx; } class HeldPaymentCreditCardChargeDetails implements IConvertible { String? CardType; int? ExpMonth; int? ExpYear; String? Last4; CreditCardBillingAddressItem? Address; CreditCardChargeVerificationResult? VerificationResult; HeldPaymentCreditCardChargeDetails({this.CardType,this.ExpMonth,this.ExpYear,this.Last4,this.Address,this.VerificationResult}); HeldPaymentCreditCardChargeDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CardType = json['CardType']; ExpMonth = json['ExpMonth']; ExpYear = json['ExpYear']; Last4 = json['Last4']; Address = JsonConverters.fromJson(json['Address'],'CreditCardBillingAddressItem',context!); VerificationResult = JsonConverters.fromJson(json['VerificationResult'],'CreditCardChargeVerificationResult',context!); return this; } Map toJson() => { 'CardType': CardType, 'ExpMonth': ExpMonth, 'ExpYear': ExpYear, 'Last4': Last4, 'Address': JsonConverters.toJson(Address,'CreditCardBillingAddressItem',context!), 'VerificationResult': JsonConverters.toJson(VerificationResult,'CreditCardChargeVerificationResult',context!) }; getTypeName() => "HeldPaymentCreditCardChargeDetails"; TypeContext? context = _ctx; } class AchChargeVerificationResult implements IConvertible { bool? NetworkVerificationAttempted; String? Result; AchChargeVerificationResult({this.NetworkVerificationAttempted,this.Result}); AchChargeVerificationResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { NetworkVerificationAttempted = json['NetworkVerificationAttempted']; Result = json['Result']; return this; } Map toJson() => { 'NetworkVerificationAttempted': NetworkVerificationAttempted, 'Result': Result }; getTypeName() => "AchChargeVerificationResult"; TypeContext? context = _ctx; } class HeldPaymentAchChargeDetails implements IConvertible { String? AccountType; String? RoutingNumber; String? AccountNumberLast4; String? BankName; AchChargeVerificationResult? VerificationResult; HeldPaymentAchChargeDetails({this.AccountType,this.RoutingNumber,this.AccountNumberLast4,this.BankName,this.VerificationResult}); HeldPaymentAchChargeDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AccountType = json['AccountType']; RoutingNumber = json['RoutingNumber']; AccountNumberLast4 = json['AccountNumberLast4']; BankName = json['BankName']; VerificationResult = JsonConverters.fromJson(json['VerificationResult'],'AchChargeVerificationResult',context!); return this; } Map toJson() => { 'AccountType': AccountType, 'RoutingNumber': RoutingNumber, 'AccountNumberLast4': AccountNumberLast4, 'BankName': BankName, 'VerificationResult': JsonConverters.toJson(VerificationResult,'AchChargeVerificationResult',context!) }; getTypeName() => "HeldPaymentAchChargeDetails"; TypeContext? context = _ctx; } class HeldPaymentChargeDetails implements IConvertible { String? PaymentType; double? Amount; String? IntegrationType; String? Currency; HeldPaymentCreditCardChargeDetails? CardDetails; HeldPaymentAchChargeDetails? AchDetails; HeldPaymentChargeDetails({this.PaymentType,this.Amount,this.IntegrationType,this.Currency,this.CardDetails,this.AchDetails}); HeldPaymentChargeDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PaymentType = json['PaymentType']; Amount = JsonConverters.toDouble(json['Amount']); IntegrationType = json['IntegrationType']; Currency = json['Currency']; CardDetails = JsonConverters.fromJson(json['CardDetails'],'HeldPaymentCreditCardChargeDetails',context!); AchDetails = JsonConverters.fromJson(json['AchDetails'],'HeldPaymentAchChargeDetails',context!); return this; } Map toJson() => { 'PaymentType': PaymentType, 'Amount': Amount, 'IntegrationType': IntegrationType, 'Currency': Currency, 'CardDetails': JsonConverters.toJson(CardDetails,'HeldPaymentCreditCardChargeDetails',context!), 'AchDetails': JsonConverters.toJson(AchDetails,'HeldPaymentAchChargeDetails',context!) }; getTypeName() => "HeldPaymentChargeDetails"; TypeContext? context = _ctx; } class AttributeItem implements IConvertible { String? Name; String? Value; AttributeItem({this.Name,this.Value}); AttributeItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'Name': Name, 'Value': Value }; getTypeName() => "AttributeItem"; TypeContext? context = _ctx; } class HeldPaymentChargeRs implements IConvertible { String? TransactionId; int? StoredAccountId; int? NationalId; int? ChapterId; String? ChargeType; String? IntegrationType; int? ContextIntegrationPartnerId; int? CallerIntegrationPartnerId; HeldPaymentGatewaySaleResponse? GatewayResponse; HeldPaymentChargeDetails? ChargeDetails; List? ChargeItems; HeldPaymentChargeRs({this.TransactionId,this.StoredAccountId,this.NationalId,this.ChapterId,this.ChargeType,this.IntegrationType,this.ContextIntegrationPartnerId,this.CallerIntegrationPartnerId,this.GatewayResponse,this.ChargeDetails,this.ChargeItems}); HeldPaymentChargeRs.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TransactionId = json['TransactionId']; StoredAccountId = json['StoredAccountId']; NationalId = json['NationalId']; ChapterId = json['ChapterId']; ChargeType = json['ChargeType']; IntegrationType = json['IntegrationType']; ContextIntegrationPartnerId = json['ContextIntegrationPartnerId']; CallerIntegrationPartnerId = json['CallerIntegrationPartnerId']; GatewayResponse = JsonConverters.fromJson(json['GatewayResponse'],'HeldPaymentGatewaySaleResponse',context!); ChargeDetails = JsonConverters.fromJson(json['ChargeDetails'],'HeldPaymentChargeDetails',context!); ChargeItems = JsonConverters.fromJson(json['ChargeItems'],'List',context!); return this; } Map toJson() => { 'TransactionId': TransactionId, 'StoredAccountId': StoredAccountId, 'NationalId': NationalId, 'ChapterId': ChapterId, 'ChargeType': ChargeType, 'IntegrationType': IntegrationType, 'ContextIntegrationPartnerId': ContextIntegrationPartnerId, 'CallerIntegrationPartnerId': CallerIntegrationPartnerId, 'GatewayResponse': JsonConverters.toJson(GatewayResponse,'HeldPaymentGatewaySaleResponse',context!), 'ChargeDetails': JsonConverters.toJson(ChargeDetails,'HeldPaymentChargeDetails',context!), 'ChargeItems': JsonConverters.toJson(ChargeItems,'List',context!) }; getTypeName() => "HeldPaymentChargeRs"; TypeContext? context = _ctx; } // @Route("/integrations/api/{integrationType}/heldpayment/charge", "POST") class HeldPaymentChargeRq implements IReturn, IChargeRequest, IConvertible { String? integrationType; int? NationalId; int? ChapterId; int? StoredAccountId; int? ContextIntegrationPartnerId; int? CallerIntegrationPartnerId; int? AuthenticationId; String? ChargeType; String? Token; double? Amount; String? Description; int? CreatedById; int? TransactionId; bool? StoreChargeAccount; List? ChargeItems; int? CreatedBy; HeldPaymentChargeRq({this.integrationType,this.NationalId,this.ChapterId,this.StoredAccountId,this.ContextIntegrationPartnerId,this.CallerIntegrationPartnerId,this.AuthenticationId,this.ChargeType,this.Token,this.Amount,this.Description,this.CreatedById,this.TransactionId,this.StoreChargeAccount,this.ChargeItems,this.CreatedBy}); HeldPaymentChargeRq.fromJson(Map json) { fromMap(json); } fromMap(Map json) { integrationType = json['integrationType']; NationalId = json['NationalId']; ChapterId = json['ChapterId']; StoredAccountId = json['StoredAccountId']; ContextIntegrationPartnerId = json['ContextIntegrationPartnerId']; CallerIntegrationPartnerId = json['CallerIntegrationPartnerId']; AuthenticationId = json['AuthenticationId']; ChargeType = json['ChargeType']; Token = json['Token']; Amount = JsonConverters.toDouble(json['Amount']); Description = json['Description']; CreatedById = json['CreatedById']; TransactionId = json['TransactionId']; StoreChargeAccount = json['StoreChargeAccount']; ChargeItems = JsonConverters.fromJson(json['ChargeItems'],'List',context!); CreatedBy = json['CreatedBy']; return this; } Map toJson() => { 'integrationType': integrationType, 'NationalId': NationalId, 'ChapterId': ChapterId, 'StoredAccountId': StoredAccountId, 'ContextIntegrationPartnerId': ContextIntegrationPartnerId, 'CallerIntegrationPartnerId': CallerIntegrationPartnerId, 'AuthenticationId': AuthenticationId, 'ChargeType': ChargeType, 'Token': Token, 'Amount': Amount, 'Description': Description, 'CreatedById': CreatedById, 'TransactionId': TransactionId, 'StoreChargeAccount': StoreChargeAccount, 'ChargeItems': JsonConverters.toJson(ChargeItems,'List',context!), 'CreatedBy': CreatedBy }; createResponse() => HeldPaymentChargeRs(); getResponseTypeName() => "HeldPaymentChargeRs"; getTypeName() => "HeldPaymentChargeRq"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: { 'HeldPaymentChargeItem': TypeInfo(TypeOf.Class, create:() => HeldPaymentChargeItem()), 'IChargeRequest': TypeInfo(TypeOf.Interface), 'HeldPaymentGatewaySaleResponse': TypeInfo(TypeOf.Class, create:() => HeldPaymentGatewaySaleResponse()), 'AttributeItem': TypeInfo(TypeOf.Class, create:() => AttributeItem()), 'CreditCardBillingAddressItem': TypeInfo(TypeOf.Class, create:() => CreditCardBillingAddressItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CreditCardChargeVerificationResult': TypeInfo(TypeOf.Class, create:() => CreditCardChargeVerificationResult()), 'HeldPaymentCreditCardChargeDetails': TypeInfo(TypeOf.Class, create:() => HeldPaymentCreditCardChargeDetails()), 'AchChargeVerificationResult': TypeInfo(TypeOf.Class, create:() => AchChargeVerificationResult()), 'HeldPaymentAchChargeDetails': TypeInfo(TypeOf.Class, create:() => HeldPaymentAchChargeDetails()), 'HeldPaymentChargeDetails': TypeInfo(TypeOf.Class, create:() => HeldPaymentChargeDetails()), 'HeldPaymentChargeRs': TypeInfo(TypeOf.Class, create:() => HeldPaymentChargeRs()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'HeldPaymentChargeRq': TypeInfo(TypeOf.Class, create:() => HeldPaymentChargeRq()), });