| Required role: | Client |
| POST | /onceoffpayment | Once of Payments |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:collection';
class OnceOffPaymentResponse implements IConvertible
{
String? PublicAccessGuid;
String? InvoiceNumber;
int? StatusCodesId;
ResponseStatus? ResponseStatus;
OnceOffPaymentResponse({this.PublicAccessGuid,this.InvoiceNumber,this.StatusCodesId,this.ResponseStatus});
OnceOffPaymentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PublicAccessGuid = json['PublicAccessGuid'];
InvoiceNumber = json['InvoiceNumber'];
StatusCodesId = json['StatusCodesId'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PublicAccessGuid': PublicAccessGuid,
'InvoiceNumber': InvoiceNumber,
'StatusCodesId': StatusCodesId,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "OnceOffPaymentResponse";
TypeContext? context = _ctx;
}
class OnceOffPaymentRequests implements IConvertible
{
// @DataMember(Order=1)
// @Validate(Validator="NotNull")
String? Segment;
// @DataMember(Order=2)
// @Validate(Validator="NotNull")
String? FirstName;
// @DataMember(Order=3)
// @Validate(Validator="NotNull")
String? LastName;
// @DataMember(Order=4)
String? Address;
// @DataMember(Order=5)
String? City;
// @DataMember(Order=6)
String? Region;
// @DataMember(Order=7)
String? Suburb;
// @DataMember(Order=8)
String? PostalCode;
// @DataMember(Order=9)
String? MobileNumber;
// @DataMember(Order=10)
String? Email;
// @DataMember(Order=11)
String? IdNumber;
// @DataMember(Order=12)
String? PassportNumber;
// @DataMember(Order=13)
// @Validate(Validator="NotNull")
String? InvoiceNumber;
// @DataMember(Order=14)
DateTime? DebtDate;
// @DataMember(Order=15)
// @Validate(Validator="NotNull")
double? AmountOutstanding;
// @DataMember(Order=16)
// @Validate(Validator="NotNull")
int? CurrenciesId;
// @DataMember(Order=17)
// @Validate(Validator="NotNull")
int? ChannelsId;
// @DataMember(Order=18)
Map<String,String?>? DebtMeta;
// @DataMember(Order=19)
Map<String,String?>? CustomersMeta;
// @DataMember(Order=20)
String? UrlToDocument;
// @DataMember(Order=21)
String? CustomerUniqueIdentifier;
OnceOffPaymentRequests({this.Segment,this.FirstName,this.LastName,this.Address,this.City,this.Region,this.Suburb,this.PostalCode,this.MobileNumber,this.Email,this.IdNumber,this.PassportNumber,this.InvoiceNumber,this.DebtDate,this.AmountOutstanding,this.CurrenciesId,this.ChannelsId,this.DebtMeta,this.CustomersMeta,this.UrlToDocument,this.CustomerUniqueIdentifier});
OnceOffPaymentRequests.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Segment = json['Segment'];
FirstName = json['FirstName'];
LastName = json['LastName'];
Address = json['Address'];
City = json['City'];
Region = json['Region'];
Suburb = json['Suburb'];
PostalCode = json['PostalCode'];
MobileNumber = json['MobileNumber'];
Email = json['Email'];
IdNumber = json['IdNumber'];
PassportNumber = json['PassportNumber'];
InvoiceNumber = json['InvoiceNumber'];
DebtDate = JsonConverters.fromJson(json['DebtDate'],'DateTime',context!);
AmountOutstanding = JsonConverters.toDouble(json['AmountOutstanding']);
CurrenciesId = json['CurrenciesId'];
ChannelsId = json['ChannelsId'];
DebtMeta = JsonConverters.toStringMap(json['DebtMeta']);
CustomersMeta = JsonConverters.toStringMap(json['CustomersMeta']);
UrlToDocument = json['UrlToDocument'];
CustomerUniqueIdentifier = json['CustomerUniqueIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'Segment': Segment,
'FirstName': FirstName,
'LastName': LastName,
'Address': Address,
'City': City,
'Region': Region,
'Suburb': Suburb,
'PostalCode': PostalCode,
'MobileNumber': MobileNumber,
'Email': Email,
'IdNumber': IdNumber,
'PassportNumber': PassportNumber,
'InvoiceNumber': InvoiceNumber,
'DebtDate': JsonConverters.toJson(DebtDate,'DateTime',context!),
'AmountOutstanding': AmountOutstanding,
'CurrenciesId': CurrenciesId,
'ChannelsId': ChannelsId,
'DebtMeta': DebtMeta,
'CustomersMeta': CustomersMeta,
'UrlToDocument': UrlToDocument,
'CustomerUniqueIdentifier': CustomerUniqueIdentifier
};
getTypeName() => "OnceOffPaymentRequests";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'duengageapi.uat.scadsoftware.com', types: <String, TypeInfo> {
'OnceOffPaymentResponse': TypeInfo(TypeOf.Class, create:() => OnceOffPaymentResponse()),
'OnceOffPaymentRequests': TypeInfo(TypeOf.Class, create:() => OnceOffPaymentRequests()),
});
Dart OnceOffPaymentRequests DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /onceoffpayment HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Segment: String,
FirstName: String,
LastName: String,
Address: String,
City: String,
Region: String,
Suburb: String,
PostalCode: String,
MobileNumber: String,
Email: String,
IdNumber: String,
PassportNumber: String,
InvoiceNumber: String,
DebtDate: 0001-01-01,
AmountOutstanding: 0,
CurrenciesId: 0,
ChannelsId: 0,
DebtMeta:
{
String: String
},
CustomersMeta:
{
String: String
},
UrlToDocument: String,
CustomerUniqueIdentifier: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
PublicAccessGuid: 00000000000000000000000000000000,
InvoiceNumber: String,
StatusCodesId: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}