public void Purchase(AN_SkuDetails skuDetails, string developerPayload, Action <AN_BillingPurchaseResult> callback) { m_BillingPurchaseCallback = callback; var paramsBuilder = AN_BillingFlowParams.NewBuilder(); paramsBuilder.SetSkuDetails(skuDetails); m_BillingClient.LaunchBillingFlow(paramsBuilder.Build()); }
public void Purchase(string ProductId) { BuildProducts(); if (m_BillingClientSample.IsConnected) { var skuDetails = GetSkuDetails(ProductId); var paramsBuilder = AN_BillingFlowParams.NewBuilder(); paramsBuilder.SetSkuDetails(skuDetails); m_BillingClientSample.Client.LaunchBillingFlow(paramsBuilder.Build()); } }
//-------------------------------------- // UM_iInAppClient //-------------------------------------- public void AddPayment(string productId) { var skuDetails = GetSkuDetails(productId); Assert.IsNotNull(skuDetails); var paramsBuilder = AN_BillingFlowParams.NewBuilder(); paramsBuilder.SetSkuDetails(skuDetails); m_BillingClient.LaunchBillingFlow(paramsBuilder.Build()); }
//-------------------------------------- // AN_iSkuDetailsResponseListener //-------------------------------------- public void OnSkuDetailsResponse(SA_Result billingResult, List <AN_SkuDetails> skuDetailsList) { AN_Logger.Log("OnSkuDetailsResponse IsSucceeded: " + billingResult.IsSucceeded); if (billingResult.IsSucceeded) { AN_Logger.Log("Loaded " + skuDetailsList.Count + " products"); foreach (var skuDetails in skuDetailsList) { AN_Logger.Log("--------------------->"); PrintSku(skuDetails); var productView = Instantiate(m_ProductView.gameObject, m_ProductView.transform.parent).GetComponent <AN_ProductView>(); productView.transform.localScale = m_ProductView.transform.localScale; productView.gameObject.SetActive(true); productView.ProductTitle.text = skuDetails.Title; if (!string.IsNullOrEmpty(skuDetails.IconUrl)) { SA_CachedRequestsFactory.GetTexture2D(skuDetails.IconUrl, texture => { productView.ProductImage.texture = texture; }); } var productPurchasedInfo = IsProductPurchased(skuDetails); if (productPurchasedInfo != null) { productView.BuyButton.GetComponentInChildren <Text>().text = "Consume"; productView.BuyButton.onClick.AddListener(() => { var paramsBuilder = AN_ConsumeParams.NewBuilder(); paramsBuilder.SetPurchaseToken(productPurchasedInfo.PurchaseToken); m_BillingClientSample.Client.ConsumeAsync(paramsBuilder.Build(), this); }); } else { productView.BuyButton.GetComponentInChildren <Text>().text = "Buy"; productView.BuyButton.onClick.AddListener(() => { var paramsBuilder = AN_BillingFlowParams.NewBuilder(); paramsBuilder.SetSkuDetails(skuDetails); m_BillingClientSample.Client.LaunchBillingFlow(paramsBuilder.Build()); }); } } } }
private void SubscriptionReplace() { var oldProductId = "old_subscription_id"; var paramsBuilder = AN_BillingFlowParams.NewBuilder(); AN_SkuDetails subscriptionProduct = null; // get subscription AN_SkuDetails model here. paramsBuilder.SetSkuDetails(subscriptionProduct); paramsBuilder.SetOldSku(oldProductId); paramsBuilder.SetReplaceSkusProrationMode(AN_BillingFlowParams.ProrationMode.ImmediateWithoutProration); //Use your billing client here. AN_BillingClient client = null; client.LaunchBillingFlow(paramsBuilder.Build()); }