PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

WICReturnRequest

The following routes are available for this service:
POST/WICReturn
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Paysecure.ServiceModel
Imports Paysecure.ServiceModel.Types

Namespace Global

    Namespace Paysecure.ServiceModel

        Public Partial Class MerchantDescriptor
            Inherits MerchantDescriptorBase
            Public Overridable Property Name As String
            Public Overridable Property Address As String
            Public Overridable Property City As String
            Public Overridable Property State As String
            Public Overridable Property Zip As String
            Public Overridable Property Country As String
            Public Overridable Property CustomerServiceNumber As String
            Public Overridable Property MCC As String
            Public Overridable Property FNSnum As String
            Public Overridable Property Email As String
        End Class

        Public Partial Class MerchantDescriptorBase
            Public Overridable Property DataElements As MerchantDataElements
        End Class

        <DataContract>
        Public Partial Class WICReturn
            Inherits PaysecureVersion
            Public Sub New()
                WICBalances = New List(Of WICBalance)
                WICProducts = New List(Of WICProduct)
            End Sub

            <DataMember>
            Public Overridable Property TranId As String

            <DataMember>
            Public Overridable Property ApprovalCode As String

            <DataMember>
            Public Overridable Property ResponseCode As String

            <DataMember>
            Public Overridable Property ApprovedAmount As Integer

            <DataMember>
            Public Overridable Property DiscountAmount As Integer

            <DataMember>
            Public Overridable Property Network As String

            <DataMember>
            Public Overridable Property EarliestBenefitExpirationDate As String

            <DataMember>
            Public Overridable Property WICBalances As List(Of WICBalance)

            <DataMember>
            Public Overridable Property WICProducts As List(Of WICProduct)

            <DataMember>
            Public Overridable Property ErrorMessage As String

            <DataMember>
            Public Overridable Property ErrorCode As String
        End Class

        <DataContract>
        Public Partial Class WICReturnRequest
            Public Sub New()
                WICProducts = New List(Of WICProduct)
            End Sub

            <DataMember>
            Public Overridable Property Credentials As RequestorCredentials

            <DataMember>
            Public Overridable Property TranId As String

            <DataMember>
            Public Overridable Property Amount As Integer

            <DataMember>
            Public Overridable Property DiscountAmount As Integer

            <DataMember>
            Public Overridable Property ReferenceKey As String

            <DataMember>
            Public Overridable Property CurrencyCode As String

            <DataMember>
            Public Overridable Property MerchantDetails As MerchantDescriptor

            <DataMember>
            Public Overridable Property WICProducts As List(Of WICProduct)

            <DataMember>
            Public Overridable Property Custom1 As String

            <DataMember>
            Public Overridable Property Custom2 As String

            <DataMember>
            Public Overridable Property Custom3 As String

            <DataMember>
            Public Overridable Property Custom4 As String

            <DataMember>
            Public Overridable Property Custom5 As String

            <DataMember>
            Public Overridable Property SignatureHash As String

            <DataMember>
            Public Overridable Property ExtendedData As ExtendedData
        End Class
    End Namespace

    Namespace Paysecure.ServiceModel.Types

        Public Enum BillPayGroup
            [Default]
            Single
            Recurring
            Installment
            Deferred
        End Enum

        Public Partial Class BillPayGroupIndicator
            Public Overridable Property MITTotalPaymentCount As String
            Public Overridable Property MITAmountType As String
            Public Overridable Property MITAmount As String
            Public Overridable Property MITUniqueID As String
            Public Overridable Property MITFrequency As String
            Public Overridable Property MITValidationFlag As String
            Public Overridable Property MITValidationReference As String
            Public Overridable Property MITSequenceIndicator As String
        End Class

        Public Partial Class CardAccountUpdaterDescriptor
            Public Overridable Property CardDataType As CardInfoType
            Public Overridable Property CardNumberInfo As String
            Public Overridable Property ExpiryDate As String
            Public Overridable Property Status As String
            Public Overridable Property ErrorCode As String
            Public Overridable Property CardToken As String
        End Class

        Public Enum CardAccountUpdaterInfo
            [Default]
            Supported
            NotSupported
        End Enum

        Public Enum CardInfoType
            CardNumber
            Token
            Track
            EMV
            Encrypted
            DPAN
            ApplePay
            GooglePay
            SamsungPay
            CPToken
            EncryptedEnhanced
            EncryptedJWE
        End Enum

        Public Partial Class CardonFileIndicatorDescriptor
            Public Overridable Property CardonFile As CardonFileInfo
            Public Overridable Property StoredCredentialIndicator As StoredCredentialIndicatorInfo
            Public Overridable Property TransactionInitiate As TransactionInitiateInfo
            Public Overridable Property ScheduleIndicator As ScheduleIndicatorInfo
            Public Overridable Property NetworkTransactionId As String
        End Class

        Public Enum CardonFileInfo
            [Default]
            Supported
            NotSupported
        End Enum

        Public Enum ChargeTypeInfo
            [Default]
            PartialShipment
            Delayed
            NoShow
            Resubmission
        End Enum

        Public Enum DigitalWalletInfo
            [Default]
            Staged
            Passthrough
        End Enum

        <DataContract>
        Public Partial Class ExtendedData
            <DataMember>
            Public Overridable Property Track2DataForEMVTransaction As String

            <DataMember>
            Public Overridable Property SenderInfo As SenderInfo

            <DataMember>
            Public Overridable Property CashbackAmount As Integer

            <DataMember>
            Public Overridable Property Network As NetworkName

            <DataMember>
            Public Overridable Property ReceiverInfo As ReceiverInfo

            <DataMember>
            Public Overridable Property BillPayGroup As BillPayGroup

            <DataMember>
            Public Overridable Property WalletData As WalletDescriptor

            <DataMember>
            Public Overridable Property SecureData As SecureDescriptor

            <DataMember>
            Public Overridable Property Level2Data As Level2Descriptor

            <DataMember>
            Public Overridable Property PaymentFacilitatorData As PaymentFacilitatorDescriptor

            <DataMember>
            Public Overridable Property TokenData As TokenDescriptor

            <DataMember>
            Public Overridable Property OTPTranId As String

            <DataMember>
            Public Overridable Property CurrentShipment As Integer

            <DataMember>
            Public Overridable Property TotalShipments As Integer

            <DataMember>
            Public Overridable Property IsTokenRequested As Boolean

            <DataMember>
            Public Overridable Property CardonFileIndicator As CardonFileIndicatorDescriptor

            <DataMember>
            Public Overridable Property CardAccountUpdater As CardAccountUpdaterInfo

            <DataMember>
            Public Overridable Property RetryAttemptCount As Integer

            <DataMember>
            Public Overridable Property TotalAuthAmount As Integer

            <DataMember>
            Public Overridable Property SignatureHashVersion As String

            <DataMember>
            Public Overridable Property OrderTypeDetail As OrderTypeInfo

            <DataMember>
            Public Overridable Property BillPayGroupIndicator As BillPayGroupIndicator

            <DataMember>
            Public Overridable Property ChargeTypeDetail As ChargeTypeInfo

            <DataMember>
            Public Overridable Property SAFEligible As SAFEligibleFlag
        End Class

        <DataContract>
        Public Partial Class ExtendedResponse
            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property CardAccountUpdater As CardAccountUpdaterDescriptor

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property ProductId As String

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property NetworkResponseCode As String

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property NetworkTransactionId As String

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property CHEmailAddrResult As String
        End Class

        Public Enum FundingSourceType
            DepositAccount
            Credit
            Debit
            Prepaid
        End Enum

        <DataContract>
        Public Partial Class InOutTimes
        End Class

        Public Partial Class Level2Descriptor
            Public Overridable Property TaxDetails As TaxIndicator
            Public Overridable Property MerchantReferenceNumber As String
            Public Overridable Property MerchantTaxId As String
            Public Overridable Property OrderNumber As String
            Public Overridable Property TaxAmount As Integer
            Public Overridable Property DestinationPostalCode As String
            Public Overridable Property ProductDescription As String
        End Class

        Public Partial Class MerchantDataElements
            Public Overridable Property RefundSettlementTypeDetails As Integer
            Public Overridable Property SendRecurringPOSEntryModeFeature As Boolean
            Public Overridable Property UseOrgPOSCode As Boolean
        End Class

        Public Enum NetworkName
            [Default]
            NYCE
            CU24
            XCEL
            STAR
            PULS
            SHZM
            VISA
            MAST
            DISC
            AMEX
            ALIP
            UPIN
            STAC
            STNE
            MAES
            INTL
        End Enum

        Public Enum OrderTypeInfo
            [Default]
            Standing
            Subscription
        End Enum

        Public Partial Class PaymentFacilitatorDescriptor
            Public Overridable Property PaymentFacilitatorIndicator As String
            Public Overridable Property PFPhoneNumber As String
            Public Overridable Property SubMerchID As String
            Public Overridable Property SellerID As String
        End Class

        <DataContract>
        Public Partial Class PaysecureResponseInternal
            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property Timestamps As RequestTimestamps
        End Class

        <DataContract>
        Public Partial Class PaysecureVersion
            Inherits PaysecureResponseInternal
            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property LocalDateTime As String

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property Token As String

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property ExtendedData As ExtendedResponse
        End Class

        Public Partial Class ReceiverInfo
            Public Overridable Property ReferenceNumber As String
            Public Overridable Property AccountNumber As String
            '''<Summary>
            '''Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
            '''</Summary>
            Public Overridable Property Name As String
            Public Overridable Property Address As String
            Public Overridable Property City As String
            Public Overridable Property State As String
            Public Overridable Property Country As String
            Public Overridable Property Zip As String
            Public Overridable Property PhoneNumber As String
        End Class

        Public Partial Class RequestorCredentials
            <Required>
            Public Overridable Property MerchantId As String

            <Required>
            Public Overridable Property UserName As String

            <Required>
            Public Overridable Property Password As String

            <Required>
            Public Overridable Property Version As String
        End Class

        <DataContract>
        Public Partial Class RequestTimestamps
            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property AppLayer As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property ParentLookup As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property RetryLookup As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property GetCardData As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property CardTokenize As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property CardEncrypt As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property DBInsert As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property BackendProcess As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property DBUpdate As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property ParentUpdate As InOutTimes

            <DataMember(EmitDefaultValue:=false)>
            Public Overridable Property Network As InOutTimes
        End Class

        Public Enum SAFEligibleFlag
            [Default]
            [True]
            [False]
        End Enum

        Public Enum ScheduleIndicatorInfo
            [Default]
            Scheduled
            Unscheduled
        End Enum

        Public Partial Class SecureDescriptor
            Public Overridable Property CAVV As String
            Public Overridable Property SecureTransactionId As String
        End Class

        Public Partial Class SenderInfo
            Public Overridable Property ReferenceNumber As String
            Public Overridable Property AccountNumber As String
            '''<Summary>
            '''Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
            '''</Summary>
            Public Overridable Property Name As String
            Public Overridable Property Address As String
            Public Overridable Property City As String
            Public Overridable Property State As String
            Public Overridable Property Country As String
            '''<Summary>
            '''DateOfBirth Format MMDDYYYY. For Example :- 05051960
            '''</Summary>
            Public Overridable Property DateOfBirth As String
            Public Overridable Property Zip As String
            Public Overridable Property PhoneNumber As String
            Public Overridable Property FundingSource As FundingSourceType
        End Class

        Public Enum StoredCredentialIndicatorInfo
            [Default]
            Initial
            Subsequent
        End Enum

        Public Enum TaxIndicator
            [Default]
            NoTaxInfoProvided
            TaxInfoProvided
            TaxExemptItem
        End Enum

        Public Partial Class TokenDescriptor
            Public Overridable Property TokenType As TokenTypes
            Public Overridable Property TokenCryptogramData1 As String
            Public Overridable Property TokenCryptogramData2 As String
        End Class

        Public Enum TokenTypes
            [Default]
            UCAF
            DSRP
            UCAFDSRP
            VisaVerified
            DigitalWallet
            VisaVerifiedDigitalWallet
        End Enum

        Public Enum TransactionInitiateInfo
            [Default]
            Merchant
            Terminal
            Customer
        End Enum

        Public Partial Class WalletDescriptor
            Public Overridable Property Type As String
            Public Overridable Property EncryptedData As String
            Public Overridable Property ApplicationDataHash As String
            Public Overridable Property EphemeralPublicKey As String
            Public Overridable Property PublicKeyHash As String
            Public Overridable Property TransactionId As String
            Public Overridable Property Signature As String
            Public Overridable Property Version As String
            Public Overridable Property ApplicationData As String
            Public Overridable Property MerchantIdentifier As String
            Public Overridable Property SpecialPayment As String
            Public Overridable Property DigitalWalletIndicator As DigitalWalletInfo
        End Class

        Public Enum WICActionCode
            Approved
            CategoryNotPrescribed
            SubcategoryNotPrescribed
            InsufficientUnits
            ProduceCodeNotSubscribed
            ApprovedLowerPrice
        End Enum

        Public Partial Class WICBalance
            Public Overridable Property WICCategory As String
            Public Overridable Property WICSubcategory As String
            Public Overridable Property WICQuantity As Integer
        End Class

        Public Partial Class WICProduct
            Public Overridable Property ProductCodeInd As WICProductCodeInd
            Public Overridable Property ProductCode As String
            Public Overridable Property ItemPrice As Integer
            Public Overridable Property ItemQuantity As Integer
            Public Overridable Property ActionCode As WICActionCode
            Public Overridable Property OriginalItemPrice As Integer
            Public Overridable Property OriginalItemQuantity As Integer
        End Class

        Public Enum WICProductCodeInd
            PLU = 1
            UPC = 2
        End Enum
    End Namespace
End Namespace

VB.NET WICReturnRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
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/jsonl
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)\/"}}}