+ push @order, (
+ avsZip => $item->zip,
+ avsAddress1 => substr($item->address, 0, 30),
+ avsAddress2 => substr($item->address2, 0, 30),
+ avsCity => substr($item->city, 0, 20),
+ avsState => $item->state,
+ avsName => substr($item->first_name .' '. $item->last_name, 0, 30),
+ avsCountryCode => $item->country,
+ orderID => $item->tid,
+ amount => int( $item->amount * 100 ),
+ );
+ while (@order) {
+ my $key = shift @order;
+ my $value = shift @order;
+ $xml->dataElement($key, $value);
+ }
+ $xml->endTag('newOrder');
+ } # if action eq 'payment'
+ else {
+ die "action ".$item->action." not supported";
+ }
+ '';
+}