Drupal Commerce: IPN received - When order paid in full not triggered Problem

I'm testing on a live website and the trigger "When an order is paid in full" is not triggered by Paypal. I'm receiving the IPN and the payments are successful. Is there some set-up I'm missing?

Set-Up

I have Drupal Commerce and Commerce Paypal installed, I've got the latest versions of both of them and rules.

I'm using Paypal Sandbox for my payments and it's the only payment method. It's set-up according to http://www.drupalcommerce.org/user-guide/paypal-standard.

The payments are being paid and received in the sandbox.

I'm receiving the IPN's (here's the latest one from admin/reports/dblog) so why is the trigger not firing?

[mc_gross] =&gt; 12.38
[invoice] =&gt; 21-1380584852
[protection_eligibility] =&gt; Ineligible
[item_number1] =&gt; 
[payer_id] =&gt; ARQWQ9YGG73F4
[tax] =&gt; 0.00
[payment_date] =&gt; 16:46:30 Sep 30, 2013 PDT
[option_selection1_1] =&gt; 1
[payment_status] =&gt; Completed
[charset] =&gt; windows-1252
[mc_shipping] =&gt; 0.00
[mc_handling] =&gt; 0.00
[first_name] =&gt; Dominic
[mc_fee] =&gt; 0.62
[notify_version] =&gt; 3.7
[custom] =&gt; 
[payer_status] =&gt; verified
[business] =&gt; captain12a@msn.com
[num_cart_items] =&gt; 1
[mc_handling1] =&gt; 0.00
[payer_email] =&gt; captain14a@hotmail.co.uk
[verify_sign] =&gt; AiPC9BjkCyDFQXbSkoZcgqH3hpacAQf5aelWDuTPmoMQ5vx5hMDCzulp
[mc_shipping1] =&gt; 0.00
[tax1] =&gt; 0.00
[option_name1_1] =&gt; Product count
[txn_id] =&gt; 7Y390707M1183591C
[payment_type] =&gt; instant
[last_name] =&gt; Woodman
[item_name1] =&gt; Order 21 at drupaltest2
[receiver_email] =&gt; captain12a@msn.com
[payment_fee] =&gt; 
[quantity1] =&gt; 1
[receiver_id] =&gt; 2FHV6QVKKQXY4
[txn_type] =&gt; cart
[mc_gross_1] =&gt; 12.38
[mc_currency] =&gt; GBP
[residence_country] =&gt; GB
[test_ipn] =&gt; 1
[transaction_subject] =&gt; 
[payment_gross] =&gt; 
[auth] =&gt; A41o8UNEox9bol5SH7hvw4jIMV-gR-9qubh3WKMZ9hmLr7oTiHMUATibYSUjrjlHHqDUlwDOlwNt10ZLGJt8xDw


(I checked the trigger using ZioBuddha's idea and it works fine for cheque's)
It randomly started working. Here's what I did to debug in-case it helps someone else:


IPN only works on a live server not a localhost. Paypal can't talk to localhost.


Debug on Drupal Side - In Payment Rules

Enable Log notifications with the full IPN during validation and processing (used for debugging). 

It'll get stored at example.com/admin/reports/dblogs. You can see a sample IPN in my post. 

I was originally getting the IPN in a log that looked like:

commerce_paypal_wps  |  1 Oct 2013 - 12:48am  | Customer returned from PayPal with the following POST...  |   username


That log contained the IPN in my original post.

Paypal Settings

You don't need to enable IPN notifications because the module does it automatically when it needs to. But if you do then you can view your history and see if they were getting sent. (I put example.com in the PayPal URL field.)

The only thing I did here was try re-sending an IPN. 

What you should have

When it works your log should have something like this in it

commerce_paypal      |  1 Oct 2013 - 11:46am  |  Attempting to process IPN 7Y390707M1183591C. Array...   |  Anonymous (not verified)
commerce_paypal_wps  |  1 Oct 2013 - 11:46am  | IPN validated for Order 21 with ID 7Y390707M1183591C...  |  Anonymous (not verified)
commerce_paypal_wps  |  1 Oct 2013 - 11:46am  | IPN processed for Order 21 with ID 7Y390707M1183591C.    |  Anonymous (not verified)