Commerce PayPal wps sends to and gets data from sandbox but no payment method available I'm on localhost without ssl and fix IP. 
I can checkout with PayPal WPS, go to sandbox, confirm as buyer, and when I click in the sandbox I go back to my testsite after confirming to leave SSL.

In my logs I can see (watchdog) that the function commerce_paypal_wps_redirect_form_validate() works fine and gives me a lot of data from my client and the transaction. 

In my sandbox seller account I can see the payment is accepted and I earned my bucks ;) 

Here the problems:

The orders overview at admin/commerce/orders only shows pending orders instead completed although the posted data from paypal show 


  [payment_status] => Completed


Next when I go to the payment of any order I see that there's no payment method available although payment is done per WPS.

admin/commerce/orders/1/payment:


  No payment methods available to add payments.


I believe that these are the reasons why my hook I want to use is not called??
I want to change the user role after the transaction is completed so I took hook_commerce_paypal_ipn_process() without success.

Does anybody has any ideas??

My modules: commerce 7.x-1.11+52-dev, PayPal 7.x-2.3+4-dev, Commerce (Tax)7.x-1.0-rc2, rules 7.x-2.9
PayPal WPS has to send IPN to your Drupal website(application) in order for Drupal to process and store payment for the order. When IPN is received and payment transaction is registered in db you can then run some logic (via Rules) to set the order status accordingly and do other things.

You are not receiving IPN from PayPal because your website is on the local host. You have to host your website on live domain(sub domain, domain sub folder , etc.) so that PayPal server can ping yours and send you data.

Read your question a few more times, and here's more thoughts:

You may be messing up PayPal WPS module's logic by using that hook in a wrong way. Why not assign the role via Rules?