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

export class IpnCallBackResponse
{
    public Message: string;
    public Success: boolean;

    public constructor(init?: Partial<IpnCallBackResponse>) { (Object as any).assign(this, init); }
}

export class ServerDataResponse
{
    public HTTP_HOST: string;
    public HTTP_CONNECTION: string;
    public HTTP_CACHE_CONTROL: string;
    public HTTP_ACCEPT: string;
    public HTTP_USER_AGENT: string;
    public HTTP_ACCEPT_ENCODING: string;
    public HTTP_ACCEPT_LANGUAGE: string;
    public PATH: string;
    public SERVER_SOFTWARE: string;
    public SERVER_NAME: string;
    public SERVER_ADDR: string;
    public SERVER_PORT: string;
    public REMOTE_ADDR: string;
    public REMOTE_PORT: string;
    public GATEWAY_INTERFACE: string;
    public SERVER_PROTOCOL: string;
    public REQUEST_METHOD: string;
    public QUERY_STRING: string;
    public REQUEST_TIME: string;

    public constructor(init?: Partial<ServerDataResponse>) { (Object as any).assign(this, init); }
}

export class CredentialsResponse
{
    public hash: string;
    public id: string;
    public version: string;
    public client: string;
    public serverdata: ServerDataResponse;
    public time: string;
    public test: string;
    public language: string;

    public constructor(init?: Partial<CredentialsResponse>) { (Object as any).assign(this, init); }
}

export class QvicklyIpnCallbackResponseData
{
    public number: string;
    public status: string;
    public orderid: string;
    public url: string;

    public constructor(init?: Partial<QvicklyIpnCallbackResponseData>) { (Object as any).assign(this, init); }
}

export class QvicklyCheckoutIpnCallBack implements ICompany
{
    /** @description The company id, if empty will use the company id for the user you are logged in with. */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    public CompanyId?: string;

    /** @description The booking id. */
    // @ApiMember(Description="The booking id.")
    public BookingId: number;

    /** @description The payment credentials. */
    // @ApiMember(Description="The payment credentials.")
    public credentials: CredentialsResponse;

    /** @description The payment ipn callback data. */
    // @ApiMember(Description="The payment ipn callback data.")
    public data: QvicklyIpnCallbackResponseData;

    public constructor(init?: Partial<QvicklyCheckoutIpnCallBack>) { (Object as any).assign(this, init); }
}

TypeScript 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: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	BookingId: 0,
	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
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Message: String,
	Success: False
}