POST | /TransactionStatus |
---|
// @DataContract
export class InOutTimes
{
public constructor(init?: Partial<InOutTimes>) { (Object as any).assign(this, init); }
}
// @DataContract
export class RequestTimestamps
{
// @DataMember(EmitDefaultValue=false)
public AppLayer: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public ParentLookup: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public RetryLookup: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public GetCardData: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public CardTokenize: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public CardEncrypt: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public DBInsert: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public BackendProcess: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public DBUpdate: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public ParentUpdate: InOutTimes;
// @DataMember(EmitDefaultValue=false)
public Network: InOutTimes;
public constructor(init?: Partial<RequestTimestamps>) { (Object as any).assign(this, init); }
}
// @DataContract
export class PaysecureResponseInternal
{
// @DataMember(EmitDefaultValue=false)
public Timestamps: RequestTimestamps;
public constructor(init?: Partial<PaysecureResponseInternal>) { (Object as any).assign(this, init); }
}
export class Transaction
{
public TranId: string;
public Status: string;
public ApprovalCode: string;
public ResponseCode: string;
public TransactionDT: string;
public TransactionAmount: number;
public Network: string;
public ApprovedAmount: number;
public OpenAmount: number;
public ParentTranId: string;
public ExternalIds: string[];
public LocalDateTime: string;
public CurrencyCode: string;
public AVS: string;
public CVN: string;
public constructor(init?: Partial<Transaction>) { (Object as any).assign(this, init); }
}
// @DataContract
export class TransactionStatus extends PaysecureResponseInternal
{
// @DataMember
public History: Transaction;
// @DataMember
public ErrorMessage: string;
// @DataMember
public ErrorCode: string;
public constructor(init?: Partial<TransactionStatus>) { super(init); (Object as any).assign(this, init); }
}
export class RequestorCredentials
{
// @Required()
public MerchantId: string;
// @Required()
public UserName: string;
// @Required()
public Password: string;
// @Required()
public Version: string;
public constructor(init?: Partial<RequestorCredentials>) { (Object as any).assign(this, init); }
}
export enum OriginalDataType
{
TransactionId = 1,
ReferenceKey = 2,
ExternalId = 3,
InternalTransactionId = 4,
}
export class OriginalTransaction
{
public OriginalIdentifierType: OriginalDataType;
public OriginalDataIdentifier: string;
public constructor(init?: Partial<OriginalTransaction>) { (Object as any).assign(this, init); }
}
// @DataContract
export class TransactionStatusRequest
{
// @DataMember
public Credentials: RequestorCredentials;
// @DataMember
public OriginalData: OriginalTransaction;
public constructor(init?: Partial<TransactionStatusRequest>) { (Object as any).assign(this, init); }
}
TypeScript TransactionStatusRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<TransactionStatusRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Credentials>
<MerchantId>String</MerchantId>
<Password>String</Password>
<UserName>String</UserName>
<Version>String</Version>
</Credentials>
<OriginalData>
<OriginalDataIdentifier>String</OriginalDataIdentifier>
<OriginalIdentifierType>TransactionId</OriginalIdentifierType>
</OriginalData>
</TransactionStatusRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <TransactionStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Timestamps> <AppLayer> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </AppLayer> <BackendProcess> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </BackendProcess> <CardEncrypt> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </CardEncrypt> <CardTokenize> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </CardTokenize> <DBInsert> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </DBInsert> <DBUpdate> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </DBUpdate> <GetCardData> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </GetCardData> <Network> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </Network> <ParentLookup> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </ParentLookup> <ParentUpdate> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </ParentUpdate> <RetryLookup> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </RetryLookup> </Timestamps> <ErrorCode>String</ErrorCode> <ErrorMessage>String</ErrorMessage> <History> <AVS>String</AVS> <ApprovalCode>String</ApprovalCode> <ApprovedAmount>0</ApprovedAmount> <CVN>String</CVN> <CurrencyCode>String</CurrencyCode> <ExternalIds xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>String</d3p1:string> </ExternalIds> <LocalDateTime>String</LocalDateTime> <Network>String</Network> <OpenAmount>0</OpenAmount> <ParentTranId>String</ParentTranId> <ResponseCode>String</ResponseCode> <Status>String</Status> <TranId>String</TranId> <TransactionAmount>0</TransactionAmount> <TransactionDT>String</TransactionDT> </History> </TransactionStatus>