resume method

Future<Response<RazorpaySubscription>> resume({
  1. required String subscriptionId,
  2. bool resumeAtNow = false,
  3. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpaySubscription>?
    )?,
})

Resume a subscription

@param subscriptionId - The unique identifier of the Subscription. @param resumeAtNow - If true, resumes immediately.

Implementation

Future<Response<RazorpaySubscription>> resume({
  required String subscriptionId,
  bool resumeAtNow = false, // Use bool for clarity
  void Function(RazorpayApiException?, Response<RazorpaySubscription>?)?
      callback,
}) async {
  if (subscriptionId.isEmpty) {
    throw ArgumentError(MISSING_ID_ERROR);
  }
  final url = '$BASE_URL/$subscriptionId/resume';
  final data = resumeAtNow ? {'resume_at': 'now'} : null;

  return api.post<RazorpaySubscription>(
    {
      'url': url,
      if (data != null) 'data': data,
    },
    fromJsonFactory: RazorpaySubscription.fromJson,
    callback: callback,
  );
}