POST | /payment/billmate/v1/ipncallback | IPN callback for Qvickly checkout 1.0 | IPN callback for Qvickly checkout 1.0 |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using QvicklyIntegration.Models.Payment;
namespace BokaMera.API.ServiceModel.Dtos
{
public partial class CredentialsResponse
{
public virtual string hash { get; set; }
public virtual string id { get; set; }
public virtual string version { get; set; }
public virtual string client { get; set; }
public virtual ServerDataResponse serverdata { get; set; }
public virtual string time { get; set; }
public virtual string test { get; set; }
public virtual string language { get; set; }
}
public partial class IpnCallBackResponse
{
public virtual string Message { get; set; }
public virtual bool Success { get; set; }
}
public partial class QvicklyCheckoutIpnCallBack
: 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 virtual Guid? CompanyId { get; set; }
///<summary>
///Internal reference id (Could be booking, could be Article..)
///</summary>
[ApiMember(Description="Internal reference id (Could be booking, could be Article..)")]
public virtual string BookingId { get; set; }
///<summary>
///The payment credentials.
///</summary>
[ApiMember(Description="The payment credentials.")]
public virtual CredentialsResponse credentials { get; set; }
///<summary>
///The payment ipn callback data.
///</summary>
[ApiMember(Description="The payment ipn callback data.")]
public virtual QvicklyIpnCallbackResponseData data { 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)]
public virtual int ArticleTypeId { get; set; }
}
public partial class ServerDataResponse
{
public virtual string HTTP_HOST { get; set; }
public virtual string HTTP_CONNECTION { get; set; }
public virtual string HTTP_CACHE_CONTROL { get; set; }
public virtual string HTTP_ACCEPT { get; set; }
public virtual string HTTP_USER_AGENT { get; set; }
public virtual string HTTP_ACCEPT_ENCODING { get; set; }
public virtual string HTTP_ACCEPT_LANGUAGE { get; set; }
public virtual string PATH { get; set; }
public virtual string SERVER_SOFTWARE { get; set; }
public virtual string SERVER_NAME { get; set; }
public virtual string SERVER_ADDR { get; set; }
public virtual string SERVER_PORT { get; set; }
public virtual string REMOTE_ADDR { get; set; }
public virtual string REMOTE_PORT { get; set; }
public virtual string GATEWAY_INTERFACE { get; set; }
public virtual string SERVER_PROTOCOL { get; set; }
public virtual string REQUEST_METHOD { get; set; }
public virtual string QUERY_STRING { get; set; }
public virtual string REQUEST_TIME { get; set; }
}
}
namespace QvicklyIntegration.Models.Payment
{
public partial class QvicklyIpnCallbackResponseData
{
public virtual string number { get; set; }
public virtual string status { get; set; }
public virtual string orderid { get; set; }
public virtual string url { get; set; }
}
}
C# QvicklyCheckoutIpnCallBack DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<QvicklyCheckoutIpnCallBack xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<ArticleTypeId>0</ArticleTypeId>
<BookingId>String</BookingId>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<credentials>
<client>String</client>
<hash>String</hash>
<id>String</id>
<language>String</language>
<serverdata>
<GATEWAY_INTERFACE>String</GATEWAY_INTERFACE>
<HTTP_ACCEPT>String</HTTP_ACCEPT>
<HTTP_ACCEPT_ENCODING>String</HTTP_ACCEPT_ENCODING>
<HTTP_ACCEPT_LANGUAGE>String</HTTP_ACCEPT_LANGUAGE>
<HTTP_CACHE_CONTROL>String</HTTP_CACHE_CONTROL>
<HTTP_CONNECTION>String</HTTP_CONNECTION>
<HTTP_HOST>String</HTTP_HOST>
<HTTP_USER_AGENT>String</HTTP_USER_AGENT>
<PATH>String</PATH>
<QUERY_STRING>String</QUERY_STRING>
<REMOTE_ADDR>String</REMOTE_ADDR>
<REMOTE_PORT>String</REMOTE_PORT>
<REQUEST_METHOD>String</REQUEST_METHOD>
<REQUEST_TIME>String</REQUEST_TIME>
<SERVER_ADDR>String</SERVER_ADDR>
<SERVER_NAME>String</SERVER_NAME>
<SERVER_PORT>String</SERVER_PORT>
<SERVER_PROTOCOL>String</SERVER_PROTOCOL>
<SERVER_SOFTWARE>String</SERVER_SOFTWARE>
</serverdata>
<test>String</test>
<time>String</time>
<version>String</version>
</credentials>
<data xmlns:d2p1="http://schemas.datacontract.org/2004/07/QvicklyIntegration.Models.Payment">
<d2p1:number>String</d2p1:number>
<d2p1:orderid>String</d2p1:orderid>
<d2p1:status>String</d2p1:status>
<d2p1:url>String</d2p1:url>
</data>
</QvicklyCheckoutIpnCallBack>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <IpnCallBackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <Message>String</Message> <Success>false</Success> </IpnCallBackResponse>