POST | /ACHPreAuthVoid |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Paysecure.ServiceModel
Imports Paysecure.ServiceModel.Types
Namespace Global
Namespace Paysecure.ServiceModel
<DataContract>
Public Partial Class AchPreAuthVoid
Inherits AchPaysecureVersion
<DataMember>
Public Overridable Property TranId As String
<DataMember>
Public Overridable Property ResponseCode As String
<DataMember>
Public Overridable Property ErrorMessage As String
<DataMember>
Public Overridable Property ErrorCode As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property AchProviderDetails As AchProviderResponse
End Class
<DataContract>
Public Partial Class AchPreAuthVoidRequest
<DataMember>
Public Overridable Property Credentials As RequestorCredentials
<DataMember>
Public Overridable Property OriginalData As OriginalTransaction
<DataMember>
Public Overridable Property ReferenceKey As String
<DataMember>
Public Overridable Property Custom1 As String
<DataMember>
Public Overridable Property Custom2 As String
<DataMember>
Public Overridable Property Custom3 As String
<DataMember>
Public Overridable Property Custom4 As String
<DataMember>
Public Overridable Property Custom5 As String
<DataMember>
Public Overridable Property SignatureHash As String
<DataMember>
Public Overridable Property ExtendedData As ACHExtendedData
End Class
End Namespace
Namespace Paysecure.ServiceModel.Types
<DataContract>
Public Partial Class ACHExtendedData
<DataMember>
Public Overridable Property CashbackAmount As Integer
<DataMember>
Public Overridable Property ConnectPaySubScriberId As String
<DataMember>
Public Overridable Property OrganizationId As String
<DataMember>
Public Overridable Property DeviceFingerPrint As String
<DataMember>
Public Overridable Property MerchantSessionId As String
<DataMember>
Public Overridable Property CurrencyCode As String
<DataMember>
Public Overridable Property PaymentType As String
<DataMember>
Public Overridable Property VerifyCustomer As Boolean
<DataMember>
Public Overridable Property CustomerExternalId As String
<DataMember>
Public Overridable Property Description As String
<DataMember>
Public Overridable Property CustomerName As String
<DataMember>
Public Overridable Property AddressLine1 As String
<DataMember>
Public Overridable Property AddressLine2 As String
<DataMember>
Public Overridable Property City As String
<DataMember>
Public Overridable Property State As String
<DataMember>
Public Overridable Property Zip As String
<DataMember>
Public Overridable Property Country As String
<DataMember>
Public Overridable Property Email As String
<DataMember>
Public Overridable Property TelephoneNumber As String
<DataMember>
Public Overridable Property ReturnUrl As String
<DataMember>
Public Overridable Property CancelUrl As String
<DataMember>
Public Overridable Property EstablishData As String
<DataMember>
Public Overridable Property RedirectUrl As String
<DataMember>
Public Overridable Property RetryAttemptCount As Integer
<DataMember>
Public Overridable Property SignatureHashVersion As String
<DataMember>
Public Overridable Property DeadlineHashDate As Nullable(Of Date)
End Class
<DataContract>
Public Partial Class ACHExtendedDataResponse
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property NetworkResponseCode As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property NetworkErrorCode As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property DeclineReferenceCode As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property NetworkTransactionId As String
End Class
<DataContract>
Public Partial Class AchPaysecureVersion
Inherits PaysecureResponseInternal
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property LocalDateTime As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property ExtendedData As ACHExtendedDataResponse
End Class
<DataContract>
Public Partial Class AchProviderResponse
<DataMember>
Public Overridable Property NetworkResponseCode As String
<DataMember>
Public Overridable Property TransactionStatusCode As Integer
End Class
<DataContract>
Public Partial Class InOutTimes
End Class
Public Enum OriginalDataType
TransactionId = 1
ReferenceKey = 2
ExternalId = 3
InternalTransactionId = 4
End Enum
Public Partial Class OriginalTransaction
Public Overridable Property OriginalIdentifierType As OriginalDataType
Public Overridable Property OriginalDataIdentifier As String
End Class
<DataContract>
Public Partial Class PaysecureResponseInternal
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property Timestamps As RequestTimestamps
End Class
Public Partial Class RequestorCredentials
<Required>
Public Overridable Property MerchantId As String
<Required>
Public Overridable Property UserName As String
<Required>
Public Overridable Property Password As String
<Required>
Public Overridable Property Version As String
End Class
<DataContract>
Public Partial Class RequestTimestamps
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property AppLayer As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property ParentLookup As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property RetryLookup As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property GetCardData As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property CardTokenize As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property CardEncrypt As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property DBInsert As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property BackendProcess As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property DBUpdate As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property ParentUpdate As InOutTimes
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property Network As InOutTimes
End Class
End Namespace
End Namespace
VB.NET AchPreAuthVoidRequest 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 /ACHPreAuthVoid 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
},
ReferenceKey: String,
Custom1: String,
Custom2: String,
Custom3: String,
Custom4: String,
Custom5: String,
SignatureHash: String,
ExtendedData:
{
CashbackAmount: 0,
ConnectPaySubScriberId: String,
OrganizationId: String,
DeviceFingerPrint: String,
MerchantSessionId: String,
CurrencyCode: String,
PaymentType: String,
VerifyCustomer: False,
CustomerExternalId: String,
Description: String,
CustomerName: String,
AddressLine1: String,
AddressLine2: String,
City: String,
State: String,
Zip: String,
Country: String,
Email: String,
TelephoneNumber: String,
ReturnUrl: String,
CancelUrl: String,
EstablishData: String,
RedirectUrl: String,
RetryAttemptCount: 0,
SignatureHashVersion: String,
DeadlineHashDate: 0001-01-01
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { TranId: String, ResponseCode: String, ErrorMessage: String, ErrorCode: String, AchProviderDetails: { NetworkResponseCode: String, TransactionStatusCode: 0 }, LocalDateTime: String, ExtendedData: { NetworkResponseCode: String, NetworkErrorCode: String, DeclineReferenceCode: String, NetworkTransactionId: 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 } } }