resolveKycWebEmbedUri function

Uri? resolveKycWebEmbedUri({
  1. required SdkVerificationResponse verification,
  2. required String apiBaseUrl,
  3. String? apiKey,
  4. String? kycWebBaseUrl,
})

After SdkVerificationService.createVerificationRequest, builds the iframe URL.

Prefer SdkVerificationResponse.kycWebUrl from the API; merges apiKey and apiBaseUrl query parameters. If verification.kycWebUrl is null, falls back to buildKycWebVerifyUri when kycWebBaseUrl is set.

Implementation

Uri? resolveKycWebEmbedUri({
  required SdkVerificationResponse verification,
  required String apiBaseUrl,
  String? apiKey,
  String? kycWebBaseUrl,
}) {
  final api = apiBaseUrl.endsWith('/')
      ? apiBaseUrl.substring(0, apiBaseUrl.length - 1)
      : apiBaseUrl;
  final fromApi = mergeKycWebUrlWithSdkParams(
    verification.kycWebUrl,
    apiBaseUrl: api,
    apiKey: apiKey,
  );
  if (fromApi != null) return fromApi;
  if (kycWebBaseUrl != null && kycWebBaseUrl.isNotEmpty) {
    return buildKycWebVerifyUri(
      kycWebBaseUrl: kycWebBaseUrl,
      verificationId: verification.requestId,
      apiBaseUrl: api,
      apiKey: apiKey,
    );
  }
  return null;
}