There are instances where a NetSuite transaction may have multiple Stripe Payment Intents with an incomplete status. In order to close out Stripe Payment Intents when an invoice status changes to paid, you will need to add a Saved Search ID and schedule the script deployment.
Configure Script & Saved Search
Saved Search Template Name: PayPack Payment Intent Cancellation
Script Name: PayPack Payment Intent Cancel MR
After adding your Payment Intent Cancellation Saved Search ID to the parameters tab, you will need to deploy the script PayPack Payment Intent Cancel MR.
Cancel Authorize & Capture Errors
In payment workflows using an authorize & capture model (e.g. B2B companies checking funds before releasing physical goods), a common issue arises when the final invoice amount exceeds the original authorization amount (e.g. Freight shipping increased at time of billing). Because most payment processors do not allow capturing a higher amount than what was initially authorized, the capture attempt results in an error, leaving the payment intent stuck in an uncollectible state.
You can create a Saved Search in PayPack to automatically identify and cancel these problematic payment intents immediately rather than waiting for them to automatically expire after 7 days. This will reduce customer confusion when they see uncollected temporary funds held on their bank statements.
Search Criteria & Filters
Configure your saved search with the following rules:
Transaction Status is any of Invoice:Paid in Full, Sales Order:Billed, Sales Order:Closed.
Payment Intent Status is requires_capture.
Charge Log Error Message starts with The payment could not be captured because the requested capture amount is greater.
Verification
Once saved, run the search. Any payment intent appearing in the results will be canceled. After the payment intent cancel script is successfully executed, verify that the payment intent status updates to Canceled in NetSuite and the original authorization hold is released in Stripe.