2 issues I'm facing :
- Cvv2 value ,where i can get it from the API ? (is it AccountDataDictionary ?)
- orders always appear "pending" to admin, though they where authorized and captured , once viewed they switched to "Authorized"
AccountDataDictionary is used for CVV processing when placing and order but you can't get this value because its never been stored. Standard credit card processing rules don't allow to store the CVV.Cvv2 value ,where i can get it from the API ? (is it AccountDataDictionary ?)
You cannot retrieve the card security code to manually process the charge using your card reader or virtual terminal. If you need to manually process charges, then you will need to change your payment processor contract to allow charges without the card security code.que0x wrote:thanks , but the payment gateway requires the CVV2 , CVV2 is the shown security code on the card itself so all i need the security code written by the customer checkout.
Code: Select all
//APPEND PAYMENT INSTRUMENT DETAILS
//AccountDataDictionary accountData = new AccountDataDictionary(payment.AccountData);
if (instrument != PaymentInstrument.Check)
{
string accountNumber = accountData.GetValue("AccountNumber");
transactionData.Append("&x_card_num=" + accountNumber);
if (this.UseDebugMode) sensitiveData[accountNumber] = MakeReferenceNumber(accountNumber);
string expirationMonth = accountData.GetValue("ExpirationMonth");
if (expirationMonth.Length == 1) expirationMonth.Insert(0, "0");
string expirationYear = accountData.GetValue("ExpirationYear");
transactionData.Append("&x_exp_date=" + System.Web.HttpUtility.UrlEncode(expirationMonth + "/" + expirationYear));
//PROCESS CREDIT CARD ACCOUNT DATA
string securityCode = accountData.GetValue("SecurityCode");
if (!string.IsNullOrEmpty(securityCode))
{
transactionData.Append("&x_card_code=" + securityCode);
if (this.UseDebugMode) sensitiveData["x_card_code=" + securityCode] = "x_card_code=" + (new string('x', securityCode.Length));
}
}