POST | /ACHRefund |
---|
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 AchRefundRequest
<DataMember>
Public Overridable Property Credentials As RequestorCredentials
<DataMember>
Public Overridable Property TranId As String
<DataMember>
Public Overridable Property Amount As Integer
<DataMember>
Public Overridable Property ReferenceKey As String
<DataMember>
Public Overridable Property MerchantDetails As MerchantDescriptor
<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 AVS As Avs
<DataMember>
Public Overridable Property ExtendedData As ACHExtendedData
End Class
Public Partial Class Avs
Public Overridable Property Address As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property Zip As String
Public Overridable Property Country As String
Public Overridable Property Email As String
Public Overridable Property IPAddress As String
Public Overridable Property TelephoneNumber As String
Public Overridable Property TelephoneType As TelephoneType
Public Overridable Property DeliveryMethod As Integer
Public Overridable Property FirstName As String
Public Overridable Property MiddleName As String
Public Overridable Property LastName As String
End Class
Public Partial Class MerchantDescriptor
Inherits MerchantDescriptorBase
Public Overridable Property Name As String
Public Overridable Property Address As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property Zip As String
Public Overridable Property Country As String
Public Overridable Property CustomerServiceNumber As String
Public Overridable Property MCC As String
Public Overridable Property FNSnum As String
Public Overridable Property Email As String
End Class
Public Partial Class MerchantDescriptorBase
Public Overridable Property DataElements As MerchantDataElements
End Class
<DataContract>
Public Partial Class Refund
Inherits PaysecureVersion
<DataMember>
Public Overridable Property TranId As String
<DataMember>
Public Overridable Property ApprovalCode As String
<DataMember>
Public Overridable Property ResponseCode As String
<DataMember>
Public Overridable Property Network As String
<DataMember>
Public Overridable Property ErrorMessage As String
<DataMember>
Public Overridable Property ErrorCode As String
End Class
Public Enum TelephoneType
D
H
N
W
End Enum
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
Public Partial Class CardAccountUpdaterDescriptor
Public Overridable Property CardDataType As CardInfoType
Public Overridable Property CardNumberInfo As String
Public Overridable Property ExpiryDate As String
Public Overridable Property Status As String
Public Overridable Property ErrorCode As String
Public Overridable Property CardToken As String
End Class
Public Enum CardInfoType
CardNumber
Token
Track
EMV
Encrypted
DPAN
ApplePay
GooglePay
SamsungPay
CPToken
EncryptedEnhanced
EncryptedJWE
End Enum
<DataContract>
Public Partial Class ExtendedResponse
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property CardAccountUpdater As CardAccountUpdaterDescriptor
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property ProductId As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property NetworkResponseCode As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property NetworkTransactionId As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property CHEmailAddrResult As String
End Class
<DataContract>
Public Partial Class InOutTimes
End Class
Public Partial Class MerchantDataElements
Public Overridable Property RefundSettlementTypeDetails As Integer
Public Overridable Property SendRecurringPOSEntryModeFeature As Boolean
Public Overridable Property UseOrgPOSCode As Boolean
End Class
<DataContract>
Public Partial Class PaysecureResponseInternal
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property Timestamps As RequestTimestamps
End Class
<DataContract>
Public Partial Class PaysecureVersion
Inherits PaysecureResponseInternal
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property LocalDateTime As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property Token As String
<DataMember(EmitDefaultValue:=false)>
Public Overridable Property ExtendedData As ExtendedResponse
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
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 /ACHRefund 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
},
TranId: String,
Amount: 0,
ReferenceKey: String,
MerchantDetails:
{
Name: String,
Address: String,
City: String,
State: String,
Zip: String,
Country: String,
CustomerServiceNumber: String,
MCC: String,
FNSnum: String,
Email: String,
DataElements:
{
RefundSettlementTypeDetails: 0,
SendRecurringPOSEntryModeFeature: False,
UseOrgPOSCode: False
}
},
Custom1: String,
Custom2: String,
Custom3: String,
Custom4: String,
Custom5: String,
SignatureHash: String,
AVS:
{
Address: String,
City: String,
State: String,
Zip: String,
Country: String,
Email: String,
IPAddress: String,
TelephoneNumber: String,
TelephoneType: D,
DeliveryMethod: 0,
FirstName: String,
MiddleName: String,
LastName: 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, ApprovalCode: String, ResponseCode: String, Network: String, ErrorMessage: String, ErrorCode: String, LocalDateTime: String, Token: String, ExtendedData: { CardAccountUpdater: { CardDataType: CardNumber, CardNumberInfo: String, ExpiryDate: String, Status: String, ErrorCode: String, CardToken: String }, ProductId: String, NetworkResponseCode: String, NetworkTransactionId: String, CHEmailAddrResult: 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 } } }