create method
Future<Response<RazorpayDocument> >
create({
- required String purpose,
- required MultipartFile file,
- Map<
String, dynamic> ? otherParams, - void callback(
- RazorpayApiException?,
- Response<
RazorpayDocument> ?
Create a Document
@param purpose - The purpose of the document (e.g., 'dispute_evidence'). @param file - The file to upload (use dio's MultipartFile). @param params - Additional parameters like notes.
Implementation
Future<Response<RazorpayDocument>> create({
required String purpose,
required MultipartFile file,
Map<String, dynamic>? otherParams, // For potential future params like notes
void Function(RazorpayApiException?, Response<RazorpayDocument>?)? callback,
}) async {
if (purpose.isEmpty) {
throw ArgumentError('purpose is required');
}
final formDataMap = {
'purpose': purpose,
'file': file,
...?otherParams,
};
return api.postFormData<RazorpayDocument>(
{
'url': BASE_URL,
// 'formData' key removed, pass FormData directly
},
formData: FormData.fromMap(formDataMap),
fromJsonFactory: RazorpayDocument.fromJson,
callback: callback,
);
}