title: Flutter: purchases stream is empty and attempted purchase throws 'pending transaction for the same product identifier'
body: <p>I'm using the Flutter <a href="https://pub.dev/packages/in_app_purchase" rel="nofollow noreferrer">in_app_purchase</a> plugin, <code>v0.3.3+1</code>.</p>
  
  <p>While testing on iOS, I began a purchase but cancelled mid-way through. After that, whenever I try the purchase again, I get an exception with this message:</p>
  
  <blockquote>
    <p>There is a pending transaction for the same product identifier</p>
  </blockquote>
  
  <p>I have a listener setup on the purchase stream (code below) to complete the purchases. But the stream is not emitting any events.</p>
  
  <pre><code>_purchaseListener = InAppPurchaseConnection.instance.purchaseUpdatedStream.listen((purchases) {
    purchases.forEach((purchase) async {
      if (purchase.status == PurchaseStatus.purchased) //...
      if (purchase.pendingCompletePurchase) {
        //Complete purchase (retrying as Google Play refunds after 3 days if this does not succeed)
        retry&lt;BillingResultWrapper&gt;(() async {
          final completion = await InAppPurchaseConnection.instance.completePurchase(purchase);
          const errors = {BillingResponse.error, BillingResponse.serviceUnavailable};
          if (errors.contains(completion.responseCode)) throw Exception();
          return completion;
        });
      }
    });
  });
  </code></pre>