public async static Task <Transaction> VerifyPassport(AbbyyCloudOCRResponse abbyyCloudOCRResponse, MemoryStream streamOut) { // Using Trulioo to verify extracted passport details TruliooClient truliooClient = new TruliooClient(); VerifyRequest requestValidate = new VerifyRequest() { AcceptTruliooTermsAndConditions = true, CleansedAddress = false, CallBackUrl = Environment.GetEnvironmentVariable("CallBackURL"), ConfigurationName = ConfigurationName, CountryCode = CountryCodes.Mapping[abbyyCloudOCRResponse.IssuingCountry], VerboseMode = true, DataFields = new DataFields() { PersonInfo = new PersonInfo() { FirstGivenName = abbyyCloudOCRResponse.GivenName, FirstSurName = abbyyCloudOCRResponse.LastName, }, Document = new Document() { AcceptIncompleteDocument = true, DocumentType = DocumentType, DocumentBackImage = streamOut.ToArray(), LivePhoto = null, ValidateDocumentImageQuality = true, DocumentFrontImage = streamOut.ToArray() }, } }; return(await truliooClient.Verify(requestValidate)); }
public async Task <Transaction> Verify(VerifyRequest requestValidate) { dynamic response; Transaction transaction = new Transaction(); using (var request = new HttpRequestMessage(HttpMethod.Post, "https://gateway.trulioo.com/trial/verifications/v1/verify") { Content = GetStringContent(requestValidate) }) { request.Headers.Add("Authorization", $"Basic bWFrX25lZF9BVF9ob3RtYWlsLmNvbTphZGlsMTIzNEBhMQ=="); _httpClient = new HttpClient(); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); _httpClient.DefaultRequestHeaders.Add("x-trulioo-api-key", "5f098ea0303b98da1a6905ade986c323"); response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None).ConfigureAwait(false); if (response.IsSuccessStatusCode) { var message = JsonConvert.DeserializeObject <object>(await response.Content.ReadAsStringAsync().ConfigureAwait(false)); JObject result = JObject.Parse(message.ToString()); transaction.TransactionID = result["TransactionID"].ToString(); transaction.CountryCode = result["CountryCode"].ToString(); transaction.RecordStatus = result["Record"]["RecordStatus"].ToString(); } _httpClient.Dispose(); } return(transaction); }