...
Go to Setup.
In the Quick Find box, search and select Flow Flows.
Click New Flow.
In the New Flow modal, select Autolaunched Flow (No Trigger).
Select a layout of your choice.
Add a new input variable that will serve as the placeholder for each record to process. This input variable is necessary for the Batch Job creation.
Click New Resource.
Complete the following steps in the New Resource modal, and click Done:
In the Resource Type, select Variable.
Provide your desired API Name.
In the Data Type, select Text.
Make sure that the Available for input (under the Availability Outside the Flow) is TRUE.
Add a Get Records element to retrieve the exact record where an invoice will be generated. For this example, we will be using Opportunity.
Drag/Add the Get Records element onto the canvas.
Complete the following steps in the New Get Records modal, and click Done:
Make sure to provide the exact object of the record.
Filter the records to be processed based on the stored record in the input variable.
Add a Get Records element to retrieve the Gateway Account of the retrieved record from the previous action as it will be necessary to generate an invoice.
Drag/Add the Get Records element onto the canvas.
Complete the following steps in the New Get Records modal, and click Done:
Select Gateway Account as the Object.
Filter the records to retrieve ONLY the Gateway Account of the to-be-processed record.
Value = {!Get_Opportunity_Records.Gateway_Account__r.Id}
Add an Action element to invoke the Invoice API invocable class.
Drag/Add the Get Records element onto the canvas.
Complete the following steps in the New Action modal, and click Done:
Filter by Type and select Apex Action.
Find and select the Invoice API invocable class.
Provide the necessary details:
Amount (required) = The amount of the record
Currency (required) = The preferred currency to be used
Gateway Account Record (required) = The Gateway Account of the record
Related Record To (optional) = The record ID of the record you want to be linked in the Gateway Invoice. In this case, you can link the to-be-processed record to Gateway Invoice which will be created after the invoice generation.
Related Record To - Field (optional) = The custom lookup field under the Gateway Invoice object that will be populated with the record ID of the linked record.
Token (required) = The token that will be used in the payment processing during the invoice generation. You can use the Token from the Payment Source if your organization is using PosiPay’s Payment Source.
Token = {!Get_Opportunity_Records.Payment_Source__r.PosiPay__Token__c}
Save your Autolaunched Flow and make sure to activate it to be accessible in the Batch Job creation.
...