There are two API endpoints that could serve your purpose.
- Invoicing using Classic APIs, which uses SOAP, NVP and at times REST to make calls
- Invoicing using New REST APIs which is the new API set that PayPal is actively developing.
The REST APIs are getting actively developed and supported, and we encourage external developers to start using REST APIs over Classic APIs, to ensure long term support from PayPal with any issues, and features. However, as these APIs, are getting developed, few specific features are still getting developed, and should be available soon. However, Invoicing APIs is developed with most features as Classic APIs.
REST APIs also comes with these APIs:
- Create an invoice
- Send an invoice
- Update an invoice
- Retrieve an invoice
- Get invoices of a merchant
- Search for invoices
- Send an invoice reminder
- Cancel an invoice
- Delete an invoice
- Retrieve a QR code
- Record a payment
- Record a refund
We are currently supporting PayPal-PHP-SDK, an SDK for making calls to PayPal REST APIs. There is a lot of documentation around the SDK from installing it, to running samples, etc.


I would definitely recommend you to download this SDK, and run the samples locally in your machine, (which generally takes few seconds to setup), and try out Invoicing Samples. You could modify the samples, to verify the specific use case that you are trying to accomplish. You could view the sample source code online here.
Please let me know if you run into any issues, and we would be more than happy to help.