toJson method
Convert request to JSON for API call.
Serializes the payment request into a JSON format suitable for Paystack API calls. This includes common fields and payment-method-specific data from subclasses.
Returns
A JSON map containing all payment request data.
Implementation
Map<String, dynamic> toJson() {
return {
'amount': amount,
'currency': currency.name.toUpperCase(),
'email': email,
'reference': reference,
'payment_method': paymentMethod.name,
'metadata': metadata,
'callback_url': callbackUrl,
...getSpecificJson(),
};
}