createPaymentLink method

Future<String?> createPaymentLink({
  1. String? orgId,
  2. required String priceId,
  3. required String successUrl,
  4. required String cancelUrl,
  5. int? trialDays,
})

Creates a payment link asynchronously Sets loading state and invokes the provider method

Implementation

Future<String?> createPaymentLink({
  String? orgId,
  required String priceId,
  required String successUrl,
  required String cancelUrl,
  int? trialDays,
}) async {
  emit(state.startLoading(BillingLoadingStates.createPaymentLink));

  try {
    return await provider.createPaymentLink(
      orgId: orgId,
      priceId: priceId,
      successUrl: successUrl,
      cancelUrl: cancelUrl,
      trialDays: trialDays,
    );
  } catch (error, stackTrace) {
    emit(state.addMessage(
      Message.error(_localizations.unknownError),
      error,
      stackTrace,
    ));
    return null;
  } finally {
    emit(state.endLoading(BillingLoadingStates.createPaymentLink));
  }
}