POST | /POSCardlessDebit |
---|
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
[<AllowNullLiteral>]
type NetworkResponseData() =
member val AliPayTransId:String = null with get,set
member val AliPayTransactionTime:String = null with get,set
member val ResponseCode:String = null with get,set
member val WeChatPayTransId:String = null with get,set
member val WeChatPayTransactionTime:String = null with get,set
member val WeChatPayOpenId:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type POSCardlessDebit() =
inherit PaysecureResponseInternal()
[<DataMember>]
member val ErrorMessage:String = null with get,set
[<DataMember>]
member val ErrorCode:String = null with get,set
[<DataMember>]
member val ResponseCode:String = null with get,set
[<DataMember>]
member val TranId:String = null with get,set
[<DataMember>]
member val ApprovedAmount:Int32 = new Int32() with get,set
[<DataMember>]
member val Network:String = null with get,set
[<DataMember>]
member val NetworkResponseData:NetworkResponseData = 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 PaymentNetwork =
| AliPay = 1
| WeChat = 2
type PaymentDataType =
| BarCode = 1
| QRCode = 2
[<AllowNullLiteral>]
type PaymentInfo() =
member val PaymentNetwork:PaymentNetwork = new PaymentNetwork() with get,set
member val PaymentDataType:PaymentDataType = new PaymentDataType() with get,set
member val PaymentData:String = null with get,set
[<AllowNullLiteral>]
type NetworkRequestData() =
member val AliPayPartnerId:String = null with get,set
member val WebHookURL:String = null with get,set
member val OrderTitle:String = null with get,set
member val OrderDetail:String = null with get,set
member val TerminalIP:String = null with get,set
member val OrderNumber: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
[<DataContract>]
[<AllowNullLiteral>]
type POSCardlessDebitRequest() =
[<DataMember>]
member val Credentials:RequestorCredentials = null with get,set
[<DataMember>]
member val ReferenceKey:String = null with get,set
[<DataMember>]
member val PaymentInfo:PaymentInfo = null with get,set
[<DataMember>]
member val Amount:Int32 = new Int32() with get,set
[<DataMember>]
member val CurrencyCode:String = null with get,set
[<DataMember>]
member val TID:String = null with get,set
[<DataMember>]
member val MID:String = null with get,set
[<DataMember>]
member val NetworkRequestData:NetworkRequestData = null with get,set
///<summary>
///Local Date Format mmddyyyy. For Example:- 01202017
///</summary>
[<DataMember>]
member val LocalDate:String = null with get,set
///<summary>
///Local Time Format HHmmss. For Example :- 012322
///</summary>
[<DataMember>]
member val LocalTime:String = 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
F# POSCardlessDebitRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /POSCardlessDebit 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"},"ReferenceKey":"String","PaymentInfo":{"PaymentNetwork":"AliPay","PaymentDataType":"BarCode","PaymentData":"String"},"Amount":0,"CurrencyCode":"String","TID":"String","MID":"String","NetworkRequestData":{"AliPayPartnerId":"String","WebHookURL":"String","OrderTitle":"String","OrderDetail":"String","TerminalIP":"String","OrderNumber":"String"},"LocalDate":"String","LocalTime":"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"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"ErrorMessage":"String","ErrorCode":"String","ResponseCode":"String","TranId":"String","ApprovedAmount":0,"Network":"String","NetworkResponseData":{"AliPayTransId":"String","AliPayTransactionTime":"String","ResponseCode":"String","WeChatPayTransId":"String","WeChatPayTransactionTime":"String","WeChatPayOpenId":"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)\/"}}}