PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

ClientTokenizeACHRequest

The following routes are available for this service:
POST/ClientTokenizeACH
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 ClientTokenizeACH() = 
        inherit PaysecureResponseInternal()
        [<DataMember>]
        member val SessionToken:String = null with get,set

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

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

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

    [<AllowNullLiteral>]
    type BillingDescriptor() = 
        member val Address:String = null with get,set
        member val City:String = null with get,set
        member val State:String = null with get,set
        member val Zip:String = null with get,set
        member val Country:String = null with get,set

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

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

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

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

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

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

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

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

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

        [<DataMember>]
        member val BillingDetails:BillingDescriptor = null with get,set

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

F# ClientTokenizeACHRequest 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 /ClientTokenizeACH HTTP/1.1 
Host: api.paysecure.acculynk.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Version: String,
	KeyId: String,
	FirstName: String,
	LastName: String,
	Email: String,
	PhoneType: String,
	PhoneNumber: String,
	RoutingNumber: String,
	EncryptedAccountNumber: String,
	BillingDetails: 
	{
		Address: String,
		City: String,
		State: String,
		Zip: String,
		Country: String
	},
	VerifyACH: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	SessionToken: String,
	ResponseCode: String,
	ErrorMessage: String,
	ErrorCode: 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
		}
	}
}