createrefundinvoice method
- OrderinvoicesCreateRefundInvoiceRequest request,
- String merchantId,
- String orderId, {
- String? $fields,
Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders.
This can only be used for line items that have previously been charged
using createChargeInvoice
. All amounts (except for the summary) are
incremental with respect to the previous invoice.
request
- The metadata request object.
Request parameters:
merchantId
- The ID of the account that manages the order. This cannot
be a multi-client account.
orderId
- The ID of the order.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a OrderinvoicesCreateRefundInvoiceResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<OrderinvoicesCreateRefundInvoiceResponse> createrefundinvoice(
OrderinvoicesCreateRefundInvoiceRequest request,
core.String merchantId,
core.String orderId, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = commons.escapeVariable('$merchantId') +
'/orderinvoices/' +
commons.escapeVariable('$orderId') +
'/createRefundInvoice';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return OrderinvoicesCreateRefundInvoiceResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}