Package Proposal: Magnetic Stripe Card
| From: | mitchell perilstein | Date: | Fri, 10 Oct 2003 03:06:08 +0000 |
| Subject: | Package Proposal: Magnetic Stripe Card | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-22541@lists.php.net to get a copy of this message | ||
When there is a card-present transaction with a financial transaction
card, the card swipe device returns a string containing the data on the
card's one, two, or three magnetic tracks. A client browser can capture
the swipe string and post it to an application server, where it can be
processed.
I'm starting work on a PEAR class that takes such a string, parses it,
verifies the various checksums, then makes the data components
available. Roughly like this:
class MagStripeCard extends PEAR {
object MagStripeCard($string) {} // Does parse and checksums;
// ...returns self or PEAR_Error.
string getPAN() {} // primary account number
string getName() {} // account holder name
string getExpireMonth() {} // two characters
string getExpireYear() {} // two characters
string getServiceCode() {} // service code
string getPVKI() {} // PIN Verification Key Indicator
string getCVV() {} // Card Validation Value
string getPVV() {} // PIN Verification Value
// etc...
}
* References
*
* Magnetic Stripe Card Standards - Card Reading
* http://www.magtek.com/documentation/public/99800004-1.pdf
*
* Application Note - Character Conversion
* http://www.magtek.com/documentation/public/99875065-4.pdf
--
Mitchell Perilstein
mitch at enetis dot net
www.enetis.net/~mitch