summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cust_bill_pay_pkg.pm6
-rw-r--r--FS/FS/cust_pay.pm10
2 files changed, 12 insertions, 4 deletions
diff --git a/FS/FS/cust_bill_pay_pkg.pm b/FS/FS/cust_bill_pay_pkg.pm
index eb2e80c78..5d154d0b7 100644
--- a/FS/FS/cust_bill_pay_pkg.pm
+++ b/FS/FS/cust_bill_pay_pkg.pm
@@ -102,7 +102,11 @@ sub insert {
#payment receipt
my $conf = new FS::Conf;
- my $trigger = $conf->config('payment_receipt-trigger') || 'cust_pay';
+ my $trigger =
+ $conf->config('payment_receipt-trigger',
+ $self->cust_bill_pay->cust_bill->cust_main->agentnum,
+ )
+ || 'cust_pay';
if ( $trigger eq 'cust_bill_pay_pkg' ) {
my $error = $self->send_receipt(
'manual' => $options{'manual'},
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index 3cdbdb33e..26d46dc8a 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -644,6 +644,9 @@ sub send_receipt {
my $msgnum = $conf->config('payment_receipt_msgnum', $cust_main->agentnum);
if ( $msgnum ) {
+ my %substitutions = ();
+ $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
+
my $queue = new FS::queue {
'job' => 'FS::Misc::process_send_email',
'paynum' => $self->paynum,
@@ -651,9 +654,10 @@ sub send_receipt {
};
$error = $queue->insert(
FS::msg_template->by_key($msgnum)->prepare(
- 'cust_main' => $cust_main,
- 'object' => $self,
- 'from_config' => 'payment_receipt_from',
+ 'cust_main' => $cust_main,
+ 'object' => $self,
+ 'from_config' => 'payment_receipt_from',
+ 'substitutions' => \%substitutions,
),
'msgtype' => 'receipt', # override msg_template's default
);