- OrbitalConnectionUsername => ':login',
- OrbitalConnectionPassword => ':password',
- IndustryType => 'EC', # Assume industry = Ecommerce
- MessageType => ':message_type',
- BIN => ':bin',
- MerchantID => ':merchant_id',
- TerminalID => ':terminal_id',
- CardBrand => '',
- AccountNum => ':card_number',
- Exp => ':expiration',
- CurrencyCode => ':currency_code',
- CurrencyExponent => ':currency_exp',
- CardSecValInd => ':cvvind',
- CardSecVal => ':cvv2',
- AVSzip => ':zip',
- AVSaddress1 => ':address',
- AVScity => ':city',
- AVSstate => ':state',
- OrderID => ':invoice_number',
- Amount => ':amount',
- Comments => ':email', # as per B:OP:WesternACH
- TxRefNum => ':order_number', # used only for Refund
+ OrbitalConnectionUsername => [ ':login', 32 ],
+ OrbitalConnectionPassword => [ ':password', 32 ],
+ IndustryType => [ 'EC', 2 ],
+ MessageType => [ ':message_type', 2 ],
+ BIN => [ ':bin', 6 ],
+ MerchantID => [ ':merchant_id', 12 ],
+ TerminalID => [ ':terminal_id', 3 ],
+ CardBrand => [ '', 2 ],
+ AccountNum => [ ':card_number', 19 ],
+ Exp => [ ':expiration', 4 ],
+ CurrencyCode => [ ':currency_code', 3 ],
+ CurrencyExponent => [ ':currency_exp', 6 ],
+ CardSecValInd => [ ':cvvind', 1 ],
+ CardSecVal => [ ':cvv2', 4 ],
+ AVSzip => [ ':zip', 10 ],
+ AVSaddress1 => [ ':address', 30 ],
+ AVScity => [ ':city', 20 ],
+ AVSstate => [ ':state', 2 ],
+ OrderID => [ ':invoice_number', 22 ],
+ Amount => [ ':amount', 12 ],
+ Comments => [ ':email', 64 ],
+ TxRefNum => [ ':order_number', 40 ],# used only for Refund