/* Options: Date: 2026-11-08 12:02:53 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: CoreChargeDonationRq.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:collection */ import 'package:servicestack/servicestack.dart'; import 'dart:collection'; 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 EventItem implements IConvertible { String? CustomerFeeItemTypeId; String? Quantity; EventItem({this.CustomerFeeItemTypeId,this.Quantity}); EventItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CustomerFeeItemTypeId = json['CustomerFeeItemTypeId']; Quantity = json['Quantity']; return this; } Map toJson() => { 'CustomerFeeItemTypeId': CustomerFeeItemTypeId, 'Quantity': Quantity }; getTypeName() => "EventItem"; TypeContext? context = _ctx; } class CoreChargeGatewaySaleResponse implements IConvertible { String? FailureType; bool? IsDuplicate; bool? IsSuccessful; String? ErrorCode; String? Message; int? GatewayId; String? ConfirmationNumber; String? NetworkTransactionId; CoreChargeGatewaySaleResponse({this.FailureType,this.IsDuplicate,this.IsSuccessful,this.ErrorCode,this.Message,this.GatewayId,this.ConfirmationNumber,this.NetworkTransactionId}); CoreChargeGatewaySaleResponse.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() => "CoreChargeGatewaySaleResponse"; 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 CoreCreditCardChargeDetails implements IConvertible { String? CardType; int? ExpMonth; int? ExpYear; String? Last4; CreditCardBillingAddressItem? Address; CreditCardChargeVerificationResult? VerificationResult; CoreCreditCardChargeDetails({this.CardType,this.ExpMonth,this.ExpYear,this.Last4,this.Address,this.VerificationResult}); CoreCreditCardChargeDetails.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() => "CoreCreditCardChargeDetails"; TypeContext? context = _ctx; } class CoreChargeDetails implements IConvertible { String? PaymentType; int? Amount; String? IntegrationType; String? Currency; CoreCreditCardChargeDetails? CardDetails; CoreChargeDetails({this.PaymentType,this.Amount,this.IntegrationType,this.Currency,this.CardDetails}); CoreChargeDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PaymentType = json['PaymentType']; Amount = json['Amount']; IntegrationType = json['IntegrationType']; Currency = json['Currency']; CardDetails = JsonConverters.fromJson(json['CardDetails'],'CoreCreditCardChargeDetails',context!); return this; } Map toJson() => { 'PaymentType': PaymentType, 'Amount': Amount, 'IntegrationType': IntegrationType, 'Currency': Currency, 'CardDetails': JsonConverters.toJson(CardDetails,'CoreCreditCardChargeDetails',context!) }; getTypeName() => "CoreChargeDetails"; 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 CoreChargeDonationRs implements IConvertible { String? TransactionId; int? StoredAccountId; int? NationalId; int? ChapterId; String? ChargeType; String? IntegrationType; int? ContextIntegrationPartnerId; int? CallerIntegrationPartnerId; CoreChargeGatewaySaleResponse? GatewayResponse; CoreChargeDetails? ChargeDetails; CoreChargeDonationRs({this.TransactionId,this.StoredAccountId,this.NationalId,this.ChapterId,this.ChargeType,this.IntegrationType,this.ContextIntegrationPartnerId,this.CallerIntegrationPartnerId,this.GatewayResponse,this.ChargeDetails}); CoreChargeDonationRs.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'],'CoreChargeGatewaySaleResponse',context!); ChargeDetails = JsonConverters.fromJson(json['ChargeDetails'],'CoreChargeDetails',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,'CoreChargeGatewaySaleResponse',context!), 'ChargeDetails': JsonConverters.toJson(ChargeDetails,'CoreChargeDetails',context!) }; getTypeName() => "CoreChargeDonationRs"; TypeContext? context = _ctx; } // @Route("/integrations/api/{integrationType}/core/donationcharge", "POST") class CoreChargeDonationRq implements IReturn, IChargeRequest, IConvertible { // @ApiMember(ParameterType="path") String? integrationType; int? NationalId; int? ChapterId; int? StoredAccountId; int? ContextIntegrationPartnerId; int? CallerIntegrationPartnerId; int? UserId; int? AuthenticationId; String? ChargeType; String? Token; // @ApiMember(Format="decimal", ParameterType="model") double? Amount; String? Description; int? CampaignId; int? CreatedById; int? TransactionId; String? PartnerReferenceId; List? EventItems; CoreChargeDonationRq({this.integrationType,this.NationalId,this.ChapterId,this.StoredAccountId,this.ContextIntegrationPartnerId,this.CallerIntegrationPartnerId,this.UserId,this.AuthenticationId,this.ChargeType,this.Token,this.Amount,this.Description,this.CampaignId,this.CreatedById,this.TransactionId,this.PartnerReferenceId,this.EventItems}); CoreChargeDonationRq.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']; UserId = json['UserId']; AuthenticationId = json['AuthenticationId']; ChargeType = json['ChargeType']; Token = json['Token']; Amount = JsonConverters.toDouble(json['Amount']); Description = json['Description']; CampaignId = json['CampaignId']; CreatedById = json['CreatedById']; TransactionId = json['TransactionId']; PartnerReferenceId = json['PartnerReferenceId']; EventItems = JsonConverters.fromJson(json['EventItems'],'List',context!); return this; } Map toJson() => { 'integrationType': integrationType, 'NationalId': NationalId, 'ChapterId': ChapterId, 'StoredAccountId': StoredAccountId, 'ContextIntegrationPartnerId': ContextIntegrationPartnerId, 'CallerIntegrationPartnerId': CallerIntegrationPartnerId, 'UserId': UserId, 'AuthenticationId': AuthenticationId, 'ChargeType': ChargeType, 'Token': Token, 'Amount': Amount, 'Description': Description, 'CampaignId': CampaignId, 'CreatedById': CreatedById, 'TransactionId': TransactionId, 'PartnerReferenceId': PartnerReferenceId, 'EventItems': JsonConverters.toJson(EventItems,'List',context!) }; createResponse() => CoreChargeDonationRs(); getResponseTypeName() => "CoreChargeDonationRs"; getTypeName() => "CoreChargeDonationRq"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: { 'IChargeRequest': TypeInfo(TypeOf.Interface), 'EventItem': TypeInfo(TypeOf.Class, create:() => EventItem()), 'CoreChargeGatewaySaleResponse': TypeInfo(TypeOf.Class, create:() => CoreChargeGatewaySaleResponse()), 'AttributeItem': TypeInfo(TypeOf.Class, create:() => AttributeItem()), 'CreditCardBillingAddressItem': TypeInfo(TypeOf.Class, create:() => CreditCardBillingAddressItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CreditCardChargeVerificationResult': TypeInfo(TypeOf.Class, create:() => CreditCardChargeVerificationResult()), 'CoreCreditCardChargeDetails': TypeInfo(TypeOf.Class, create:() => CoreCreditCardChargeDetails()), 'CoreChargeDetails': TypeInfo(TypeOf.Class, create:() => CoreChargeDetails()), 'CoreChargeDonationRs': TypeInfo(TypeOf.Class, create:() => CoreChargeDonationRs()), 'CoreChargeDonationRq': TypeInfo(TypeOf.Class, create:() => CoreChargeDonationRq()), 'List': TypeInfo(TypeOf.Class, create:() => []), });