Vb.net 由Authorize.Net批准的、过期日期和CVS编号不正确的交易
我目前使用Authorize.net处理了一张信用卡,并设置了信用卡当前状态。最棒的是,这张卡正在进行交易,但当我使用同一张卡的不同到期日或不同的cvs号码时,这张卡仍在进行交易。这不应该发生。下面是我在VB.NET中使用的代码 我是否缺少任何设置?。此事务处于测试模式Vb.net 由Authorize.Net批准的、过期日期和CVS编号不正确的交易,vb.net,payment-gateway,authorize.net,Vb.net,Payment Gateway,Authorize.net,我目前使用Authorize.net处理了一张信用卡,并设置了信用卡当前状态。最棒的是,这张卡正在进行交易,但当我使用同一张卡的不同到期日或不同的cvs号码时,这张卡仍在进行交易。这不应该发生。下面是我在VB.NET中使用的代码 我是否缺少任何设置?。此事务处于测试模式 Public Sub New(ByVal authID As String, _ ByVal authPassword As String, _ ByV
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
这不是编码问题
不正确的到期日期和/或CVV编号不一定会导致交易被拒绝。客户提供的到期日期不正确并不罕见,因此许多银行不会因此而拒绝销售。此外,CVV只是确定每笔交易欺诈风险的工具。错配仅仅意味着风险更高,由商户决定是否接受或拒绝交易。但交易不会因此而被拒绝,因为这不是大多数发卡银行审批流程中的一个因素。公司指定了到期日和要处理的安全号码,那么我该怎么办?谢谢您回复我。@Trikam我没有持卡经验,希望这对您有意义。如果刷卡,您可以捕获并在屏幕上显示到期日期。然后,出纳可以验证它是否与卡上的浮雕相符。至于CVV号码,我不知道如何验证它,除了验证它是否正确输入(假设它是一个加密的交易)。处理完交易后,您将收到一个响应,指示CVV编号是否正确。如果不是,您可以显示警告,并且在需要时总是使事务无效。这仍然是真的吗?@Samyer是的,这仍然是真的