PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

TransactionStatusRequest

The following routes are available for this service:
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 .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
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":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"RetryLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"GetCardData":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardTokenize":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardEncrypt":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBInsert":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"BackendProcess":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"Network":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"}}}