Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BH.CloudAPI.Common4.DTO.SOAP
Imports BH.CloudAPI.Common.DTO.SOAP
Imports BH.CloudAPI.Common
Namespace Global
Namespace BH.CloudAPI.Common
<DataContract(Namespace:="www.billhighway.com/api")>
Public Partial Class LegacyApiResponse
Implements IHaveErrorField
<DataMember>
Public Overridable Property amount As Nullable(Of Decimal)
<DataMember>
Public Overridable Property confirmationNumber As String
<DataMember>
Public Overridable Property responseCode As String
<DataMember>
Public Overridable Property responseDescription As String
<DataMember>
Public Overridable Property resultCode As ResultCode
End Class
Public Enum ResultCode
Success = 0
Duplicate = -7
NotAvailable = -6
NotFound = -5
GeneralError = -4
UnexpectedError = -3
CreditCardDeclined = -2
DataValidationFailure = -1
End Enum
End Namespace
Namespace BH.CloudAPI.Common.DTO.SOAP
<DataContract(Name:="ACHPaymentResponse", Namespace:="www.billhighway.com/api")>
Public Partial Class ACHPaymentResponse
Implements IHaveErrorField
<DataMember(Name:="ACHPaymentResult")>
Public Overridable Property Result As ACHPaymentResult
End Class
Public Partial Class ACHPaymentResult
Inherits LegacyApiResponse
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO.SOAP
Public Partial Class ACHPayment
Inherits ACHPayment
End Class
End Namespace
End Namespace
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 /csv/reply/ACHPayment HTTP/1.1
Host: devapi.billhighway.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"apiKey":"String","clientId":0,"groupId":0,"amount":0,"routingNumber":"String","accountNumber":"String","payerName":"String","checkNumber":"String","emailAddress":"String","memo":"String","occurs":"String","numberOfOccurences":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ACHPaymentResult":{"amount":0,"confirmationNumber":"String","responseCode":"String","responseDescription":"String","resultCode":0}}