changes to support eWay third-party payment, #10208
[freeside.git] / FS / FS / cust_pay_pending.pm
index fba19ea..e54690e 100644 (file)
@@ -6,6 +6,7 @@ use FS::Record qw( qsearch qsearchs dbh ); #dbh for _upgrade_data
 use FS::payinfo_transaction_Mixin;
 use FS::cust_main_Mixin;
 use FS::cust_main;
+use FS::cust_pkg;
 use FS::cust_pay;
 
 @ISA = qw( FS::payinfo_transaction_Mixin FS::cust_main_Mixin FS::Record );
@@ -77,6 +78,10 @@ Expiration date
 
 Unique identifer to prevent duplicate transactions.
 
+=item pkgnum
+
+Desired pkgnum when using experimental package balances.
+
 =item status
 
 Pending transaction status, one of the following:
@@ -115,9 +120,9 @@ Transaction recorded in database
 
 Additional status information.
 
-=cut
+=item gatewaynum
 
-#=item cust_balance - 
+L<FS::payment_gateway> id.
 
 =item paynum - 
 
@@ -193,6 +198,7 @@ sub check {
     #|| $self->ut_money('cust_balance')
     || $self->ut_hexn('session_id')
     || $self->ut_foreign_keyn('paynum', 'cust_pay', 'paynum' )
+    || $self->ut_foreign_keyn('pkgnum', 'cust_pkg', 'pkgnum')
     || $self->payinfo_check() #payby/payinfo/paymask/paydate
   ;
   return $error if $error;
@@ -286,10 +292,10 @@ sub insert_cust_pay {
 
 }
 
-=item decline
+=item decline [ STATUSTEXT ]
 
-Sets the status of this pending pament to "done" (with statustext
-"declined (manual)").
+Sets the status of this pending payment to "done" (with statustext
+"declined (manual)" unless otherwise specified).
 
 Currently only used when resolving pending payments manually.
 
@@ -297,11 +303,12 @@ Currently only used when resolving pending payments manually.
 
 sub decline {
   my $self = shift;
+  my $statustext = shift || "declined (manual)";
 
   #could send decline email too?  doesn't seem useful in manual resolution
 
   $self->status('done');
-  $self->statustext("declined (manual)");
+  $self->statustext($statustext);
   $self->replace;
 }