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
"use strict";
export class IpnCallBackResponse {
    /** @param {{Message?:string,Success?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Message;
    /** @type {boolean} */
    Success;
}
export class ServerDataResponse {
    /** @param {{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}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    HTTP_HOST;
    /** @type {string} */
    HTTP_CONNECTION;
    /** @type {string} */
    HTTP_CACHE_CONTROL;
    /** @type {string} */
    HTTP_ACCEPT;
    /** @type {string} */
    HTTP_USER_AGENT;
    /** @type {string} */
    HTTP_ACCEPT_ENCODING;
    /** @type {string} */
    HTTP_ACCEPT_LANGUAGE;
    /** @type {string} */
    PATH;
    /** @type {string} */
    SERVER_SOFTWARE;
    /** @type {string} */
    SERVER_NAME;
    /** @type {string} */
    SERVER_ADDR;
    /** @type {string} */
    SERVER_PORT;
    /** @type {string} */
    REMOTE_ADDR;
    /** @type {string} */
    REMOTE_PORT;
    /** @type {string} */
    GATEWAY_INTERFACE;
    /** @type {string} */
    SERVER_PROTOCOL;
    /** @type {string} */
    REQUEST_METHOD;
    /** @type {string} */
    QUERY_STRING;
    /** @type {string} */
    REQUEST_TIME;
}
export class CredentialsResponse {
    /** @param {{hash?:string,id?:string,version?:string,client?:string,serverdata?:ServerDataResponse,time?:string,test?:string,language?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    hash;
    /** @type {string} */
    id;
    /** @type {string} */
    version;
    /** @type {string} */
    client;
    /** @type {ServerDataResponse} */
    serverdata;
    /** @type {string} */
    time;
    /** @type {string} */
    test;
    /** @type {string} */
    language;
}
export class QvicklyIpnCallbackResponseData {
    /** @param {{number?:string,status?:string,orderid?:string,url?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    status;
    /** @type {string} */
    orderid;
    /** @type {string} */
    url;
}
export class QvicklyCheckoutIpnCallBack {
    /** @param {{CompanyId?:string,BookingId?:string,credentials?:CredentialsResponse,data?:QvicklyIpnCallbackResponseData,ArticleTypeId?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description The company id, if empty will use the company id for the user you are logged in with. */
    CompanyId;
    /**
     * @type {string}
     * @description Internal reference id (Could be booking, could be Article..) */
    BookingId;
    /**
     * @type {CredentialsResponse}
     * @description The payment credentials. */
    credentials;
    /**
     * @type {QvicklyIpnCallbackResponseData}
     * @description The payment ipn callback data. */
    data;
    /**
     * @type {number}
     * @description Article type (Could be Service, rebate code types, etc.. */
    ArticleTypeId;
}

JavaScript 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
}