all method
Future<Response<RazorpayApiResponse<RazorpayRefund> > >
all({
- RazorpayPaginationOptions? params,
- String? paymentId,
- void callback(
- RazorpayApiException?,
- Response<
RazorpayApiResponse< ?RazorpayRefund> >
Get all refunds (can be filtered by payment_id)
@param params - Check doc for required params. Includes pagination and optional payment_id.
Implementation
Future<Response<RazorpayApiResponse<RazorpayRefund>>> all({
RazorpayPaginationOptions? params,
String? paymentId, // Optional payment ID filter
void Function(
RazorpayApiException?,
Response<RazorpayApiResponse<RazorpayRefund>>?,
)? callback,
}) async {
var url = '/refunds';
if (paymentId != null && paymentId.isNotEmpty) {
url = '/payments/$paymentId/refunds';
}
var from = params?.from;
var to = params?.to;
final count = params?.count ?? 10;
final skip = params?.skip ?? 0;
if (from != null) {
from = normalizeDate(from);
}
if (to != null) {
to = normalizeDate(to);
}
final queryParams = {
'from': from,
'to': to,
'count': count,
'skip': skip,
...?params?.toJson(), // Spread other pagination params if needed
};
queryParams.removeWhere((key, value) => value == null);
return api.get<RazorpayApiResponse<RazorpayRefund>>(
{
'url': url,
'data': queryParams,
},
callback: callback,
fromJsonFactory: (json) => RazorpayApiResponse<RazorpayRefund>.fromJson(
json,
(itemJson) =>
RazorpayRefund.fromJson(itemJson! as Map<String, dynamic>),
),
);
}