В настоящее время я обработал кредитную карту, используя 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