A user paid successfully for an IAP, then somehow paid again on the same account with a declined source, and now the first (successful) payment is being ignored. I think the problem is that when the 2nd payment (since both were for the same item ID) failed, it somehow "overwrote" the old, successful one. Or maybe both the failed and the successful are being stored in an array at some point and only the most recent (aka failed) one is being returned.
A user paid successfully for an IAP, then somehow paid again on the same account with a declined source, and now the first (successful) payment is being ignored. I think the problem is that when the 2nd payment (since both were for the same item ID) failed, it somehow "overwrote" the old, successful one. Or maybe both the failed and the successful are being stored in an array at some point and only the most recent (aka failed) one is being returned.