BokaMera.API.Host

<back to all web services

QvicklyCheckoutIpnCallBack

The following routes are available for this service:
POST/payment/billmate/v1/ipncallbackIPN callback for Qvickly checkout 1.0IPN callback for Qvickly checkout 1.0
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type IpnCallBackResponse() = 
        member val Message:String = null with get,set
        member val Success:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type ServerDataResponse() = 
        member val HTTP_HOST:String = null with get,set
        member val HTTP_CONNECTION:String = null with get,set
        member val HTTP_CACHE_CONTROL:String = null with get,set
        member val HTTP_ACCEPT:String = null with get,set
        member val HTTP_USER_AGENT:String = null with get,set
        member val HTTP_ACCEPT_ENCODING:String = null with get,set
        member val HTTP_ACCEPT_LANGUAGE:String = null with get,set
        member val PATH:String = null with get,set
        member val SERVER_SOFTWARE:String = null with get,set
        member val SERVER_NAME:String = null with get,set
        member val SERVER_ADDR:String = null with get,set
        member val SERVER_PORT:String = null with get,set
        member val REMOTE_ADDR:String = null with get,set
        member val REMOTE_PORT:String = null with get,set
        member val GATEWAY_INTERFACE:String = null with get,set
        member val SERVER_PROTOCOL:String = null with get,set
        member val REQUEST_METHOD:String = null with get,set
        member val QUERY_STRING:String = null with get,set
        member val REQUEST_TIME:String = null with get,set

    [<AllowNullLiteral>]
    type CredentialsResponse() = 
        member val hash:String = null with get,set
        member val id:String = null with get,set
        member val version:String = null with get,set
        member val client:String = null with get,set
        member val serverdata:ServerDataResponse = null with get,set
        member val time:String = null with get,set
        member val test:String = null with get,set
        member val language:String = null with get,set

    [<AllowNullLiteral>]
    type QvicklyIpnCallbackResponseData() = 
        member val number:String = null with get,set
        member val status:String = null with get,set
        member val orderid:String = null with get,set
        member val url:String = null with get,set

    [<AllowNullLiteral>]
    type QvicklyCheckoutIpnCallBack() = 
        ///<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.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///Internal reference id (Could be booking, could be Article..)
        ///</summary>
        [<ApiMember(Description="Internal reference id (Could be booking, could be Article..)")>]
        member val BookingId:String = null with get,set

        ///<summary>
        ///The payment credentials.
        ///</summary>
        [<ApiMember(Description="The payment credentials.")>]
        member val credentials:CredentialsResponse = null with get,set

        ///<summary>
        ///The payment ipn callback data.
        ///</summary>
        [<ApiMember(Description="The payment ipn callback data.")>]
        member val data:QvicklyIpnCallbackResponseData = null with get,set

        ///<summary>
        ///Article type (Could be Service, rebate code types, etc..
        ///</summary>
        [<ApiMember(Description="Article type (Could be Service, rebate code types, etc..", IsRequired=true)>]
        member val ArticleTypeId:Int32 = new Int32() with get,set

F# QvicklyCheckoutIpnCallBack DTOs

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

HTTP + 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
}