=item pay_batch
-Returns the payment batch this payment belongs to (L<FS::pay_batch).
+Returns the payment batch this payment belongs to (L<FS::pay_batch>).
=cut
if ( $error ) {
return "error approving paybatchnum $paybatchnum: $error\n";
}
+
+ return if $new->paycode eq "C";
+
my $cust_pay = new FS::cust_pay ( {
'custnum' => $new->custnum,
'payby' => $new->payby,
'payinfo' => $new->payinfo || $old->payinfo,
+ 'paymask' => $new->mask_payinfo,
'paid' => $new->paid,
'_date' => $new->_date,
'usernum' => $new->usernum,
die "unsupported BatchPayment method: ".$pay_batch->payby;
}
+ my $recurring;
+ if ( $cust_main->status =~ /^active|suspended|ordered$/ ) {
+ if ( $self->payinfo_used ) {
+ $recurring = 'S'; # subsequent
+ } else {
+ $recurring = 'F'; # first use
+ }
+ } else {
+ $recurring = 'N'; # non-recurring
+ }
+
Business::BatchPayment->create(Item =>
# required
action => 'payment',
( map { $_ => $location->$_ } qw(address2 city state country zip) ),
invoice_number => $self->invnum,
+ recurring_billing => $recurring,
%payment,
);
}
=item unbatch_and_delete
May only be called on a record with an empty status and an associated
-L<pay_batch> with a status of 'O' (not yet in transit.) Deletes all associated
-records from L<cust_bill_pay_batch> and then deletes this record.
+L<FS::pay_batch> with a status of 'O' (not yet in transit.) Deletes all associated
+records from L<FS::cust_bill_pay_batch> and then deletes this record.
If there is an error, returns the error, otherwise returns false.
=cut