create method
Future<Response<RazorpayVirtualAccount> >
create({
- required dynamic params,
- void callback(
- RazorpayApiException?,
- Response<
RazorpayVirtualAccount> ?
Create a virtual account (standard or TPV)
@param params - Accepts RazorpayVirtualAccountCreateRequestBody or RazorpayVirtualAccountTPVCreateRequestBody.
Implementation
Future<Response<RazorpayVirtualAccount>> create({
required dynamic params, // Use dynamic for union type
void Function(RazorpayApiException?, Response<RazorpayVirtualAccount>?)?
callback,
}) async {
Map<String, dynamic> requestData;
if (params is RazorpayVirtualAccountCreateRequestBody ||
params is RazorpayVirtualAccountTPVCreateRequestBody) {
requestData = params is RazorpayVirtualAccountCreateRequestBody
? params.toJson()
: params is RazorpayVirtualAccountTPVCreateRequestBody
? params.toJson()
: {};
} else {
throw ArgumentError('Invalid params type for Virtual Account creation.');
}
return api.post<RazorpayVirtualAccount>(
{
'url': BASE_URL,
'data': requestData,
},
fromJsonFactory: RazorpayVirtualAccount.fromJson,
callback: callback,
);
}