| POST | /CreateACHToken |
|---|
namespace Paysecure.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<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
[<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 CreateACHTokenRequest() =
[<DataMember>]
member val Credentials:RequestorCredentials = null with get,set
[<DataMember>]
member val SessionId:String = null with get,set
[<DataMember>]
member val ExtendedData:ACHExtendedData = null with get,set
[<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 UserInformation() =
[<DataMember>]
member val Name:String[] = [||] with get,set
[<DataMember>]
member val Phone:String[] = [||] with get,set
[<DataMember>]
member val Email:String[] = [||] with get,set
[<DataMember>]
member val Address:AddressDetails[] = [||] 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 CreateACHToken() =
inherit PaysecureResponseInternal()
[<DataMember>]
member val ACHToken:String = null with get,set
[<DataMember>]
member val BankName:String = null with get,set
[<DataMember>]
member val AccountNumberLast4:String = null with get,set
[<DataMember>]
member val ACHHash:String = null with get,set
[<DataMember>]
member val AccountType:String = null with get,set
[<DataMember>]
member val AccountName:String = null with get,set
[<DataMember>]
member val BankId:String = null with get,set
[<DataMember>]
member val AccountStatus:String = null with get,set
[<DataMember>]
member val UserInformation:UserInformation = 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
[<DataMember>]
member val ExtendedData:ACHExtendedDataResponse = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type AddressDetails() =
[<DataMember>]
member val Address1:String = null with get,set
[<DataMember>]
member val Address2: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
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 /CreateACHToken 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
},
SessionId: 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
{
ACHToken: String,
BankName: String,
AccountNumberLast4: String,
ACHHash: String,
AccountType: String,
AccountName: String,
BankId: String,
AccountStatus: String,
UserInformation:
{
Name:
[
String
],
Phone:
[
String
],
Email:
[
String
],
Address:
[
{
Address1: String,
Address2: String,
City: String,
State: String,
Zip: String,
Country: String
}
]
},
ResponseCode: String,
ErrorMessage: String,
ErrorCode: 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
}
}
}