예제 #1
0
        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));
        }
예제 #2
0
        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);
        }