uploadStakeholderDoc method
Future<Response<RazorpayStakeholderDocuments> >
uploadStakeholderDoc({
- required String accountId,
- required String stakeholderId,
- required String documentType,
- required MultipartFile file,
- Map<
String, dynamic> ? otherParams, - void callback(
- RazorpayApiException?,
- Response<
RazorpayStakeholderDocuments> ?
Upload stakeholder documents
@param accountId - The unique identifier of the account. @param stakeholderId - The unique identifier of the stakeholder. @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<RazorpayStakeholderDocuments>> uploadStakeholderDoc({
required String accountId,
required String stakeholderId,
required String documentType,
required MultipartFile file,
Map<String, dynamic>? otherParams,
void Function(
RazorpayApiException?,
Response<RazorpayStakeholderDocuments>?,
)? callback,
}) async {
if (accountId.isEmpty) {
throw ArgumentError('accountId is required');
}
if (stakeholderId.isEmpty) {
throw ArgumentError('stakeholderId is required');
}
if (documentType.isEmpty) {
throw ArgumentError('documentType is required');
}
final formDataMap = {
'document_type': documentType,
'file': file,
...?otherParams,
};
return api.postFormData<RazorpayStakeholderDocuments>(
{
'version': 'v2',
'url': '$BASE_URL/$accountId/stakeholders/$stakeholderId/documents',
},
formData: FormData.fromMap(formDataMap),
fromJsonFactory: RazorpayStakeholderDocuments.fromJson,
callback: callback,
);
}