1) Your app request money from user via API
2) User receives an notification
3) User pays for request money via API
but how does dwolla know that ok the user is paying for the requestmoney transaction or making a completely new payment?
Send does not make any reference the "Request" API.
https://www.dwolla.com/developers/endpoints/transactions/send
This question has been up for a while, and since it was originally posted, Dwolla has introduced some additional functionality in their API which does exactly what you're looking for in certain use cases.
You may be looking for the fulfill method (docs)? When called with an appropriate access token, it will attempt to complete a given request, responding with both the Request ID and Transaction ID of the associated payment.