+
+ if ( $self->is_success && $self->response_code == 10 ) { #partial auth
+
+ if ( $self->partial_auth ) {
+
+ $self->partial_auth_amount( $self->txn_amount );
+
+ } else {
+
+ #XXX reverse auth if i was an auth only...
+ my $void = new Business::OnlinePayment(
+ 'vSecureProcessing',
+ map { $_ -> $self->$_() } qw( platform appid tid )
+ );
+
+ $void->content(
+ 'action' => 'Void',
+ 'amount' => $self->txn_amount,
+ 'test_transaction' => $self->test_transaction,
+ 'authorization' => $self->authorization,
+ map { $_ => $content{$_} } qw( login password card_number expiration )
+ );
+
+ $void->submit;
+
+ if ( !$void->is_success ) {
+ #XXX now what??? at least this is better than return is_success 0 or 1
+ die "Couldn't void partial auth";
+ } else {
+ $self->is_success(0);
+ }
+
+ }
+
+ }