all method
Future<Response<RazorpayApiResponse<RazorpayTransfer> > >
all({
- RazorpayTransferQuery? params,
- void callback(
- RazorpayApiException?,
- Response<
RazorpayApiResponse< ?RazorpayTransfer> >
Get all transfers (can be filtered by payment_id or recipient_settlement_id)
@param params - Check doc for required params.
Implementation
Future<Response<RazorpayApiResponse<RazorpayTransfer>>> all({
RazorpayTransferQuery? params,
void Function(
RazorpayApiException?,
Response<RazorpayApiResponse<RazorpayTransfer>>?,
)? callback,
}) async {
const url = '/transfers';
// Note: Filtering by payment_id is done via the Payments resource (payments.fetchTransfer),
// this 'all' method seems intended for general transfer listing or settlement filtering.
// if (params?.payment_id != null && params!.payment_id!.isNotEmpty) {
// url = '/payments/${params.payment_id}/transfers'; // This endpoint is usually in Payments resource
// }
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,
'recipient_settlement_id': params?.recipient_settlement_id,
// 'payment_id': params?.payment_id, // Usually not passed to /transfers directly
};
queryParams.removeWhere((key, value) => value == null);
return api.get<RazorpayApiResponse<RazorpayTransfer>>(
{
'url': url,
'data': queryParams,
},
callback: callback,
fromJsonFactory: (json) => RazorpayApiResponse<RazorpayTransfer>.fromJson(
json,
(itemJson) =>
RazorpayTransfer.fromJson(itemJson! as Map<String, dynamic>),
),
);
}