PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

AchAuthorizeDebitRequest

The following routes are available for this service:
POST/ACHDebit
namespace Paysecure.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    [<AllowNullLiteral>]
    type InOutTimes() = 
        class end

    [<DataContract>]
    [<AllowNullLiteral>]
    type RequestTimestamps() = 
        [<DataMember(EmitDefaultValue=false)>]
        member val AppLayer:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val ParentLookup:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val RetryLookup:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val GetCardData:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val CardTokenize:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val CardEncrypt:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val DBInsert:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val BackendProcess:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val DBUpdate:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val ParentUpdate:InOutTimes = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val Network:InOutTimes = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type PaysecureResponseInternal() = 
        [<DataMember(EmitDefaultValue=false)>]
        member val Timestamps:RequestTimestamps = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ACHExtendedDataResponse() = 
        [<DataMember(EmitDefaultValue=false)>]
        member val NetworkResponseCode:String = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val NetworkErrorCode:String = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val DeclineReferenceCode:String = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val NetworkTransactionId:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AchPaysecureVersion() = 
        inherit PaysecureResponseInternal()
        [<DataMember(EmitDefaultValue=false)>]
        member val LocalDateTime:String = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val ExtendedData:ACHExtendedDataResponse = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AchProviderResponse() = 
        [<DataMember>]
        member val NetworkResponseCode:String = null with get,set

        [<DataMember>]
        member val TransactionStatusCode:Int32 = new Int32() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AchAuthorizeDebit() = 
        inherit AchPaysecureVersion()
        [<DataMember>]
        member val TranId:String = null with get,set

        [<DataMember>]
        member val ApprovalCode:String = null with get,set

        [<DataMember>]
        member val ResponseCode:String = null with get,set

        [<DataMember>]
        member val Network:String = null with get,set

        [<DataMember>]
        member val ApprovedAmount:Int32 = new Int32() with get,set

        [<DataMember>]
        member val ErrorMessage:String = null with get,set

        [<DataMember>]
        member val ErrorCode:String = null with get,set

        [<DataMember(EmitDefaultValue=false)>]
        member val AchProviderDetails:AchProviderResponse = null with get,set

    [<AllowNullLiteral>]
    type RequestorCredentials() = 
        [<Required>]
        member val MerchantId:String = null with get,set

        [<Required>]
        member val UserName:String = null with get,set

        [<Required>]
        member val Password:String = null with get,set

        [<Required>]
        member val Version:String = null with get,set

    type ACHType =
        | Token = 0
        | CPToken = 1

    [<AllowNullLiteral>]
    type ACHTokenDescriptor() = 
        member val ACHTokenType:ACHType = new ACHType() with get,set
        member val ACHTokenData:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ACHExtendedData() = 
        [<DataMember>]
        member val CashbackAmount:Int32 = new Int32() with get,set

        [<DataMember>]
        member val ConnectPaySubScriberId:String = null with get,set

        [<DataMember>]
        member val OrganizationId:String = null with get,set

        [<DataMember>]
        member val DeviceFingerPrint:String = null with get,set

        [<DataMember>]
        member val MerchantSessionId:String = null with get,set

        [<DataMember>]
        member val CurrencyCode:String = null with get,set

        [<DataMember>]
        member val PaymentType:String = null with get,set

        [<DataMember>]
        member val VerifyCustomer:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val CustomerExternalId:String = null with get,set

        [<DataMember>]
        member val Description:String = null with get,set

        [<DataMember>]
        member val CustomerName:String = null with get,set

        [<DataMember>]
        member val AddressLine1:String = null with get,set

        [<DataMember>]
        member val AddressLine2:String = null with get,set

        [<DataMember>]
        member val City:String = null with get,set

        [<DataMember>]
        member val State:String = null with get,set

        [<DataMember>]
        member val Zip:String = null with get,set

        [<DataMember>]
        member val Country:String = null with get,set

        [<DataMember>]
        member val Email:String = null with get,set

        [<DataMember>]
        member val TelephoneNumber:String = null with get,set

        [<DataMember>]
        member val ReturnUrl:String = null with get,set

        [<DataMember>]
        member val CancelUrl:String = null with get,set

        [<DataMember>]
        member val EstablishData:String = null with get,set

        [<DataMember>]
        member val RedirectUrl:String = null with get,set

        [<DataMember>]
        member val RetryAttemptCount:Int32 = new Int32() with get,set

        [<DataMember>]
        member val SignatureHashVersion:String = null with get,set

        [<DataMember>]
        member val DeadlineHashDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AchAuthorizeDebitRequest() = 
        [<DataMember>]
        member val Credentials:RequestorCredentials = null with get,set

        [<DataMember>]
        member val ACHToken:ACHTokenDescriptor = null with get,set

        [<DataMember>]
        member val Amount:Int32 = new Int32() with get,set

        [<DataMember>]
        member val ReferenceKey:String = null with get,set

        [<DataMember>]
        member val Custom1:String = null with get,set

        [<DataMember>]
        member val Custom2:String = null with get,set

        [<DataMember>]
        member val Custom3:String = null with get,set

        [<DataMember>]
        member val Custom4:String = null with get,set

        [<DataMember>]
        member val Custom5:String = null with get,set

        [<DataMember>]
        member val SignatureHash:String = null with get,set

        [<DataMember>]
        member val CurrencyCode:String = null with get,set

        [<DataMember>]
        member val ExtendedData:ACHExtendedData = null with get,set

F# AchAuthorizeDebitRequest 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 /ACHDebit 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"},"ACHToken":{"ACHTokenType":"Token","ACHTokenData":"String"},"Amount":0,"ReferenceKey":"String","Custom1":"String","Custom2":"String","Custom3":"String","Custom4":"String","Custom5":"String","SignatureHash":"String","CurrencyCode":"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":"\/Date(-62135596800000-0000)\/"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"TranId":"String","ApprovalCode":"String","ResponseCode":"String","Network":"String","ApprovedAmount":0,"ErrorMessage":"String","ErrorCode":"String","AchProviderDetails":{"NetworkResponseCode":"String","TransactionStatusCode":0},"LocalDateTime":"String","ExtendedData":{"NetworkResponseCode":"String","NetworkErrorCode":"String","DeclineReferenceCode":"String","NetworkTransactionId":"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)\/"}}}