Example #1
0
 ///补单验单回调
 private void OnVerifyPayoutAgain(IAP.Item item, IAP.SupplementTransaction trans, string err, Hashtable data)
 {
     if (!string.IsNullOrEmpty(err))
     {
         CheckSupplementTransaction(trans.transactionId);
         RemoveSomeTransaction();
         _VerifyAgain.Add(trans);
         return;
     }
     _lastFetchTime = 0;
     Fetch();
     FetchOffers();
     _iapManager.Complete(trans);
     _config.Listener.OnOfferPurchaseRedeemer(data);
     _config.Listener.OnOfferPurchaseSuceeded(item, trans);
 }
Example #2
0
        private void VerifyPayoutAgain(IAP.SupplementTransaction transaction)
        {
            IAP.Item payout = _payouts.Find(delegate(IAP.Item obj) {
                return(obj.productId == transaction.productId);
            });
            if (payout == null)
            {
                EB.Debug.LogError("Cant find payout!!");
                return;
            }
            Hashtable data = new Hashtable();

            data["cents"]         = payout.cents;
            data["currency"]      = payout.currencyCode;
            data["externalTrkid"] = _externalId + (string.IsNullOrEmpty(transaction.IAPPlatform) ? _iapManager.ProviderName : transaction.IAPPlatform);
            data["payoutid"]      = payout.payoutId;
            data["platform"]      = transaction.platform;
            if (!string.IsNullOrEmpty(transaction.limitedTimeGiftId))
            {
                data["limitedTimeGiftId"] = transaction.limitedTimeGiftId;
            }
            if (_iapManager.ProviderName == "itunes")
            {
                data["receipt-data"] = transaction.payload;
            }
            else
            {
                data["response-data"]      = transaction.payload;
                data["response-signature"] = transaction.signature;
            }

            EB.Debug.Log("【商城】再次校验:{0}", transaction.transactionId);
            isRequest = true;
            _api.VerifyPayout(_iapManager.ProviderName, data, delegate(string err, Hashtable res) {
                EB.Debug.Log("【商城】再次校验回调:{0}", transaction.transactionId);
                isRequest = false;
                OnVerifyPayoutAgain(payout, transaction, err, res);
                if (chargeSuccessCallBack != null && res != null && string.IsNullOrEmpty(err))
                {
                    chargeSuccessCallBack(res);
                }
            });
        }