Skip to main content
Question

Automatic capture of Payment from Invoices screens, on its Applications tab

  • July 3, 2025
  • 0 replies
  • 26 views

I need to press the CAPTURE button on code level.

I found its action method is declared in CreatePaymentExt class, so I call it from the extension. I tried to access the method hardcoding the name.

       SOInvoiceEntry soInvoiceEntry = PXGraph.CreateInstance<SOInvoiceEntry>();
var paymentExt = soInvoiceEntry.GetExtension<CreatePaymentExt>();
paymentExt?.captureDocumentPayment?.Press();


//soInvoiceEntry?.Actions["CaptureDocumentPayment"]?.Press();

 

As the CAPTURE is a background operation, I added this after Press(), but noting actually happens. 

                            PXLongOperation.WaitCompletion(soInvoiceEntry.UID);

I tried also PressImpl(), again no result.

 

I try to run this logic from a Processing screen. Here is its view. The filter DAC has Serializable attribute.

 [PXFilterable]
public PXFilteredProcessingJoin<ARAdjust2, BZWoocommerceOrderFilter, InnerJoin<ARPayment, On<ARAdjust2.adjgDocType, Equal<ARPayment.docType>,
And<ARAdjust2.adjgRefNbr, Equal<ARPayment.refNbr>>>,

InnerJoin<ARInvoice, On<ARInvoice.docType, Equal<ARAdjust2.adjdDocType>,
And<ARInvoice.refNbr, Equal<ARAdjust2.adjdRefNbr>>>,

LeftJoin<ExternalTransaction, On<ExternalTransaction.transactionID, Equal<ARPayment.cCActualExternalTransactionID>>>>>,

Where<ARPayment.isCCAuthorized, Equal<True>,
And<BZARInvoiceExt.usrBZWoocommerceOrderId, IsNotNull,
And<BZARInvoiceExt.usrBZWOOStoreCode, IsNotNull,
And<ExternalTransaction.procStatus, Equal<ExtTransactionProcStatusCode.authorizeSuccess>>>>>> BZReleasedInvoicePayments;

I am doing this on Acumatica instance of version 24.208.0020, Sales Demo data.

Here is the image of the screen

What could have been done wrong whit this?