POST | /payment/billmate/v1/ipncallback | IPN callback for Qvickly checkout 1.0 | IPN callback for Qvickly checkout 1.0 |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports QvicklyIntegration.Models.Payment
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
Public Partial Class CredentialsResponse
Public Overridable Property hash As String
Public Overridable Property id As String
Public Overridable Property version As String
Public Overridable Property client As String
Public Overridable Property serverdata As ServerDataResponse
Public Overridable Property time As String
Public Overridable Property test As String
Public Overridable Property language As String
End Class
Public Partial Class IpnCallBackResponse
Public Overridable Property Message As String
Public Overridable Property Success As Boolean
End Class
Public Partial Class QvicklyCheckoutIpnCallBack
Implements ICompany
'''<Summary>
'''The company id, if empty will use the company id for the user you are logged in with.
'''</Summary>
<ApiMember(Description:="The company id, if empty will use the company id for the user you are logged in with.")>
Public Overridable Property CompanyId As Nullable(Of Guid)
'''<Summary>
'''Internal reference id (Could be booking, could be Article..)
'''</Summary>
<ApiMember(Description:="Internal reference id (Could be booking, could be Article..)")>
Public Overridable Property BookingId As String
'''<Summary>
'''The payment credentials.
'''</Summary>
<ApiMember(Description:="The payment credentials.")>
Public Overridable Property credentials As CredentialsResponse
'''<Summary>
'''The payment ipn callback data.
'''</Summary>
<ApiMember(Description:="The payment ipn callback data.")>
Public Overridable Property data As QvicklyIpnCallbackResponseData
'''<Summary>
'''Article type (Could be Service, rebate code types, etc..
'''</Summary>
<ApiMember(Description:="Article type (Could be Service, rebate code types, etc..", IsRequired:=true)>
Public Overridable Property ArticleTypeId As Integer
End Class
Public Partial Class ServerDataResponse
Public Overridable Property HTTP_HOST As String
Public Overridable Property HTTP_CONNECTION As String
Public Overridable Property HTTP_CACHE_CONTROL As String
Public Overridable Property HTTP_ACCEPT As String
Public Overridable Property HTTP_USER_AGENT As String
Public Overridable Property HTTP_ACCEPT_ENCODING As String
Public Overridable Property HTTP_ACCEPT_LANGUAGE As String
Public Overridable Property PATH As String
Public Overridable Property SERVER_SOFTWARE As String
Public Overridable Property SERVER_NAME As String
Public Overridable Property SERVER_ADDR As String
Public Overridable Property SERVER_PORT As String
Public Overridable Property REMOTE_ADDR As String
Public Overridable Property REMOTE_PORT As String
Public Overridable Property GATEWAY_INTERFACE As String
Public Overridable Property SERVER_PROTOCOL As String
Public Overridable Property REQUEST_METHOD As String
Public Overridable Property QUERY_STRING As String
Public Overridable Property REQUEST_TIME As String
End Class
End Namespace
Namespace QvicklyIntegration.Models.Payment
Public Partial Class QvicklyIpnCallbackResponseData
Public Overridable Property number As String
Public Overridable Property status As String
Public Overridable Property orderid As String
Public Overridable Property url As String
End Class
End Namespace
End Namespace
VB.NET QvicklyCheckoutIpnCallBack DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /payment/billmate/v1/ipncallback HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
BookingId: String,
credentials:
{
hash: String,
id: String,
version: String,
client: String,
serverdata:
{
HTTP_HOST: String,
HTTP_CONNECTION: String,
HTTP_CACHE_CONTROL: String,
HTTP_ACCEPT: String,
HTTP_USER_AGENT: String,
HTTP_ACCEPT_ENCODING: String,
HTTP_ACCEPT_LANGUAGE: String,
PATH: String,
SERVER_SOFTWARE: String,
SERVER_NAME: String,
SERVER_ADDR: String,
SERVER_PORT: String,
REMOTE_ADDR: String,
REMOTE_PORT: String,
GATEWAY_INTERFACE: String,
SERVER_PROTOCOL: String,
REQUEST_METHOD: String,
QUERY_STRING: String,
REQUEST_TIME: String
},
time: String,
test: String,
language: String
},
data:
{
number: String,
status: String,
orderid: String,
url: String
},
ArticleTypeId: 0
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Message: String, Success: False }