[PAID] 💲 In-App Billing : Advance Billing Extension (V5.1.0)

[PAID] GooglePlayBilling - InAppBilling Extension (V5.1.0)

An in-app-billing extension to monetize your app products using google play store billing library 5.1.0.


Reminder: Starting on August 2, 2022, all new apps must use Billing Library version 4 or newer. By November 1, 2022, all updates to existing apps must use Billing Library version 4 or newer. Learn more.

image


Extension Properties


image

blocks


Start Connection


You must use this function to starts up BillingClient setup process asynchronously.

blocks (1)

BillingServiceConnected: SDK is ready run any billing operation.
BillingServiceDisconnected: SDK is disconnected from billing service.


Billing Service Error


This event will be triggered when the extension got any error while doing any billing operation.

blocks (3)

  • function Name -> It's return the name of function which got error.
  • error -> It's return the error message as string.

End Connection


Closes the connection and releases all held resources such as service connections.

blocks (3)


Is Ready


Checks if the client is currently connected to the service, so that requests to other methods will succeed.

blocks (5)


Is Subscription Supported


If feature is not supported then return false.

blocks (6)


Product Type


blocks (6)


Show In App Messages


blocks (7)

The subscription status changed. For example, a subscription has been recovered from a suspend state. Developers should expect the purchase token to be returned with this response code and use the purchase token with the Google Play Developer API.

  • purchaseToken -> It's return the purchase token as string.
  • response Code -> It's return the response code as integer.

Get Product Details


Performs a network query the details of products available for sale in your app. Watch demo block for better understanding.

blocks (8)

  • name -> It's return the name of product as string.
  • title -> It's return the title of product as string.
  • product Id -> It's return the given product id string.
  • productType -> It's return the type of product string.
  • description -> It's return the description of product as string.
  • price -> It's return the formatted price of product as string.
  • productDetails -> It's return the object of ProductDetails.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Get Multiple Product Details


Performs a network query the details of products available for sale in your app. Set productIds and productTypes as list. Watch demo block for better understanding.

  • names -> It's return the names of products as list of string.
  • titles -> It's return the titles of product as list of string.
  • productIds -> It's return the given products ids list of string.
  • productTypes -> It's return the types of products list of string.
  • descriptions -> It's return the descriptions of products as list of string.
  • prices -> It's return the formatted price of product as list of string.
  • productDetailsList -> It's return the objects of ProductDetails as list.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Get Offer Token


You can get productDetails from GotProductDetails event.

blocks (10)


Launch Billing Flow


Initiates the billing flow for an in-app purchase or subscription. You can get productDetails from GotProductDetails event.

  • purchase -> It's return the object of Purchase. Use this purchase object to Consume or Acknowledge this purchase.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

7bfe389ae893ff90fabd84cd060fcb818892f0a1_2_690x370


Launch Billing Flow With


Initiates the billing flow for an in-app purchase or subscription.
You can get productDetails from GotProductDetails event.
isOfferPersonalized: The Google Play purchase screen indicating that the price was customized for the user.

  • purchase -> It's return the object of Purchase. Use this purchase object to Consume or Acknowledge this purchase.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Launch Bundle Billing Flow


Initiates the billing flow for bundle of in-app purchase or subscription.
You can get productDetailsList from GotMultipleProductDetails event.

  • purchase -> It's return the object of Purchase. Use this purchase object to Consume or Acknowledge this purchase.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.


5da2c000b65ca57d7b43892843fa24de6458ae1a_2_573x500


Get Purchase Details

Get purchase object from GotPurchase event.


blocks (14)

  • orderId -> It's return the order id from the purchase as string.
  • isAcknowledge -> It's return true if the purchase is acknowledged, otherwise false.
  • isAutoRenewing -> It's return true if product is auto renewable.
  • purchaseTime -> It's return the time of purchase as long.
  • purchaseToken -> It's return the purchase token as string.
  • json -> It's return the json of the purchase object as string.

Consume


For consumables, this method fulfills the acknowledgement requirement and indicates that your app has granted entitlement to the user. This method also enables your app to make the one-time product available for purchase again.
Get purchase object from GotPurchase event.

  • token -> It's return the purchase token as string.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Consume With


