PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

AchRefundRequest

The following routes are available for this service:
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

VB.NET AchRefundRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
		}
	}
}