TicketUserServices

<back to all web services

WebshopOrderRefundRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdminRequired permission:Tickets.Add
The following routes are available for this service:
POST/Webshop/Order/Refund
import 'package:servicestack/servicestack.dart';

class LocalizedMessage implements IConvertible
{
    String? Is;
    String? en;

    LocalizedMessage({this.Is,this.en});
    LocalizedMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Is = json['is'];
        en = json['en'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'is': Is,
        'en': en
    };

    getTypeName() => "LocalizedMessage";
    TypeContext? context = _ctx;
}

class WebshopRefundResult implements IConvertible
{
    bool? success;
    bool? partial;
    int? refundedAmountMinor;
    String? borgunRefundTransactionId;
    String? status;
    LocalizedMessage? message;
    int? statusCode;

    WebshopRefundResult({this.success,this.partial,this.refundedAmountMinor,this.borgunRefundTransactionId,this.status,this.message,this.statusCode});
    WebshopRefundResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        success = json['success'];
        partial = json['partial'];
        refundedAmountMinor = json['refundedAmountMinor'];
        borgunRefundTransactionId = json['borgunRefundTransactionId'];
        status = json['status'];
        message = JsonConverters.fromJson(json['message'],'LocalizedMessage',context!);
        statusCode = json['statusCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'success': success,
        'partial': partial,
        'refundedAmountMinor': refundedAmountMinor,
        'borgunRefundTransactionId': borgunRefundTransactionId,
        'status': status,
        'message': JsonConverters.toJson(message,'LocalizedMessage',context!),
        'statusCode': statusCode
    };

    getTypeName() => "WebshopRefundResult";
    TypeContext? context = _ctx;
}

class WebshopOrderRefundRequest implements IConvertible
{
    int? orderId;
    String? orderReference;
    List<int>? lineIds;
    bool? restockLines;
    String? idempotencyKey;
    int? ownerId;

    WebshopOrderRefundRequest({this.orderId,this.orderReference,this.lineIds,this.restockLines,this.idempotencyKey,this.ownerId});
    WebshopOrderRefundRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        orderId = json['orderId'];
        orderReference = json['orderReference'];
        lineIds = JsonConverters.fromJson(json['lineIds'],'List<int>',context!);
        restockLines = json['restockLines'];
        idempotencyKey = json['idempotencyKey'];
        ownerId = json['ownerId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderId': orderId,
        'orderReference': orderReference,
        'lineIds': JsonConverters.toJson(lineIds,'List<int>',context!),
        'restockLines': restockLines,
        'idempotencyKey': idempotencyKey,
        'ownerId': ownerId
    };

    getTypeName() => "WebshopOrderRefundRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'LocalizedMessage': TypeInfo(TypeOf.Class, create:() => LocalizedMessage()),
    'WebshopRefundResult': TypeInfo(TypeOf.Class, create:() => WebshopRefundResult()),
    'WebshopOrderRefundRequest': TypeInfo(TypeOf.Class, create:() => WebshopOrderRefundRequest()),
});

Dart WebshopOrderRefundRequest 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 /Webshop/Order/Refund HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	orderId: 0,
	orderReference: String,
	lineIds: 
	[
		0
	],
	restockLines: False,
	idempotencyKey: String,
	ownerId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	success: False,
	partial: False,
	refundedAmountMinor: 0,
	borgunRefundTransactionId: String,
	status: String,
	message: 
	{
		is: String,
		en: String
	},
	statusCode: 0
}