BokaMera.API.Host

<back to all web services

QvicklyV1CreateCheckout

The following routes are available for this service:
POST/payment/billmate/v1/checkoutCreate an checkout for Booking. Note if existing checkouts already exists, i will invalidate those.Create Qvickly checkout (requires settings for Billmat Checkout 1.0)

export class QvicklyCheckoutQueryResponse
{
    /** @description The checkout id */
    // @ApiMember(Description="The checkout id")
    public Number: number;

    /** @description The url for checkout module to be placed in a iframe */
    // @ApiMember(Description="The url for checkout module to be placed in a iframe")
    public Url: string;

    /** @description The checkout status */
    // @ApiMember(Description="The checkout status")
    public Status: string;

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

export enum PaymentOrigin
{
    HomePage = 'HomePage',
    Embedded = 'Embedded',
    Admin = 'Admin',
    Apps = 'Apps',
    HomePageNew = 'HomePageNew',
}

export class QvicklyV1CreateCheckout implements ICompany
{
    /** @description The company id. */
    // @ApiMember(Description="The company id.", IsRequired=true)
    public CompanyId: string;

    /** @description An internal reference id (Could be booking, rebate code etc.) */
    // @ApiMember(Description="An internal reference id (Could be booking, rebate code etc.)")
    public BookingId: string;

    /** @description An internal reference id (Could be booking, rebate code etc.) */
    // @ApiMember(Description="An internal reference id (Could be booking, rebate code etc.)", IsRequired=true)
    public InternalReferenceId: string;

    /** @description Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason. */
    // @ApiMember(Description="Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason.")
    public CheckoutUrl: string;

    /** @description Optional to set your own confirmation url after payment completed. */
    // @ApiMember(Description="Optional to set your own confirmation url after payment completed.")
    public ConfirmationUrl: string;

    /** @description The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3 */
    // @ApiMember(Description="The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3", IsRequired=true)
    public PaymentOrigin: PaymentOrigin;

    /** @description If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used. */
    // @ApiMember(Description="If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used.", IsRequired=true)
    public Language: string;

    /** @description Determins if it's a test call */
    // @ApiMember(Description="Determins if it's a test call")
    public TestMode: boolean;

    /** @description Articles (Could be Service, rebate code types, etc.. */
    // @ApiMember(Description="Articles (Could be Service, rebate code types, etc..", IsRequired=true)
    public Articles: ArticleToCreate[];

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

export class ArticleToCreate
{
    public ArticleId: number;
    public ArticleTypeId: number;
    public Quantity: number;

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

TypeScript QvicklyV1CreateCheckout DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /payment/billmate/v1/checkout HTTP/1.1 
Host: api.bokamera.se 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","BookingId":"String","InternalReferenceId":"String","PaymentOrigin":"HomePage","Language":"String","TestMode":false,"Articles":[{"ArticleId":0,"ArticleTypeId":0,"Quantity":0}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Number":0,"Url":"String","Status":"String"}