uploadAccountDoc method
Future<Response<RazorpayAccountDocuments> >
uploadAccountDoc({
- required String accountId,
- required String documentType,
- required MultipartFile file,
- Map<
String, dynamic> ? otherParams, - void callback(
- RazorpayApiException?,
- Response<
RazorpayAccountDocuments> ?
Upload account documents
@param accountId - The unique identifier of the account. @param documentType - The type of document being uploaded. @param file - The file to upload (use dio's MultipartFile). @param params - Additional parameters like notes.
Implementation
Future<Response<RazorpayAccountDocuments>> uploadAccountDoc({
required String accountId,
required String documentType,
required MultipartFile file,
Map<String, dynamic>? otherParams, // For notes etc.
void Function(RazorpayApiException?, Response<RazorpayAccountDocuments>?)?
callback,
}) async {
if (accountId.isEmpty) {
throw ArgumentError('accountId is required');
}
if (documentType.isEmpty) {
throw ArgumentError('documentType is required');
}
final formDataMap = {
'document_type': documentType,
'file': file,
...?otherParams, // Spread optional parameters
};
return api.postFormData<RazorpayAccountDocuments>(
{
'version': 'v2',
'url': '$BASE_URL/$accountId/documents',
// 'formData' key removed, pass FormData directly
},
formData: FormData.fromMap(formDataMap),
fromJsonFactory: RazorpayAccountDocuments.fromJson,
callback: callback,
);
}