Quantcast
Channel: Ionic Forum - Latest topics
Viewing all articles
Browse latest Browse all 70762

In App Purchase 2 Events PAID_SUBSCRIPTION

$
0
0

@easychurch wrote:

Hi, im using Ionic 3.9.3 e in-app-purchase2 4.2…
I have two issues with PAID_SUBSCRIPTION:

  1. It does not return complete product data such as price.
  2. Events are unstable they execute when.update and when approved in infinite loop.
    But the code follows everything in the documentation.
setup() {

		let productId;
		(this.plt.is('ios')) ? productId = this.product.appleId : productId = this.product.googleId;

		this.iap2.validator = "https://validator.fovea.cc/v1/validate?appName=br.com.medsos.sosplantao&apiKey=dda8e8cc-150f-46fa-90d1-53e0a5bb6e49";

        this.iap2.register({
            id: productId,
            alias: productId,
            type: this.iap2.PAID_SUBSCRIPTION
		});

		console.log('productId', productId);

		this.productInfo = this.iap2.get(productId);

		this.hasInternet = true;
		
		console.log('setup product get', JSON.stringify(this.productInfo));

		this.iap2.refresh();

		// this.registerHandlersForPurchase(productId);
	}
	
	getProduct() {
        return this.productInfo;
    }

    subscribe() {

		let productId;
		(this.plt.is('ios')) ? productId = this.product.appleId : productId = this.product.googleId;
		
		console.log('productId', productId);
		
		this.registerHandlersForPurchase(productId);
        this.iap2.order(productId);
        this.iap2.refresh();
	}
	
	

    registerHandlersForPurchase(productId) {

		this.iap2.when(productId).approved((product: IAPProduct) => {
			console.log('approved state', product.state);
			console.log('approved price', product.price);
			console.log('approved transaction' , JSON.stringify(product.transaction));
			console.log('approved valid', product.valid);

			if (product.valid && product.transaction) {
				// compra aprovada
				this.setCustomer(product.transaction);
			}
			this.productInfo = product;

			product.verify();
			product.finish();
		});

		/* this.iap2.when(productId).updated((product: IAPProduct) => {
			console.log('updated state', product.state);
			if (product.loaded && product.valid && product.state === 'approved' && product.transaction != null) {
				product.finish();				
			}

			product.finish();
		}); */
/* 
		this.iap2.when(productId).owned((product: IAPProduct) => {
			console.log('owned', product.state);
			product.finish();
		}); */
		
		this.iap2.when(productId).verified((product: IAPProduct) => {
			console.log('verified', product.state);
            product.finish();
		});

        this.iap2.when(productId).refunded((product: IAPProduct) => {
            alert('refunded');
        });

        this.iap2.when(productId).expired((product: IAPProduct) => {
            alert('expired');
		});
		
		this.iap2.when(productId).error((error: any) => {
			alert('expired');
			console.log('Error', error);
			// this.registrarLog(error);
        });
	} ```

Posts: 1

Participants: 1

Read full topic


Viewing all articles
Browse latest Browse all 70762

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>