| POST | /CreateACHToken |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
@DataContract
open class CreateACHTokenRequest
{
@DataMember
var Credentials:RequestorCredentials? = null
@DataMember
var SessionId:String? = null
@DataMember
var ExtendedData:ACHExtendedData? = null
}
open class RequestorCredentials
{
@Required()
var MerchantId:String? = null
@Required()
var UserName:String? = null
@Required()
var Password:String? = null
@Required()
var Version:String? = null
}
@DataContract
open class ACHExtendedData
{
@DataMember
var CashbackAmount:Int? = null
@DataMember
var ConnectPaySubScriberId:String? = null
@DataMember
var OrganizationId:String? = null
@DataMember
var DeviceFingerPrint:String? = null
@DataMember
var MerchantSessionId:String? = null
@DataMember
var CurrencyCode:String? = null
@DataMember
var PaymentType:String? = null
@DataMember
var VerifyCustomer:Boolean? = null
@DataMember
var CustomerExternalId:String? = null
@DataMember
var Description:String? = null
@DataMember
var CustomerName:String? = null
@DataMember
var AddressLine1:String? = null
@DataMember
var AddressLine2:String? = null
@DataMember
var City:String? = null
@DataMember
var State:String? = null
@DataMember
var Zip:String? = null
@DataMember
var Country:String? = null
@DataMember
var Email:String? = null
@DataMember
var TelephoneNumber:String? = null
@DataMember
var ReturnUrl:String? = null
@DataMember
var CancelUrl:String? = null
@DataMember
var EstablishData:String? = null
@DataMember
var RedirectUrl:String? = null
@DataMember
var RetryAttemptCount:Int? = null
@DataMember
var SignatureHashVersion:String? = null
@DataMember
var DeadlineHashDate:Date? = null
}
@DataContract
open class CreateACHToken : PaysecureResponseInternal()
{
@DataMember
var ACHToken:String? = null
@DataMember
var BankName:String? = null
@DataMember
var AccountNumberLast4:String? = null
@DataMember
var ACHHash:String? = null
@DataMember
var AccountType:String? = null
@DataMember
var AccountName:String? = null
@DataMember
var BankId:String? = null
@DataMember
var AccountStatus:String? = null
@DataMember
var UserInformation:UserInformation? = null
@DataMember
var ResponseCode:String? = null
@DataMember
var ErrorMessage:String? = null
@DataMember
var ErrorCode:String? = null
@DataMember
var ExtendedData:ACHExtendedDataResponse? = null
}
@DataContract
open class PaysecureResponseInternal
{
@DataMember(EmitDefaultValue=false)
var Timestamps:RequestTimestamps? = null
}
@DataContract
open class RequestTimestamps
{
@DataMember(EmitDefaultValue=false)
var AppLayer:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var ParentLookup:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var RetryLookup:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var GetCardData:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var CardTokenize:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var CardEncrypt:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var DBInsert:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var BackendProcess:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var DBUpdate:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var ParentUpdate:InOutTimes? = null
@DataMember(EmitDefaultValue=false)
var Network:InOutTimes? = null
}
@DataContract
open class InOutTimes
{
}
@DataContract
open class UserInformation
{
@DataMember
var Name:ArrayList<String>? = null
@DataMember
var Phone:ArrayList<String>? = null
@DataMember
var Email:ArrayList<String>? = null
@DataMember
var Address:ArrayList<AddressDetails>? = null
}
@DataContract
open class AddressDetails
{
@DataMember
var Address1:String? = null
@DataMember
var Address2:String? = null
@DataMember
var City:String? = null
@DataMember
var State:String? = null
@DataMember
var Zip:String? = null
@DataMember
var Country:String? = null
}
@DataContract
open class ACHExtendedDataResponse
{
@DataMember(EmitDefaultValue=false)
var NetworkResponseCode:String? = null
@DataMember(EmitDefaultValue=false)
var NetworkErrorCode:String? = null
@DataMember(EmitDefaultValue=false)
var DeclineReferenceCode:String? = null
@DataMember(EmitDefaultValue=false)
var NetworkTransactionId:String? = null
}
Kotlin CreateACHTokenRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<CreateACHTokenRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Credentials>
<MerchantId>String</MerchantId>
<Password>String</Password>
<UserName>String</UserName>
<Version>String</Version>
</Credentials>
<ExtendedData>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<CancelUrl>String</CancelUrl>
<CashbackAmount>0</CashbackAmount>
<City>String</City>
<ConnectPaySubScriberId>String</ConnectPaySubScriberId>
<Country>String</Country>
<CurrencyCode>String</CurrencyCode>
<CustomerExternalId>String</CustomerExternalId>
<CustomerName>String</CustomerName>
<DeadlineHashDate>0001-01-01T00:00:00</DeadlineHashDate>
<Description>String</Description>
<DeviceFingerPrint>String</DeviceFingerPrint>
<Email>String</Email>
<EstablishData>String</EstablishData>
<MerchantSessionId>String</MerchantSessionId>
<OrganizationId>String</OrganizationId>
<PaymentType>String</PaymentType>
<RedirectUrl>String</RedirectUrl>
<RetryAttemptCount>0</RetryAttemptCount>
<ReturnUrl>String</ReturnUrl>
<SignatureHashVersion>String</SignatureHashVersion>
<State>String</State>
<TelephoneNumber>String</TelephoneNumber>
<VerifyCustomer>false</VerifyCustomer>
<Zip>String</Zip>
</ExtendedData>
<SessionId>String</SessionId>
</CreateACHTokenRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CreateACHToken xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Timestamps>
<AppLayer>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</AppLayer>
<BackendProcess>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</BackendProcess>
<CardEncrypt>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</CardEncrypt>
<CardTokenize>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</CardTokenize>
<DBInsert>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</DBInsert>
<DBUpdate>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</DBUpdate>
<GetCardData>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</GetCardData>
<Network>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</Network>
<ParentLookup>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</ParentLookup>
<ParentUpdate>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</ParentUpdate>
<RetryLookup>
<InTime>0001-01-01T00:00:00</InTime>
<OutTime>0001-01-01T00:00:00</OutTime>
</RetryLookup>
</Timestamps>
<ACHHash>String</ACHHash>
<ACHToken>String</ACHToken>
<AccountName>String</AccountName>
<AccountNumberLast4>String</AccountNumberLast4>
<AccountStatus>String</AccountStatus>
<AccountType>String</AccountType>
<BankId>String</BankId>
<BankName>String</BankName>
<ErrorCode>String</ErrorCode>
<ErrorMessage>String</ErrorMessage>
<ExtendedData>
<DeclineReferenceCode>String</DeclineReferenceCode>
<NetworkErrorCode>String</NetworkErrorCode>
<NetworkResponseCode>String</NetworkResponseCode>
<NetworkTransactionId>String</NetworkTransactionId>
</ExtendedData>
<ResponseCode>String</ResponseCode>
<UserInformation>
<Address>
<AddressDetails>
<Address1>String</Address1>
<Address2>String</Address2>
<City>String</City>
<Country>String</Country>
<State>String</State>
<Zip>String</Zip>
</AddressDetails>
</Address>
<Email xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Email>
<Name xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Name>
<Phone xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Phone>
</UserInformation>
</CreateACHToken>