delete method

Future<Response<RazorpayDeleteResponse>> delete({
  1. required String invoiceId,
  2. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpayDeleteResponse>?
    )?,
})

Deletes drafted invoice

@param invoiceId - The unique identifier of the invoice

Implementation

Future<Response<RazorpayDeleteResponse>> delete({
  // JS returns [], use specific empty model
  required String invoiceId,
  void Function(RazorpayApiException?, Response<RazorpayDeleteResponse>?)?
      callback,
}) async {
  if (invoiceId.isEmpty) {
    throw ArgumentError(MISSING_ID_ERROR);
  }
  final url = '$BASE_URL/$invoiceId';
  return api.delete<RazorpayDeleteResponse>(
    {'url': url},
    fromJsonFactory:
        RazorpayDeleteResponse.fromJson, // Factory for empty response
    callback: callback,
  );
}