POST | /payment/billmate/v1/ipncallback | IPN callback for Qvickly checkout 1.0 | IPN callback for Qvickly checkout 1.0 |
---|
import 'package:servicestack/servicestack.dart';
class IpnCallBackResponse implements IConvertible
{
String? Message;
bool? Success;
IpnCallBackResponse({this.Message,this.Success});
IpnCallBackResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Message = json['Message'];
Success = json['Success'];
return this;
}
Map<String, dynamic> toJson() => {
'Message': Message,
'Success': Success
};
getTypeName() => "IpnCallBackResponse";
TypeContext? context = _ctx;
}
class QvicklyIpnCallbackResponseData implements IConvertible
{
String? number;
String? status;
String? orderid;
String? url;
QvicklyIpnCallbackResponseData({this.number,this.status,this.orderid,this.url});
QvicklyIpnCallbackResponseData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
number = json['number'];
status = json['status'];
orderid = json['orderid'];
url = json['url'];
return this;
}
Map<String, dynamic> toJson() => {
'number': number,
'status': status,
'orderid': orderid,
'url': url
};
getTypeName() => "QvicklyIpnCallbackResponseData";
TypeContext? context = _ctx;
}
class QvicklyCheckoutIpnCallBack implements ICompany, IConvertible
{
/**
* 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.")
String? CompanyId;
/**
* Internal reference id (Could be booking, could be Article..)
*/
// @ApiMember(Description="Internal reference id (Could be booking, could be Article..)")
String? BookingId;
/**
* The payment ipn callback data.
*/
// @ApiMember(Description="The payment ipn callback data.")
QvicklyIpnCallbackResponseData? data;
/**
* Article type (Could be Service, rebate code types, etc..
*/
// @ApiMember(Description="Article type (Could be Service, rebate code types, etc..", IsRequired=true)
int? ArticleTypeId;
QvicklyCheckoutIpnCallBack({this.CompanyId,this.BookingId,this.data,this.ArticleTypeId});
QvicklyCheckoutIpnCallBack.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
BookingId = json['BookingId'];
data = JsonConverters.fromJson(json['data'],'QvicklyIpnCallbackResponseData',context!);
ArticleTypeId = json['ArticleTypeId'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'BookingId': BookingId,
'data': JsonConverters.toJson(data,'QvicklyIpnCallbackResponseData',context!),
'ArticleTypeId': ArticleTypeId
};
getTypeName() => "QvicklyCheckoutIpnCallBack";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
'IpnCallBackResponse': TypeInfo(TypeOf.Class, create:() => IpnCallBackResponse()),
'QvicklyIpnCallbackResponseData': TypeInfo(TypeOf.Class, create:() => QvicklyIpnCallbackResponseData()),
'QvicklyCheckoutIpnCallBack': TypeInfo(TypeOf.Class, create:() => QvicklyCheckoutIpnCallBack()),
});
Dart QvicklyCheckoutIpnCallBack DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","BookingId":"String","data":{"number":"String","status":"String","orderid":"String","url":"String"},"ArticleTypeId":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Message":"String","Success":false}