How to input number larger than 10 digits

Hi, 

I am working on an application where I want to capture the credit card details to make the payments using call integration smart service.

So if I use integerField and  input the card number which is usually of 16 digits, it gives the error that number is too long.

And if I use the textField then after 10 digits it converts to infinity symbol.

How can I add number larger than 10 digits so that I save it on the rule input and can pass to my process model.

Thanks!

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    This is a fundamental architecture problem, and understanding it will save your bacon in many other areas as well.

    Your credit card number is not a number.  Your SSN is not a number.  Your PIN on your credit card is not a number.  Neither is a phone number.  They may appear to be numbers, they may be called "numbers", but that's not what they really are.  They're words.  Specifically passwords, written exclusively with numeral characters.

    Stop thinking of them as numbers.  $45,000 is a number.  You could add to that, subtract from it, multiply it by .0024 on a regular basis for compound interest, etc.  You would never add credit card numbers.  You would never divide someone's SSN by 2.  You'd never take the modulus of someone's PIN, or add 10 percent to someone's phone number.  So you always treat these numeral strings as "string" datatype, or Appian version "Text" datatype.  EVERYWHERE: database, Appian, APIs, XML and JSON, everywhere!  This prevents you from accidentally doing arithmetic operations on them, thinking they are numbers.

    One thing that can help you with credit card numbers specifically is to preserve the dashes between the groups of 4.  Then if you get 2345 minus 5876 minus 4400 minus 1234 you know you did something wrong.

Reply
  • 0
    Certified Lead Developer

    This is a fundamental architecture problem, and understanding it will save your bacon in many other areas as well.

    Your credit card number is not a number.  Your SSN is not a number.  Your PIN on your credit card is not a number.  Neither is a phone number.  They may appear to be numbers, they may be called "numbers", but that's not what they really are.  They're words.  Specifically passwords, written exclusively with numeral characters.

    Stop thinking of them as numbers.  $45,000 is a number.  You could add to that, subtract from it, multiply it by .0024 on a regular basis for compound interest, etc.  You would never add credit card numbers.  You would never divide someone's SSN by 2.  You'd never take the modulus of someone's PIN, or add 10 percent to someone's phone number.  So you always treat these numeral strings as "string" datatype, or Appian version "Text" datatype.  EVERYWHERE: database, Appian, APIs, XML and JSON, everywhere!  This prevents you from accidentally doing arithmetic operations on them, thinking they are numbers.

    One thing that can help you with credit card numbers specifically is to preserve the dashes between the groups of 4.  Then if you get 2345 minus 5876 minus 4400 minus 1234 you know you did something wrong.

Children
No Data