responseSubscriptionMethod method

void responseSubscriptionMethod(
  1. dynamic value
)

Implementation

void responseSubscriptionMethod(dynamic value) {
  if(value != null) {
    final body = json.decode(value);
    var status = body["status"] as String;
    switch (status) {
      case "exception":
        var data = body["data"] as Map<String, dynamic>;
        var cfErrorResponse = CFErrorResponse("FAILED", data["message"] as String, "invalid_request", "invalid_request");
        onError!(cfErrorResponse, "");
        break;
      case "success":
        var data = body["data"] as Map<String, dynamic>;
        final subscriptionId = data["subscriptionId"] ?? data["order_id"];
        if (subscriptionId is String && subscriptionId.isNotEmpty) {
          verifyPayment!(subscriptionId);
        }else {
          debugPrint("No valid subscriptionId or order_id found in response.");
        }
        break;
      case "failed":
        var data = body["data"] as Map<String, dynamic>;
        var errorResponse = CFErrorResponse(
            data["status"] as String, data["message"] as String,
            data["code"] as String, data["type"] as String);
        onError!(errorResponse, "");
        break;
    }
  }
}