Транзакции, утвержденные Authorize.Net с неверной датой истечения срока действия и номером CVS - PullRequest
1 голос
/ 17 мая 2011

В настоящее время я обработал кредитную карту, используя Authorize.net с настройками Card Present. Самое замечательное в том, что с картой ведется транзакция, но когда я использую одну и ту же карту с другой датой истечения срока действия или с другим номером CV, эта карта все еще используется Этого не должно быть. Вот код, который я использую в VB.NET.

Мне не хватает каких-либо настроек? Эта транзакция находится в тестовом режиме.

Public Sub New(ByVal authID As String, _
                   ByVal authPassword As String, _
                   ByVal authTransKey As String, _
                   ByVal serverType As AuthServerTypeEnum, _
                   ByVal cardHolderName As String, _
                   ByVal cardNumber As String, _
                   ByVal expiryMonth As String, _
                   ByVal expiryYears As String, _
                   ByVal issuenumber As Integer, _
                   ByVal cvs As Integer, _
                   ByVal issueMonth As String, _
                   ByVal issueYear As String, _
                   ByVal fullName As String, _
                   ByVal address1 As String, _
                   ByVal address2 As String, _
                   ByVal townCity As String, _
                   ByVal county As String, _
                   ByVal country As String, _
                   ByVal postCode As String, _
                   ByVal amount As String)

        Me._AuthServerType = AuthServerTypeEnum.Test
        'Me._AuthLoginID = "xxxxxx"
        'Me._AuthTransKey = "xxxxxx"
        Me._AuthLoginID = "xxxxxx"
        Me._AuthTransKey = "xxxxxx"

        Dim objInf As New NameValueCollection(30)
        Dim objRetInf As New NameValueCollection(30)

        objInf.Add("x_version", _AuthVersion)
        objInf.Add("x_delim_data", "True")
        objInf.Add("x_login", Me.AuthLoginID)
        objInf.Add("x_password", Me.AuthPassword)
        objInf.Add("x_tran_key", Me.AuthTransKey)
        objInf.Add("x_relay_response", "False")



        Select Case Me.AuthServerType
            Case AuthServerTypeEnum.Live
                objInf.Add("x_test_request", "false")
            Case Else
                objInf.Add("x_test_request", "True")
        End Select

        objInf.Add("x_delim_char", ",")
        objInf.Add("x_encap_char", "|")

        objInf.Add("x_first_name", fullName)
        'objInf.Add("x_last_name", "Patel")
        objInf.Add("x_address", address1)
        objInf.Add("x_city", townCity)
        objInf.Add("x_state", county)
        objInf.Add("x_zip", postCode)
        objInf.Add("x_country", country)

        objInf.Add("x_description", "Description of Order")

        objInf.Add("x_card_num", cardNumber.Replace(" ", ""))
        objInf.Add("x_exp_date", expiryMonth.ToString & "/" & expiryYears.ToString)
        objInf.Add("x_market_type", "2")
        objInf.Add("x_device_type", "5")
        objInf.Add("x_response_format", "1")

        objInf.Add("x_card_code", cvs)

        objInf.Add("x_method", "CC")
        objInf.Add("x_type", "AUTH_CAPTURE")
        objInf.Add("x_amount", "1")

        objInf.Add("x_currency_code", "USD")

        Dim objRetBytes() As Byte
        Dim objRetVals() As String
        Dim strError As String = String.Empty

        Try

            objRetBytes = Me.WebClientRequest.UploadValues(Me.WebClientRequest.BaseAddress, objInf)
            objRetVals = System.Text.Encoding.ASCII.GetString(objRetBytes).Split(",".ToCharArray())

            If True Then

            End If

        Catch ex As Exception

        End Try

    End Sub

1 Ответ

2 голосов
/ 17 мая 2011

Это не проблема кодирования.

Неправильная дата истечения срока действия и / или номер CVV не обязательно приведут к отклонению транзакции. Нередки случаи, когда клиент указывает неверную дату истечения срока действия, поэтому многие банки не отказываются от продаж по этой причине. Кроме того, CVV - это всего лишь инструмент для определения риска мошенничества на транзакцию. Несоответствие просто означает, что вероятность риска выше, и торговец должен решить, хотят ли они принять или отклонить транзакцию. Но транзакция не будет отклонена, поскольку она не является фактором в процессе одобрения для большинства банков-эмитентов карт.

...