You shouldn't have to be passing your token. You should be following the flow below.
- Make your SetExpressCheckout API call and set payment action to authorization (A)
- Get token back
- Redirect buyer over to PayPal with to token to login and agree to payment
- Buyer gets redirected back to your site with token and payer id returned
- You can then execute your GetExpressCheckoutDetails API call using the token.(this step is optional)
- Then you perform the DoExpressCheckoutPayment API where you pass over the token and set the payment action to authorization (A)
Then then completes the Express Checkout authorization.
Now you would go back a day or two later and perform your DoCapture API where you send over the transaction id that was returned from your DoExpressCheckoutPayment API earlier. You don't send over the token again here. Once you complete the DoCapture, the funds should then show in your account.