For consumables, this method fulfills the acknowledgement requirement and indicates that your app has granted entitlement to the user. This method also enables your app to make the one-time product available for purchase again. Use purchase token to consume the purchase. Get purchaseToken from GotPurchaseDetails event.

blocks (16)

  • token -> It's return the purchase token as string.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Acknowledge


To acknowledge non-consumable purchases, use this function.
Get purchase object from GotPurchase event.

  • token -> It's return the purchase token as string.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Acknowledge With


To acknowledge non-consumable purchases, use this function. Use purchase token to acknowledge the purchase. Get purchaseToken from GotPurchaseDetails event.

blocks (17)

  • token -> It's return the purchase token as string.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Query Purchases


Fetch for a user's subscription purchases. Returns only active subscriptions and non-consumed one-time purchases.

  • productIds -> It's return products ids as list of string.
  • purchasesState-> It's return purchases states as list of integer. (0 == UNSPECIFIED_STATE, 1 == PURCHASED and 2 == PENDING).
  • purchasesToken -> It's return purchases token as list of string.
  • orderIds -> It's return order ids as list of string.
  • purchasesList -> It's return the purchase object as list.
  • size -> It's return the size of list as integer.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.

Is Purchased


Get purchasesList from QueryPurchasesSuccess event.
Now you can check that product is purchased by user or not by product id. If user purchased the product then it will return true, otherwise false.

blocks (20)


Get Purchase History


Returns the most recent purchase made by the user for each product, even if that purchase is expired, canceled, or consumed.

  • quantities -> It's return quantities of purchases of product as list of integer.
  • purchaseTimes -> It's return purchase time as list of long.
  • developerPayloads -> It's return developer payloads as list of string.
  • originalJsons -> It's return json of purchase object as list of string.
  • purchaseTokens -> It's return purchases token as list of string.
  • signatures -> It's return signatures as list of string.
  • productIds -> It's return products ids as list of string.
  • size -> It's return the size of list as integer.
  • response Code -> It's return the response code as integer.
  • reason -> It's return the reason for error as string.
  • message -> It's return the details error message as string.
Testing & Live Videos

Purchasing test products

Purchasing Live/Real Product

Purchases Statements


Example blocks

This is very simple example blocks for using this extension.

Getting multiple products in single request.

Purchasing bundle of products using GetMultipleProductDetails and LaunchBundleBillingFlow.

GitHub Repository



Extension specifications:


com.jewel.googleplaybilling.aix (173 KB)
Price: $12 USD
SDK Version: 5.1.0
Demo Application: Pay2Me
Last amendment: 08 November 2022
Payment methods: Xoom | Wise | Binance | Skrill | Pay2Me


NOTE: Paid user will be available to get next SDK updates totally free.

This extension is built using Rush. Used Java 8 features. Thanks @Shreyash for his powerful tool.


6 Likes

Thanks for your great feedback :heart:

1 Like

Please what is the difference between id product and skutype ,,
Where i can put my license key?? Give us an example

2 Likes

On Sdk version 4.0.0, you don't need any license key, just use product id, and don't forget to put your app in internal testing on console.

(Thanks)

Please answer me about the subscription in telegram , i need more details about your blocks

1 Like

very good job!

1 Like

Sdk updated to Library v5.0.0 and extension package name changed from InAppBilling to GooglePlayBilling.

Note: All new apps must use Billing Library version 4 or newer.

Blocks are updated and some auto features added :innocent:

1 Like

Uploaded live / real product purchasing video and purchasing history statements

:loudspeaker: Added some new features and new blocks are uploaded.

:loudspeaker: SDK is updated to 5.1.0, please knock me to get the update.

Hello jewel , IAM interested in purchasing this billing extension, but how can I set the blocks, I know about the taifun billing extension but can you show me how to set the blocks in this case. Thanks.

Blocks are nearly same as Taifun billing extension, just some changes in blocks name and some new features are added with latest SDK (5.1.0).

I've sent you message please reply there to purchase this extension.
(Thanks)

Bought extension, thank you @JEWEL for your work and help :slight_smile: