variables.cfpayment = structNew(); variables.cfpayment.Status = ""; // set in init() to be unprocessed variables.cfpayment.StatusCode = ""; // hold the HTTP/connection status code variables.cfpayment.Result = ""; // hold the raw response from the other end variables.cfpayment.TestMode = false; variables.cfpayment.Message = ""; variables.cfpayment.TransactionID = ""; // transaction id from remote system variables.cfpayment.Authorization = ""; // six-character alphanum approval/authorization code variables.cfpayment.AVSCode = ""; variables.cfpayment.CVVCode = ""; variables.cfpayment.ParsedResult = ""; variables.cfpayment.RequestData = ""; // store the payload from the Request; dev use only; populated only when testmode = true variables.cfpayment.TokenID = ""; // normalize an ID for vault/remote lockbox services (store/unstore methods) // list the possible AVS responses variables.cfpayment.ResponseAVS = structNew(); structInsert(variables.cfpayment.ResponseAVS, "A", "Street address matches, but 5-digit and 9-digit postal code do not match.", true); structInsert(variables.cfpayment.ResponseAVS, "B", "Street address matches, but postal code not verified.", true); structInsert(variables.cfpayment.ResponseAVS, "C", "Street address and postal code do not match.", true); structInsert(variables.cfpayment.ResponseAVS, "D", "Street address and postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "E", "AVS data is invalid or AVS is not allowed for this card type.", true); structInsert(variables.cfpayment.ResponseAVS, "F", "Card member's name does not match, but billing postal code matches.", true); structInsert(variables.cfpayment.ResponseAVS, "G", "Non-U.S. issuing bank does not support AVS.", true); structInsert(variables.cfpayment.ResponseAVS, "H", "Card member's name does not match. Street address and postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "I", "Address not verified.", true); structInsert(variables.cfpayment.ResponseAVS, "J", "Card member's name, billing address, and postal code match. Shipping information verified and chargeback protection guaranteed through the Fraud Protection Program.", true); structInsert(variables.cfpayment.ResponseAVS, "K", "Card member's name matches but billing address and billing postal code do not match.", true); structInsert(variables.cfpayment.ResponseAVS, "L", "Card member's name and billing postal code match, but billing address does not match.", true); structInsert(variables.cfpayment.ResponseAVS, "M", "Street address and postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "N", "Street address and postal code do not match.", true); structInsert(variables.cfpayment.ResponseAVS, "O", "Card member's name and billing address match, but billing postal code does not match.", true); structInsert(variables.cfpayment.ResponseAVS, "P", "Postal code matches, but street address not verified.", true); structInsert(variables.cfpayment.ResponseAVS, "Q", "Card member's name, billing address, and postal code match. Shipping information verified but chargeback protection not guaranteed.", true); structInsert(variables.cfpayment.ResponseAVS, "R", "System unavailable.", true); structInsert(variables.cfpayment.ResponseAVS, "S", "U.S.-issuing bank does not support AVS.", true); structInsert(variables.cfpayment.ResponseAVS, "T", "Card member's name does not match, but street address matches.", true); structInsert(variables.cfpayment.ResponseAVS, "U", "Address information unavailable.", true); structInsert(variables.cfpayment.ResponseAVS, "V", "Card member's name, billing address, and billing postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "W", "Street address does not match, but 9-digit postal code matches.", true); structInsert(variables.cfpayment.ResponseAVS, "X", "Street address and 9-digit postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "Y", "Street address and 5-digit postal code match.", true); structInsert(variables.cfpayment.ResponseAVS, "Z", "Street address does not match, but 5-digit postal code matches.", true); // list the CVC or CVV2 response options variables.cfpayment.ResponseCVV = structNew(); structInsert(variables.cfpayment.ResponseCVV, "D", "Suspicious transaction", true); structInsert(variables.cfpayment.ResponseCVV, "I", "Failed data validation check", true); structInsert(variables.cfpayment.ResponseCVV, "M", "Match", true); structInsert(variables.cfpayment.ResponseCVV, "N", "No Match", true); structInsert(variables.cfpayment.ResponseCVV, "P", "Not Processed", true); structInsert(variables.cfpayment.ResponseCVV, "S", "Should have been present", true); structInsert(variables.cfpayment.ResponseCVV, "U", "Issuer unable to process request", true); structInsert(variables.cfpayment.ResponseCVV, "X", "Card does not support verification", true);