Tuesday, 5 May 2015

CyberSource Reason Code 102 (Invalid field)

Reason Code 102 in details

Reply Flag (SCMP) : DINVALIDDATA

Description : Declined - One or more fields in the request contains invalid data.

Possible Action : See the reply fields missingFields_0....N for which fields are invalid. Resend the request with correct information

The Issue  :

   Recently couple of order failed where I work giving reason code 102 from cyber source. After investigation I found that the  Ship to Company field is having value like below.

For Order A : "C/O: XYZ Company"
For Order B : just "-"

The Reason :    

 Upon more investigation we found that the ship to company which is a String but don't accept colon ":" and single symbol as company name. This occurs with hyphens and slashes even through they works when they are combined with other characters in the field (Which is not there in any cyber source documentation). 

The Solution :   

 So the best possible solution is to avoid entering invalid data (below is the details how data can be valid or invalid) and use real company name instead of single symbol or special character. This also need to keep in mind during designing and implementation.  

Additional Field validation added in January, 2013

      As part of its commitment to maintain industry-leading security and data integrity, CyberSource has implemented additional front-end validation of transaction data entering its systems.
        Starting late January, 2013, values of specific API fields submitted to the production environment, regardless of connection method, must pass additional validation as outlined below.


Customer Name/Suffix/Title,
Ship-To Name

May start with a letter, number, or question mark (?)
Subsequent characters can be any of following:

letters
numbers
question mark (?)
dash (-)
single quote (')
period (.)
comma (,)
forward slash (/)
'at' sign (@)
ampersand (&)
parentheses ( or )
exclamation point (!)
plus sign (+)
colon (:)                            (applicable to Ship-To Name)

Customer E-mail
*  Must be valid e-mail address format  (example:  <string>@<string>.<string>) and must adhere to the standard format recommendations put forth in RFC 5322
* Phone numbers or Social Security numbers will be blocked


Company Name,
Ship-To Company Name

May start with a letter, number, or question mark (?)
Subsequent characters can be any of the following:

letters
numbers
apostrophe (')
period (.)
comma (,)
forward slash (/)
ampersand (&)
'at' sign (@)
question mark (?)
parenthesis ()
dash (-)
pound sign (#)
exclamation point (!)
plus sign (+)


Customer Phone Number

* Must be a valid phone number format
* May contain any of the following:.

  numbers
  letters
  dash (-)
  parenthesis ()
  plus sign (+)
  comma (,)
 asterisk (*)
 period (.)
 pound sign (#)
 forward slash (/)
 * Must have a minimum of 6 digits and a maximum of 32 digits (see examples below)

Passes minimum number of digits validation:
 '1-800-709-CYBS' is evaluated as '1800709' (non-digits not counted)

Fails minimum number of digits validation:
'1-800-8AB-LISE' is evaluated as '18008' (non-digits not counted)
'418-GO4-LISE' is evaluated as '4184'
'1-800-LISE' is evaluated as '1800'

Merchant Reference Number,
Order Number,
Customer E-mail,
Comments
Phone numbers and Social Security numbers will be blocked


Company Name,
Ship-To Company Name,
Customer Account ID,
Subscription Title

Phone numbers, Social Security numbers, and e-mail addresses will be blocked

Source :

1.  https://support.cybersource.com/cybskb/index?page=content&id=C1251&actp=search&viewlocale=en_US&searchid=1430844176310

2.  https://support.cybersource.com/cybskb/index?page=content&id=C156

No comments:

Post a Comment

  SyntaxError : (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape Solution:...