PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

AuthorizePinDebitRequest

The following routes are available for this service:
POST/PinDebit
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 AuthorizePinDebit() = 
        inherit PaysecureResponseInternal()
        [<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 AVS:String = null with get,set

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

        [<DataMember>]
        member val OTP: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 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 CardInfoType =
        | CardNumber = 0
        | Token = 1
        | Track = 2
        | EMV = 3
        | Encrypted = 4
        | DPAN = 5
        | ApplePay = 6
        | GooglePay = 7
        | SamsungPay = 8
        | CPToken = 9
        | EncryptedEnhanced = 10
        | EncryptedJWE = 11

    [<AllowNullLiteral>]
    type Card() = 
        member val CardDataType:CardInfoType = new CardInfoType() with get,set
        member val CardNumberData:String = null with get,set
        member val KeyID:String = null with get,set

    type TelephoneType =
        | D = 0
        | H = 1
        | N = 2
        | W = 3

    [<AllowNullLiteral>]
    type Avs() = 
        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
        member val Email:String = null with get,set
        member val IPAddress:String = null with get,set
        member val TelephoneNumber:String = null with get,set
        member val TelephoneType:TelephoneType = new TelephoneType() with get,set
        member val DeliveryMethod:Int32 = new Int32() with get,set
        member val FirstName:String = null with get,set
        member val MiddleName:String = null with get,set
        member val LastName:String = null with get,set

    [<AllowNullLiteral>]
    type MerchantDataElements() = 
        member val RefundSettlementTypeDetails:Int32 = new Int32() with get,set
        member val SendRecurringPOSEntryModeFeature:Boolean = new Boolean() with get,set
        member val UseOrgPOSCode:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type MerchantDescriptorBase() = 
        member val DataElements:MerchantDataElements = null with get,set

    [<AllowNullLiteral>]
    type MerchantDescriptor() = 
        inherit MerchantDescriptorBase()
        member val Name:String = null with get,set
        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
        member val CustomerServiceNumber:String = null with get,set
        member val MCC:String = null with get,set
        member val FNSnum:String = null with get,set
        member val Email:String = null with get,set

    type FundingSourceType =
        | DepositAccount = 0
        | Credit = 1
        | Debit = 2
        | Prepaid = 3

    [<AllowNullLiteral>]
    type SenderInfo() = 
        member val ReferenceNumber:String = null with get,set
        member val AccountNumber:String = null with get,set
        ///<summary>
        ///Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
        ///</summary>
        member val Name:String = null with get,set

        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 Country:String = null with get,set
        ///<summary>
        ///DateOfBirth Format MMDDYYYY. For Example :- 05051960
        ///</summary>
        member val DateOfBirth:String = null with get,set

        member val Zip:String = null with get,set
        member val PhoneNumber:String = null with get,set
        member val FundingSource:FundingSourceType = new FundingSourceType() with get,set

    type NetworkName =
        | Default = 0
        | NYCE = 1
        | CU24 = 2
        | XCEL = 3
        | STAR = 4
        | PULS = 5
        | SHZM = 6
        | VISA = 7
        | MAST = 8
        | DISC = 9
        | AMEX = 10
        | ALIP = 11
        | UPIN = 12
        | STAC = 13
        | STNE = 14
        | MAES = 15
        | INTL = 16

    [<AllowNullLiteral>]
    type ReceiverInfo() = 
        member val ReferenceNumber:String = null with get,set
        member val AccountNumber:String = null with get,set
        ///<summary>
        ///Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
        ///</summary>
        member val Name:String = null with get,set

        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 Country:String = null with get,set
        member val Zip:String = null with get,set
        member val PhoneNumber:String = null with get,set

    type BillPayGroup =
        | Default = 0
        | Single = 1
        | Recurring = 2
        | Installment = 3
        | Deferred = 4

    type DigitalWalletInfo =
        | Default = 0
        | Staged = 1
        | Passthrough = 2

    [<AllowNullLiteral>]
    type WalletDescriptor() = 
        member val Type:String = null with get,set
        member val EncryptedData:String = null with get,set
        member val ApplicationDataHash:String = null with get,set
        member val EphemeralPublicKey:String = null with get,set
        member val PublicKeyHash:String = null with get,set
        member val TransactionId:String = null with get,set
        member val Signature:String = null with get,set
        member val Version:String = null with get,set
        member val ApplicationData:String = null with get,set
        member val MerchantIdentifier:String = null with get,set
        member val SpecialPayment:String = null with get,set
        member val DigitalWalletIndicator:DigitalWalletInfo = new DigitalWalletInfo() with get,set

    [<AllowNullLiteral>]
    type SecureDescriptor() = 
        member val CAVV:String = null with get,set
        member val SecureTransactionId:String = null with get,set

    type TaxIndicator =
        | Default = 0
        | NoTaxInfoProvided = 1
        | TaxInfoProvided = 2
        | TaxExemptItem = 3

    [<AllowNullLiteral>]
    type Level2Descriptor() = 
        member val TaxDetails:TaxIndicator = new TaxIndicator() with get,set
        member val MerchantReferenceNumber:String = null with get,set
        member val MerchantTaxId:String = null with get,set
        member val OrderNumber:String = null with get,set
        member val TaxAmount:Int32 = new Int32() with get,set
        member val DestinationPostalCode:String = null with get,set
        member val ProductDescription:String = null with get,set

    [<AllowNullLiteral>]
    type PaymentFacilitatorDescriptor() = 
        member val PaymentFacilitatorIndicator:String = null with get,set
        member val PFPhoneNumber:String = null with get,set
        member val SubMerchID:String = null with get,set
        member val SellerID:String = null with get,set

    type TokenTypes =
        | Default = 0
        | UCAF = 1
        | DSRP = 2
        | UCAFDSRP = 3
        | VisaVerified = 4
        | DigitalWallet = 5
        | VisaVerifiedDigitalWallet = 6

    [<AllowNullLiteral>]
    type TokenDescriptor() = 
        member val TokenType:TokenTypes = new TokenTypes() with get,set
        member val TokenCryptogramData1:String = null with get,set
        member val TokenCryptogramData2:String = null with get,set

    type CardonFileInfo =
        | Default = 0
        | Supported = 1
        | NotSupported = 2

    type StoredCredentialIndicatorInfo =
        | Default = 0
        | Initial = 1
        | Subsequent = 2

    type TransactionInitiateInfo =
        | Default = 0
        | Merchant = 1
        | Terminal = 2
        | Customer = 3

    type ScheduleIndicatorInfo =
        | Default = 0
        | Scheduled = 1
        | Unscheduled = 2

    [<AllowNullLiteral>]
    type CardonFileIndicatorDescriptor() = 
        member val CardonFile:CardonFileInfo = new CardonFileInfo() with get,set
        member val StoredCredentialIndicator:StoredCredentialIndicatorInfo = new StoredCredentialIndicatorInfo() with get,set
        member val TransactionInitiate:TransactionInitiateInfo = new TransactionInitiateInfo() with get,set
        member val ScheduleIndicator:ScheduleIndicatorInfo = new ScheduleIndicatorInfo() with get,set
        member val NetworkTransactionId:String = null with get,set

    type CardAccountUpdaterInfo =
        | Default = 0
        | Supported = 1
        | NotSupported = 2

    type OrderTypeInfo =
        | Default = 0
        | Standing = 1
        | Subscription = 2

    [<AllowNullLiteral>]
    type BillPayGroupIndicator() = 
        member val MITTotalPaymentCount:String = null with get,set
        member val MITAmountType:String = null with get,set
        member val MITAmount:String = null with get,set
        member val MITUniqueID:String = null with get,set
        member val MITFrequency:String = null with get,set
        member val MITValidationFlag:String = null with get,set
        member val MITValidationReference:String = null with get,set
        member val MITSequenceIndicator:String = null with get,set

    type ChargeTypeInfo =
        | Default = 0
        | PartialShipment = 1
        | Delayed = 2
        | NoShow = 3
        | Resubmission = 4

    type SAFEligibleFlag =
        | Default = 0
        | True = 1
        | False = 2

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

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

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

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

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

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

        [<DataMember>]
        member val WalletData:WalletDescriptor = null with get,set

        [<DataMember>]
        member val SecureData:SecureDescriptor = null with get,set

        [<DataMember>]
        member val Level2Data:Level2Descriptor = null with get,set

        [<DataMember>]
        member val PaymentFacilitatorData:PaymentFacilitatorDescriptor = null with get,set

        [<DataMember>]
        member val TokenData:TokenDescriptor = null with get,set

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

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

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

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

        [<DataMember>]
        member val CardonFileIndicator:CardonFileIndicatorDescriptor = null with get,set

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

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

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

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

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

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

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

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

    type PINTransType =
        | IPD = 9
        | eCommerce = 11

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

        [<DataMember>]
        member val CardNumberInfo:Card = null with get,set

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

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

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

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

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

        [<DataMember>]
        member val AVS:Avs = null with get,set

        [<DataMember>]
        member val MerchantDetails:MerchantDescriptor = 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 ExtendedData:ExtendedData = null with get,set

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

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

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

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

F# AuthorizePinDebitRequest 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 /PinDebit 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"},"CardNumberInfo":{"CardDataType":"CardNumber","CardNumberData":"String","KeyID":"String"},"Amount":0,"ExpirationDate":"String","ReferenceKey":"String","CurrencyCode":"String","CVN":"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"},"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","ExtendedData":{"Track2DataForEMVTransaction":"String","SenderInfo":{"ReferenceNumber":"String","AccountNumber":"String","Name":"String","Address":"String","City":"String","State":"String","Country":"String","DateOfBirth":"String","Zip":"String","PhoneNumber":"String","FundingSource":"DepositAccount"},"CashbackAmount":0,"Network":"Default","ReceiverInfo":{"ReferenceNumber":"String","AccountNumber":"String","Name":"String","Address":"String","City":"String","State":"String","Country":"String","Zip":"String","PhoneNumber":"String"},"BillPayGroup":"Default","WalletData":{"Type":"String","EncryptedData":"String","ApplicationDataHash":"String","EphemeralPublicKey":"String","PublicKeyHash":"String","TransactionId":"String","Signature":"String","Version":"String","ApplicationData":"String","MerchantIdentifier":"String","SpecialPayment":"String","DigitalWalletIndicator":"Default"},"SecureData":{"CAVV":"String","SecureTransactionId":"String"},"Level2Data":{"TaxDetails":"Default","MerchantReferenceNumber":"String","MerchantTaxId":"String","OrderNumber":"String","TaxAmount":0,"DestinationPostalCode":"String","ProductDescription":"String"},"PaymentFacilitatorData":{"PaymentFacilitatorIndicator":"String","PFPhoneNumber":"String","SubMerchID":"String","SellerID":"String"},"TokenData":{"TokenType":"Default","TokenCryptogramData1":"String","TokenCryptogramData2":"String"},"OTPTranId":"String","CurrentShipment":0,"TotalShipments":0,"IsTokenRequested":false,"CardonFileIndicator":{"CardonFile":"Default","StoredCredentialIndicator":"Default","TransactionInitiate":"Default","ScheduleIndicator":"Default","NetworkTransactionId":"String"},"CardAccountUpdater":"Default","RetryAttemptCount":0,"TotalAuthAmount":0,"SignatureHashVersion":"String","OrderTypeDetail":"Default","BillPayGroupIndicator":{"MITTotalPaymentCount":"String","MITAmountType":"String","MITAmount":"String","MITUniqueID":"String","MITFrequency":"String","MITValidationFlag":"String","MITValidationReference":"String","MITSequenceIndicator":"String"},"ChargeTypeDetail":"Default","SAFEligible":"Default"},"OTP":"String","PINData":"String","MFK":"String","TransType":"IPD"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"TranId":"String","ApprovalCode":"String","ResponseCode":"String","Network":"String","ApprovedAmount":0,"AVS":"String","CVN":"String","OTP":"String","ErrorMessage":"String","ErrorCode":"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)\/"}}}