pause method

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

Pause a subscription

@param subscriptionId - The unique identifier of the Subscription. @param pauseAtNow - If true, pauses immediately.

Implementation

Future<Response<RazorpaySubscription>> pause({
  required String subscriptionId,
  bool pauseAtNow = 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/pause';
  final data = pauseAtNow ? {'pause_at': 'now'} : null;

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