                 _dispatchEvent(InAppPurchaseEvent.RESTORE_INFO_ERROR, "InAppPurchase not supported");
             else if (_isAndroid() || restoreIOSHistory)
                 _context.call("restoreTransaction");
-            else if (_isIOS()) {
+            else if (_isIOSOrMacOS()) {
 
                 var jsonPurchases:String = "[" + _iosPendingPurchases.join(",") + "]";
                 var jsonData:String = "{ \"purchases\": " + jsonPurchases + "}";


                _context.call("removePurchaseFromQueue", productId, receipt, developerPayload ? developerPayload : "");

                if (_isIOS()) {

                    var filterPurchase:Function = function(jsonPurchase:String, index:int, purchases:Vector.<Object>):Boolean {


         */
		private function _onStatus(event:StatusEvent):void {

            if (event.code == InAppPurchaseEvent.PURCHASE_SUCCESSFUL && _isIOSOrMacOS())
                _iosPendingPurchases.push(event.level);
            else if(event.code == "DEBUG")
                _log("DEBUG", event.level);
