toJson method

Map<String, dynamic> toJson()

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(),
  };
}