POST | /WICReturn |
---|
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
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 CardAccountUpdaterDescriptor() =
member val CardDataType:CardInfoType = new CardInfoType() with get,set
member val CardNumberInfo:String = null with get,set
member val ExpiryDate:String = null with get,set
member val Status:String = null with get,set
member val ErrorCode:String = null with get,set
member val CardToken:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ExtendedResponse() =
[<DataMember(EmitDefaultValue=false)>]
member val CardAccountUpdater:CardAccountUpdaterDescriptor = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ProductId:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val NetworkResponseCode:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val NetworkTransactionId:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val CHEmailAddrResult:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type PaysecureVersion() =
inherit PaysecureResponseInternal()
[<DataMember(EmitDefaultValue=false)>]
member val LocalDateTime:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val Token:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ExtendedData:ExtendedResponse = null with get,set
[<AllowNullLiteral>]
type WICBalance() =
member val WICCategory:String = null with get,set
member val WICSubcategory:String = null with get,set
member val WICQuantity:Int32 = new Int32() with get,set
type WICProductCodeInd =
| PLU = 1
| UPC = 2
type WICActionCode =
| Approved = 0
| CategoryNotPrescribed = 1
| SubcategoryNotPrescribed = 2
| InsufficientUnits = 3
| ProduceCodeNotSubscribed = 4
| ApprovedLowerPrice = 5
[<AllowNullLiteral>]
type WICProduct() =
member val ProductCodeInd:WICProductCodeInd = new WICProductCodeInd() with get,set
member val ProductCode:String = null with get,set
member val ItemPrice:Int32 = new Int32() with get,set
member val ItemQuantity:Int32 = new Int32() with get,set
member val ActionCode:WICActionCode = new WICActionCode() with get,set
member val OriginalItemPrice:Int32 = new Int32() with get,set
member val OriginalItemQuantity:Int32 = new Int32() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type WICReturn() =
inherit PaysecureVersion()
[<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 ApprovedAmount:Int32 = new Int32() with get,set
[<DataMember>]
member val DiscountAmount:Int32 = new Int32() with get,set
[<DataMember>]
member val Network:String = null with get,set
[<DataMember>]
member val EarliestBenefitExpirationDate:String = null with get,set
[<DataMember>]
member val WICBalances:ResizeArray<WICBalance> = new ResizeArray<WICBalance>() with get,set
[<DataMember>]
member val WICProducts:ResizeArray<WICProduct> = new ResizeArray<WICProduct>() 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
[<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 WICReturnRequest() =
[<DataMember>]
member val Credentials:RequestorCredentials = null with get,set
[<DataMember>]
member val TranId:String = null with get,set
[<DataMember>]
member val Amount:Int32 = new Int32() with get,set
[<DataMember>]
member val DiscountAmount:Int32 = new Int32() with get,set
[<DataMember>]
member val ReferenceKey:String = null with get,set
[<DataMember>]
member val CurrencyCode:String = null with get,set
[<DataMember>]
member val MerchantDetails:MerchantDescriptor = null with get,set
[<DataMember>]
member val WICProducts:ResizeArray<WICProduct> = new ResizeArray<WICProduct>() 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
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 /WICReturn 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"},"TranId":"String","Amount":0,"DiscountAmount":0,"ReferenceKey":"String","CurrencyCode":"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}},"WICProducts":[{"ProductCodeInd":"PLU","ProductCode":"String","ItemPrice":0,"ItemQuantity":0,"ActionCode":"Approved","OriginalItemPrice":0,"OriginalItemQuantity":0}],"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 {"TranId":"String","ApprovalCode":"String","ResponseCode":"String","ApprovedAmount":0,"DiscountAmount":0,"Network":"String","EarliestBenefitExpirationDate":"String","WICBalances":[{"WICCategory":"String","WICSubcategory":"String","WICQuantity":0}],"WICProducts":[{"ProductCodeInd":"PLU","ProductCode":"String","ItemPrice":0,"ItemQuantity":0,"ActionCode":"Approved","OriginalItemPrice":0,"OriginalItemQuantity":0}],"ErrorMessage":"String","ErrorCode":"String","LocalDateTime":"String","Token":"String","ExtendedData":{"CardAccountUpdater":{"CardDataType":"CardNumber","CardNumberInfo":"String","ExpiryDate":"String","Status":"String","ErrorCode":"String","CardToken":"String"},"ProductId":"String","NetworkResponseCode":"String","NetworkTransactionId":"String","CHEmailAddrResult":"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)\/"}}}