close method

Future<Response<RazorpayVirtualAccountCloseResponse>> close({
  1. required String virtualAccountId,
  2. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpayVirtualAccountCloseResponse>?
    )?,
})

Close virtual account

@param virtualAccountId - The unique identifier of the virtual account

Implementation

Future<Response<RazorpayVirtualAccountCloseResponse>> close({
  // Assuming response is the closed VA
  required String virtualAccountId,
  void Function(
    RazorpayApiException?,
    Response<RazorpayVirtualAccountCloseResponse>?,
  )? callback,
}) async {
  if (virtualAccountId.isEmpty) {
    throw ArgumentError(ID_REQUIRED_MSG);
  }
  // JS returns 'any', assuming it returns the closed VA object.
  return api.post<RazorpayVirtualAccountCloseResponse>(
    {'url': '$BASE_URL/$virtualAccountId/close'},
    fromJsonFactory: RazorpayVirtualAccountCloseResponse
        .fromJson, // Adjust if response is different
    callback: callback,
  );
}