cancel method
Future<Response<RazorpaySubscription> >
cancel({
- required String subscriptionId,
- bool cancelAtCycleEnd = false,
- void callback(
- RazorpayApiException?,
- Response<
RazorpaySubscription> ?
Cancel a subscription given id and optional cancelAtCycleEnd
@param subscriptionId - The unique identifier of the Subscription.
@param cancelAtCycleEnd - false
(default): Cancel immediately. true
: Cancel at cycle end.
Implementation
Future<Response<RazorpaySubscription>> cancel({
required String subscriptionId,
bool cancelAtCycleEnd = false,
void Function(RazorpayApiException?, Response<RazorpaySubscription>?)?
callback,
}) async {
if (subscriptionId.isEmpty) {
throw ArgumentError(MISSING_ID_ERROR);
}
final url = '$BASE_URL/$subscriptionId/cancel';
final data = cancelAtCycleEnd ? {'cancel_at_cycle_end': 1} : null;
return api.post<RazorpaySubscription>(
{
'url': url,
if (data != null) 'data': data,
},
fromJsonFactory: RazorpaySubscription.fromJson,
callback: callback,
);
}