Integration and Testing

Authorize.Net API questions and help with your payment integration.

Reply
Member
Posts: 3
Registered: ‎11-30-2016

Umlaut in the Billing Address

I am using Authorise.Net for billing verification in my DotNetNuke site. I have an user from Norway who wants to pay, but he has umlauts (special characters from Norway alphabet like Ø in his billing address). During payment process, he received error code 3/2/33 ERROR Bill To Address is required. When I tested with normal aplphabet characters, I didn't receive this error.  How should I resolve this problem? How should I code this umlaut?

 

Thank you in advance for any help.

All Star
Posts: 699
Registered: ‎11-03-2016

Re: Umlaut in the Billing Address

Hi @alenan2013

 

What kind of encoding do you have going on in your application? Is your development environment set to any particular kind of encoding like UTF-8?

 

Have you tried any encoding of the special characters yourself? For example, what happens if you URLencode that character string before you send it?

Member
Posts: 3
Registered: ‎11-30-2016

Re: Umlaut in the Billing Address

Aaron, thank you for your interest and help. Yes, we have used UTF-8. Please suggest what to do. The code is:

 

Public Sub connectToServer()
            Dim objRequest As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)

            parseParamList()
            _result = String.Empty

            objRequest.Method = "POST"
            objRequest.ContentLength = _stList.Length
            objRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"

            Dim myWriter As System.IO.StreamWriter = Nothing
            Try
                myWriter = New System.IO.StreamWriter(objRequest.GetRequestStream())
                myWriter.Write(_stList)

                'Dim serverPath As String = "c:\inetpub\wwwroot\Portals\0\IGD\Archive\Cards\"
                'Dim fileStamp As String = Date.Now.ToString("yyyyMMddhhmmss")
                'Dim fileName As String = String.Format("{0}{1}_cardCall.txt", serverPath, fileStamp)

                'System.IO.File.WriteAllText(fileName, _stList)


                passed = True
            Catch e As Exception
                passed = False
                _errorMessage = e.Message
                Exit Sub
            Finally
                passed = True
                myWriter.Close()
            End Try


            Try
                Dim objResponse As System.Net.HttpWebResponse = CType(objRequest.GetResponse(), System.Net.HttpWebResponse)
                Dim sr As New System.IO.StreamReader(objResponse.GetResponseStream())
                _result = sr.ReadToEnd()

                sr.Close()

                Dim resArray As String()

                resArray = _result.Split("|")

                responseCode = resArray(0).Trim()
                responseReasonCode = resArray(2).Trim()
                successMessage = resArray(3)


                If (responseCode = "1") Then
                    'passed
                    passed = True
                    transactionID = resArray(6).Trim()

                Else

                    errorMessage = "CODE: " & resArray(0) & "/" & resArray(1) & "/" & resArray(2) & "<br />" & "ERROR: " & resArray(3)

                    successMessage = String.Empty
                    transactionID = String.Empty
                    passed = False
                End If
            Catch ex As Exception
                errorMessage = "Unable to connect the server " & ex.Message
                successMessage = String.Empty
                transactionID = String.Empty
                passed = False
            End Try





        End Sub
All Star
Posts: 699
Registered: ‎11-03-2016

Re: Umlaut in the Billing Address

Hi,

 

From that segment of code, it looks like that's just setting the request headers to indicate UTF-8 in the request sent to the server. However, I'm wondering what your code is doing encoding wise before the request even gets to the server.

 

I can verify that our system should be able to support at least ISO-8859-1 encoding, but that depends on getting the characters encoded correctly when they get sent to us.

 

You can try a couple of things here. You can change "UTF-8" to "ISO-8859-1" to signal to the server that things are ISO-8859-1 encoded and see if that makes a difference. You could also add an encoding pass on the input you receive to specifically encode it before sending it to us.

Member
Posts: 3
Registered: ‎11-30-2016

Re: Umlaut in the Billing Address

@Aaron, thank you very much, it works great :) I have used ISO-8859-1 and URLEncoding. Best regards!