I am looking into this further, but takes sometime aswell with real money so not the fastest debug session (not to mention I am currently ill).
And just for all information, we are using the Order v2 API.
We Create an order with the
CAPTURE: The merchant intends to capture payment immediately after the customer makes a payment.
From the response, returned by creating an order, we grab the approve url and redirect the user there:
To complete payer approval, use the approve link to redirect the payer. The API caller has 3 hours (default setting, this which can be changed by your account manager to 24/48/72 hours to accommodate your use case) from the time the order is created, to redirect your payer. Once redirected, the API caller has 72 hours for the payer to approve the order and either authorize or capture the order.
From there, once the user is done, we receive the order id from paypal. Which we then check with show order details. And we look for the
status of the response object. If the status is either
COMPLETED, we distribute the points.
APPROVED. The customer approved the payment through the PayPal wallet or another form of guest or unbranded payment. For example, a card, bank account, or so on.
COMPLETED. The payment was authorized or the authorized payment was captured for the order.
More to come.