In case you want your visitor to specify a custom amount for payment then you can simply do It in two ways.
By Dynamically Inputting the Value from Field (recommended)
By bifurcating your form into two pages.
By Dynamically Inputting the value from the field
You can enable the toggle "Get item name dynamically from another field in the form" to get the value from your form field in your Item Name and Item Value.
Note: Don't forget to replace the "name_field_id" with your actual field id from where you want to retrieve the item name and the same for the value field ID.
By Bifurcating your form into two pages
In the first form, you can either allow them to choose the amount using a select field or write a custom amount with a number field (which you can restrict for maximum value)
In the redirect action of your first form, you can use the query parameter to bring the amount value to your second form
In the second form, you need to use the Paypal Field and use the dynamic request parameter in Item Value.
Also, make sure to enable the toggle "Disable Amount Validation" when you are retrieving the value from the other form.
You can retrieve other values the same way in the second form. So, they will be prepopulated. For such, you can use Request Parameter in the default value of fields and append the redirect URL such as:
https://www.yoursite.com/payment?customamount=[field id="amount"]&customname=[field id="name"]