# Manually approve payments on your server

Run custom logic on your server before finalizing a payment.

Before finalizing payment, you can run custom logic on your server based on information collected from the customer.

Use manual approval to:

- Run your own custom or third-party fraud prevention logic
- Perform inventory checks to make sure you have sufficient inventory to fulfill an order before confirming payment
- Make sure that you can support a customer’s chosen payment information before confirming payment

### Feature compatibility 

You can use manual approval with the [dynamic line items](https://docs.stripe.com/payments/checkout/dynamically-update-line-items.md) feature.

> #### Payment Intents API
> 
> Manual approval isn’t available for the Payment Intents API. However, you can run custom logic by [finalizing payments on your server](https://docs.stripe.com/payments/finalize-payments-on-the-server.md) with the Payment Intents API.
