fetchPayments method
Future<Response<RazorpayVirtualAccountPaymentsResponse> >
fetchPayments({
- required String virtualAccountId,
- RazorpayPaginationOptions? params,
- void callback()?,
Fetch payments for a virtual account
@param virtualAccountId - The unique identifier of the virtual account @param params - Pagination options.
Implementation
Future<Response<RazorpayVirtualAccountPaymentsResponse>> fetchPayments({
required String virtualAccountId,
RazorpayPaginationOptions? params,
void Function(
RazorpayApiException?,
Response<RazorpayVirtualAccountPaymentsResponse>?,
)? callback,
}) async {
if (virtualAccountId.isEmpty) {
throw ArgumentError(ID_REQUIRED_MSG);
}
final url = '$BASE_URL/$virtualAccountId/payments';
var from = params?.from; // Added pagination based on likely API behavior
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(),
};
queryParams.removeWhere((key, value) => value == null);
return api.get<RazorpayVirtualAccountPaymentsResponse>(
{
'url': url,
'data': queryParams,
},
fromJsonFactory: RazorpayVirtualAccountPaymentsResponse.fromJson,
callback: callback,
);
}