listSubscriptionInvoices method

Future<void> listSubscriptionInvoices({
  1. String? storeId,
  2. String? status,
  3. bool? refunded,
  4. String? subscriptionId,
})

Implementation

Future<void> listSubscriptionInvoices(
    {String? storeId,
    String? status,
    bool? refunded,
    String? subscriptionId}) async {
  Options dioOptions = Options(
    headers: {
      "Authorization": "Bearer $apiKey",
      "Accept": "application/vnd.api+json",
      "Content-Type": "application/vnd.api+json",
    },
  );

  try {
    String url = "https://api.lemonsqueezy.com/v1/subscription-invoices";
    if (storeId != null ||
        status != null ||
        refunded != null ||
        subscriptionId != null) {
      url += "?filter[";
      if (storeId != null) {
        url += "store_id]=$storeId&filter[";
      }
      if (status != null) {
        url += "status]=$status&filter[";
      }
      if (refunded != null) {
        url += "refunded]=$refunded&filter[";
      }
      if (subscriptionId != null) {
        url += "subscription_id]=$subscriptionId&filter[";
      }
    }

    Response response = await dio.get(
      url,
      options: dioOptions,
    );

    if (response.statusCode == 200) {
      print('Subscription invoices retrieved successfully:');
      print(response.data);
    } else {
      print('Failed to retrieve subscription invoices');
    }
  } catch (e) {
    print('Error retrieving subscription invoices: $e');
  }
}