vcatalano / py-authorize

A full-featured Python API for the Authorize.net payment gateway.
MIT License
42 stars 35 forks source link

Relax the rules for phone number formats... #13

Closed fredstluka closed 10 years ago

fredstluka commented 10 years ago

Vincent,

Please relax the rules for phone number formats.

We moved from AuthorizeSauce to py-authorize and found that new rules were being enforced about the format of a phone number.

For example, a number like: 800/555-1212 is not accepted, though I've been told it WAS accepted by AuthorizeSauce, so I assume this must be a formatting rule enforced by py-authorize, not by authorize.net itself.

Ideally, there should be NO rules at all about phone number formats, so that we can support all forms of international numbers with all local formatting conventions (dots, pluses, hyphens, parentheses, spaces, etc.)

Thanks! --Fred Stluka fred@bristle.com

vcatalano commented 10 years ago

After looking through the documentation, it appears you are correct. All APIs limit the maximum length of a phone number to 25 characters. However, AIM allows a phone number of "Up to 25 digits (no letters)" but that is the strictest validation for any of the APIs. I will remove the additional validation from Py-authorize.

fredstluka commented 10 years ago

Vincent,

Great! Will I be notified when you've pushed the latest to GitHub?

Also, will pip pick up the latest version immediately if just do a pip uninstall and pip install?

Until then, it looks like I can just delete lines 14 and 15 of schemas.py:

if re.match(r'^[\d\s\.\-\_x\(\)]*$', value) is None:
    raise colander.Invalid(node, 'The phone number is invalid')

Right?

Thanks! --Fred

vcatalano commented 10 years ago

You should be able to see the status of the ticket once I close it on Github. I will try to get this issue closed this weekend.

When I make the changes on Github I always push the new package to Pypi so you should get the new version on Pip pretty soon after.

The code looks correct, I would make sure you run the unit tests afterward too.

-Vincent

Vincent,

Great! Will I be notified when you've pushed the latest to GitHub?

Also, will pip pick up the latest version immediately if just do a pip uninstall and pip install?

Until then, it looks like I can just delete lines 14 and 15 of schemas.py:

if re.match(r'^[\d\s.-_x()]*$', value) is None: raise colander.Invalid(node, 'The phone number is invalid')

Right?

Thanks! --Fred

— Reply to this email directly or view it on GitHubhttps://github.com/vcatalano/py-authorize/issues/13#issuecomment-33279809 .