POST | /WICSubstitution |
---|
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 Avs
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 Email As String
Public Overridable Property IPAddress As String
Public Overridable Property TelephoneNumber As String
Public Overridable Property TelephoneType As TelephoneType
Public Overridable Property DeliveryMethod As Integer
Public Overridable Property FirstName As String
Public Overridable Property MiddleName As String
Public Overridable Property LastName As String
End Class
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
Public Enum TelephoneType
D
H
N
W
End Enum
<DataContract>
Public Partial Class WICSubstitution
Inherits PaysecureVersion
Public Sub New()
WICBalances = New List(Of WICBalance)
WICProducts = New List(Of WICProduct)
End Sub
<DataMember>
Public Overridable Property ApprovalCode As String
<DataMember>
Public Overridable Property TranId As String
<DataMember>
Public Overridable Property ErrorMessage As String
<DataMember>
Public Overridable Property ErrorCode 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 ResponseCode As String
End Class
<DataContract>
Public Partial Class WICSubstitutionRequest
Public Sub New()
WICProducts = New List(Of WICProduct)
End Sub
<DataMember>
Public Overridable Property Credentials As RequestorCredentials
<DataMember>
Public Overridable Property Amount As Integer
<DataMember>
Public Overridable Property DiscountAmount As Integer
<DataMember>
Public Overridable Property TranId As String
<DataMember>
Public Overridable Property ReferenceKey As String
<DataMember>
Public Overridable Property CurrencyCode As String
<DataMember>
Public Overridable Property DeliveryAddress As Avs
<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 WICSubstitutionRequest 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 /WICSubstitution 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"},"Amount":0,"DiscountAmount":0,"TranId":"String","ReferenceKey":"String","CurrencyCode":"String","DeliveryAddress":{"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}},"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 {"ApprovalCode":"String","TranId":"String","ErrorMessage":"String","ErrorCode":"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}],"ResponseCode":"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)\/"}}}