private static NameValueCollection GetFromattedIntRequest(BlockScoreVerifyInternationalRequest request)
        {
            var formData = new NameValueCollection();

            formData["name[first]"]           = request.FirstName;
            formData["name[middle]"]          = request.MiddleName;
            formData["name[last]"]            = request.LastName;
            formData["date_of_birth"]         = request.DateOfBirth;
            formData["type"]                  = request.CitizenshipType;
            formData["identification[ssn]"]   = request.PassportNumber;
            formData["address[street1]"]      = request.Street1;
            formData["address[street2]"]      = request.Street2;
            formData["address[city]"]         = request.City;
            formData["address[state]"]        = request.State;
            formData["address[postal_code]"]  = request.PostalCode;
            formData["address[country_code]"] = request.CountryCode;
            return(formData);
        }
        /*
        * Ouput International Verification Request object to a string
        */
        private string GetblockscoreInternationalRequestoutput(BlockScoreVerifyInternationalRequest blockscorerequest)
        {
            string strreturn = "";

            strreturn += "Gender = " + blockscorerequest.Gender;
            strreturn += "<br/>CountryCode = " + blockscorerequest.CountryCode;
            strreturn += "<br/>PassportNumber = " + blockscorerequest.PassportNumber;
            strreturn += "<br/>FirstName = " + blockscorerequest.FirstName;
            strreturn += "<br/>MiddleName = " + blockscorerequest.MiddleName;
            strreturn += "<br/>LastName = " + blockscorerequest.LastName;
            strreturn += "<br/>DateOfBirth = " + blockscorerequest.DateOfBirth;
            strreturn += "<br/>Street1 = " + blockscorerequest.Street1;
            strreturn += "<br/>Street2 = " + blockscorerequest.Street2;
            strreturn += "<br/>City = " + blockscorerequest.City;
            strreturn += "<br/>State = " + blockscorerequest.State;
            strreturn += "<br/>PostalCode = " + blockscorerequest.PostalCode;

            return strreturn;
        }
 /*
 * Verify International ID
 */
 private static BlockScoreResponse VerifyInternational(BlockscoreAPI blockscore, BlockScoreVerifyInternationalRequest blockScoreVerifyInternationlRequest)
 {
     BlockScoreResponse verifyIntlResult;
     try
     {
         verifyIntlResult = blockscore.VerifyIntl(blockScoreVerifyInternationlRequest);
     }
     catch (Exception e)
     {
         throw new Exception("Caught exception:" + e.Message);
     }
     return verifyIntlResult;
 }
 /*
 * Static values for an International ID
 */
 private static BlockScoreVerifyInternationalRequest GetBlockScoreInternationalRequest()
 {
     var blockScoreInternationlRequest = new BlockScoreVerifyInternationalRequest
     {
         FirstName = "John",
         MiddleName = "W",
         LastName = "Smith",
         Gender = "M",
         DateOfBirth = "1980-10-10",
         PassportNumber = "X110000",
         Street1 = "Bahnhofstrasse 70",
         Street2 = "",
         City = "Zurich",
         State = "ZH",
         PostalCode = "8001",
         CountryCode = "CH"
     };
     return blockScoreInternationlRequest;
 }
 private static NameValueCollection GetFromattedIntRequest(BlockScoreVerifyInternationalRequest request)
 {
     var formData = new NameValueCollection();
     formData["name[first]"] = request.FirstName;
     formData["name[middle]"] = request.MiddleName;
     formData["name[last]"] = request.LastName;
     formData["date_of_birth"] = request.DateOfBirth;
     formData["type"] = request.CitizenshipType;
     formData["identification[ssn]"] = request.PassportNumber;
     formData["address[street1]"] = request.Street1;
     formData["address[street2]"] = request.Street2;
     formData["address[city]"] = request.City;
     formData["address[state]"] = request.State;
     formData["address[postal_code]"] = request.PostalCode;
     formData["address[country_code]"] = request.CountryCode;
     return formData;
 }
        /**
         * Verify International
         * @param BlockScoreResponse All three names of consumer plus gender e.g. array('first'=>'Joe', 'middle'=>'', 'last'=>'Smith', 'gender'=>'M')
         *                           Date of birth in YYYY-MM-DD format
         *                           Full passport number
         *                           Full address of consumer e.g. 'street1'=>'Bahnhofstrasse 70', 'street2'=>'', 'city'=>'Zurich', 'state'=>'ZH', 'postal_code'=>'8001', 'country_code'=>'CH'
         * @throws Exception if request fails (see private function request() for details)
         * @return Array
         */
        public BlockScoreResponse VerifyIntl(BlockScoreVerifyInternationalRequest request)
        {
            var formData = GetFromattedIntRequest(request);

            return Request("POST","verifications", formData);
        }
        /**
         * Verify International
         * @param BlockScoreResponse All three names of consumer plus gender e.g. array('first'=>'Joe', 'middle'=>'', 'last'=>'Smith', 'gender'=>'M')
         *                           Date of birth in YYYY-MM-DD format
         *                           Full passport number
         *                           Full address of consumer e.g. 'street1'=>'Bahnhofstrasse 70', 'street2'=>'', 'city'=>'Zurich', 'state'=>'ZH', 'postal_code'=>'8001', 'country_code'=>'CH'
         * @throws Exception if request fails (see private function request() for details)
         * @return Array
         */

        public BlockScoreResponse VerifyIntl(BlockScoreVerifyInternationalRequest request)
        {
            var formData = GetFromattedIntRequest(request);

            return(Request("POST", "verifications", formData));
        }