POST | /TransactionStatus |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class InOutTimes implements IConvertible
{
InOutTimes();
InOutTimes.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "InOutTimes";
TypeContext? context = _ctx;
}
// @DataContract
class RequestTimestamps implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
InOutTimes? AppLayer;
// @DataMember(EmitDefaultValue=false)
InOutTimes? ParentLookup;
// @DataMember(EmitDefaultValue=false)
InOutTimes? RetryLookup;
// @DataMember(EmitDefaultValue=false)
InOutTimes? GetCardData;
// @DataMember(EmitDefaultValue=false)
InOutTimes? CardTokenize;
// @DataMember(EmitDefaultValue=false)
InOutTimes? CardEncrypt;
// @DataMember(EmitDefaultValue=false)
InOutTimes? DBInsert;
// @DataMember(EmitDefaultValue=false)
InOutTimes? BackendProcess;
// @DataMember(EmitDefaultValue=false)
InOutTimes? DBUpdate;
// @DataMember(EmitDefaultValue=false)
InOutTimes? ParentUpdate;
// @DataMember(EmitDefaultValue=false)
InOutTimes? Network;
RequestTimestamps({this.AppLayer,this.ParentLookup,this.RetryLookup,this.GetCardData,this.CardTokenize,this.CardEncrypt,this.DBInsert,this.BackendProcess,this.DBUpdate,this.ParentUpdate,this.Network});
RequestTimestamps.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AppLayer = JsonConverters.fromJson(json['AppLayer'],'InOutTimes',context!);
ParentLookup = JsonConverters.fromJson(json['ParentLookup'],'InOutTimes',context!);
RetryLookup = JsonConverters.fromJson(json['RetryLookup'],'InOutTimes',context!);
GetCardData = JsonConverters.fromJson(json['GetCardData'],'InOutTimes',context!);
CardTokenize = JsonConverters.fromJson(json['CardTokenize'],'InOutTimes',context!);
CardEncrypt = JsonConverters.fromJson(json['CardEncrypt'],'InOutTimes',context!);
DBInsert = JsonConverters.fromJson(json['DBInsert'],'InOutTimes',context!);
BackendProcess = JsonConverters.fromJson(json['BackendProcess'],'InOutTimes',context!);
DBUpdate = JsonConverters.fromJson(json['DBUpdate'],'InOutTimes',context!);
ParentUpdate = JsonConverters.fromJson(json['ParentUpdate'],'InOutTimes',context!);
Network = JsonConverters.fromJson(json['Network'],'InOutTimes',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AppLayer': JsonConverters.toJson(AppLayer,'InOutTimes',context!),
'ParentLookup': JsonConverters.toJson(ParentLookup,'InOutTimes',context!),
'RetryLookup': JsonConverters.toJson(RetryLookup,'InOutTimes',context!),
'GetCardData': JsonConverters.toJson(GetCardData,'InOutTimes',context!),
'CardTokenize': JsonConverters.toJson(CardTokenize,'InOutTimes',context!),
'CardEncrypt': JsonConverters.toJson(CardEncrypt,'InOutTimes',context!),
'DBInsert': JsonConverters.toJson(DBInsert,'InOutTimes',context!),
'BackendProcess': JsonConverters.toJson(BackendProcess,'InOutTimes',context!),
'DBUpdate': JsonConverters.toJson(DBUpdate,'InOutTimes',context!),
'ParentUpdate': JsonConverters.toJson(ParentUpdate,'InOutTimes',context!),
'Network': JsonConverters.toJson(Network,'InOutTimes',context!)
};
getTypeName() => "RequestTimestamps";
TypeContext? context = _ctx;
}
// @DataContract
class PaysecureResponseInternal implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
RequestTimestamps? Timestamps;
PaysecureResponseInternal({this.Timestamps});
PaysecureResponseInternal.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Timestamps = JsonConverters.fromJson(json['Timestamps'],'RequestTimestamps',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Timestamps': JsonConverters.toJson(Timestamps,'RequestTimestamps',context!)
};
getTypeName() => "PaysecureResponseInternal";
TypeContext? context = _ctx;
}
class Transaction implements IConvertible
{
String? TranId;
String? Status;
String? ApprovalCode;
String? ResponseCode;
String? TransactionDT;
int? TransactionAmount;
String? Network;
int? ApprovedAmount;
int? OpenAmount;
String? ParentTranId;
List<String>? ExternalIds;
String? LocalDateTime;
String? CurrencyCode;
String? AVS;
String? CVN;
Transaction({this.TranId,this.Status,this.ApprovalCode,this.ResponseCode,this.TransactionDT,this.TransactionAmount,this.Network,this.ApprovedAmount,this.OpenAmount,this.ParentTranId,this.ExternalIds,this.LocalDateTime,this.CurrencyCode,this.AVS,this.CVN});
Transaction.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TranId = json['TranId'];
Status = json['Status'];
ApprovalCode = json['ApprovalCode'];
ResponseCode = json['ResponseCode'];
TransactionDT = json['TransactionDT'];
TransactionAmount = json['TransactionAmount'];
Network = json['Network'];
ApprovedAmount = json['ApprovedAmount'];
OpenAmount = json['OpenAmount'];
ParentTranId = json['ParentTranId'];
ExternalIds = JsonConverters.fromJson(json['ExternalIds'],'List<String>',context!);
LocalDateTime = json['LocalDateTime'];
CurrencyCode = json['CurrencyCode'];
AVS = json['AVS'];
CVN = json['CVN'];
return this;
}
Map<String, dynamic> toJson() => {
'TranId': TranId,
'Status': Status,
'ApprovalCode': ApprovalCode,
'ResponseCode': ResponseCode,
'TransactionDT': TransactionDT,
'TransactionAmount': TransactionAmount,
'Network': Network,
'ApprovedAmount': ApprovedAmount,
'OpenAmount': OpenAmount,
'ParentTranId': ParentTranId,
'ExternalIds': JsonConverters.toJson(ExternalIds,'List<String>',context!),
'LocalDateTime': LocalDateTime,
'CurrencyCode': CurrencyCode,
'AVS': AVS,
'CVN': CVN
};
getTypeName() => "Transaction";
TypeContext? context = _ctx;
}
// @DataContract
class TransactionStatus extends PaysecureResponseInternal implements IConvertible
{
// @DataMember
Transaction? History;
// @DataMember
String? ErrorMessage;
// @DataMember
String? ErrorCode;
TransactionStatus({this.History,this.ErrorMessage,this.ErrorCode});
TransactionStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
History = JsonConverters.fromJson(json['History'],'Transaction',context!);
ErrorMessage = json['ErrorMessage'];
ErrorCode = json['ErrorCode'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'History': JsonConverters.toJson(History,'Transaction',context!),
'ErrorMessage': ErrorMessage,
'ErrorCode': ErrorCode
});
getTypeName() => "TransactionStatus";
TypeContext? context = _ctx;
}
class RequestorCredentials implements IConvertible
{
// @Required()
String? MerchantId;
// @Required()
String? UserName;
// @Required()
String? Password;
// @Required()
String? Version;
RequestorCredentials({this.MerchantId,this.UserName,this.Password,this.Version});
RequestorCredentials.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MerchantId = json['MerchantId'];
UserName = json['UserName'];
Password = json['Password'];
Version = json['Version'];
return this;
}
Map<String, dynamic> toJson() => {
'MerchantId': MerchantId,
'UserName': UserName,
'Password': Password,
'Version': Version
};
getTypeName() => "RequestorCredentials";
TypeContext? context = _ctx;
}
enum OriginalDataType
{
TransactionId,
ReferenceKey,
ExternalId,
InternalTransactionId,
}
class OriginalTransaction implements IConvertible
{
OriginalDataType? OriginalIdentifierType;
String? OriginalDataIdentifier;
OriginalTransaction({this.OriginalIdentifierType,this.OriginalDataIdentifier});
OriginalTransaction.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
OriginalIdentifierType = JsonConverters.fromJson(json['OriginalIdentifierType'],'OriginalDataType',context!);
OriginalDataIdentifier = json['OriginalDataIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'OriginalIdentifierType': JsonConverters.toJson(OriginalIdentifierType,'OriginalDataType',context!),
'OriginalDataIdentifier': OriginalDataIdentifier
};
getTypeName() => "OriginalTransaction";
TypeContext? context = _ctx;
}
// @DataContract
class TransactionStatusRequest implements IConvertible
{
// @DataMember
RequestorCredentials? Credentials;
// @DataMember
OriginalTransaction? OriginalData;
TransactionStatusRequest({this.Credentials,this.OriginalData});
TransactionStatusRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Credentials = JsonConverters.fromJson(json['Credentials'],'RequestorCredentials',context!);
OriginalData = JsonConverters.fromJson(json['OriginalData'],'OriginalTransaction',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Credentials': JsonConverters.toJson(Credentials,'RequestorCredentials',context!),
'OriginalData': JsonConverters.toJson(OriginalData,'OriginalTransaction',context!)
};
getTypeName() => "TransactionStatusRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.paysecure.acculynk.net', types: <String, TypeInfo> {
'InOutTimes': TypeInfo(TypeOf.Class, create:() => InOutTimes()),
'RequestTimestamps': TypeInfo(TypeOf.Class, create:() => RequestTimestamps()),
'PaysecureResponseInternal': TypeInfo(TypeOf.Class, create:() => PaysecureResponseInternal()),
'Transaction': TypeInfo(TypeOf.Class, create:() => Transaction()),
'TransactionStatus': TypeInfo(TypeOf.Class, create:() => TransactionStatus()),
'RequestorCredentials': TypeInfo(TypeOf.Class, create:() => RequestorCredentials()),
'OriginalDataType': TypeInfo(TypeOf.Enum, enumValues:OriginalDataType.values),
'OriginalTransaction': TypeInfo(TypeOf.Class, create:() => OriginalTransaction()),
'TransactionStatusRequest': TypeInfo(TypeOf.Class, create:() => TransactionStatusRequest()),
});
Dart TransactionStatusRequest 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 /TransactionStatus HTTP/1.1
Host: api.paysecure.acculynk.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Credentials:
{
MerchantId: String,
UserName: String,
Password: String,
Version: String
},
OriginalData:
{
OriginalIdentifierType: TransactionId,
OriginalDataIdentifier: String
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { History: { TranId: String, Status: String, ApprovalCode: String, ResponseCode: String, TransactionDT: String, TransactionAmount: 0, Network: String, ApprovedAmount: 0, OpenAmount: 0, ParentTranId: String, ExternalIds: [ String ], LocalDateTime: String, CurrencyCode: String, AVS: String, CVN: String }, ErrorMessage: String, ErrorCode: String, Timestamps: { AppLayer: { InTime: 0001-01-01, OutTime: 0001-01-01 }, ParentLookup: { InTime: 0001-01-01, OutTime: 0001-01-01 }, RetryLookup: { InTime: 0001-01-01, OutTime: 0001-01-01 }, GetCardData: { InTime: 0001-01-01, OutTime: 0001-01-01 }, CardTokenize: { InTime: 0001-01-01, OutTime: 0001-01-01 }, CardEncrypt: { InTime: 0001-01-01, OutTime: 0001-01-01 }, DBInsert: { InTime: 0001-01-01, OutTime: 0001-01-01 }, BackendProcess: { InTime: 0001-01-01, OutTime: 0001-01-01 }, DBUpdate: { InTime: 0001-01-01, OutTime: 0001-01-01 }, ParentUpdate: { InTime: 0001-01-01, OutTime: 0001-01-01 }, Network: { InTime: 0001-01-01, OutTime: 0001-01-01 } } }