The GoogleBilling class is defined in the module "googlebilling". Therefore, you need to call
require("googlebilling") before using it. Loading the Google Billing module
also creates a global variable googlebilling of type GoogleBilling for direct use.
<h3>GoogleBilling Events and Response Codes</h3>
GoogleBilling class dispatches 5 events: Event.CHECK_BILLING_SUPPORTED_COMPLETE,
Event.CONFIRM_NOTIFICATION_COMPLETE and Event.PURCHASE_STATE_CHANGE.
Event.*_COMPLETE events contains a field event.responseCode which provides status information
and error information about a request. Response code can be one of these values:
<li>GoogleBilling.OK: Indicates that the request was sent to the server successfully. When this code is returned</li>
in response to a checkBillingSupported function, indicates that billing is supported.
<li>GoogleBilling.USER_CANCELED: Indicates that the user pressed the back button on the checkout page instead of buying the item.</li>
<li>GoogleBilling.SERVICE_UNAVAILABLE: Indicates that the network connection is down.</li>
<li>GoogleBilling.BILLING_UNAVAILABLE: Indicates that in-app billing is not available because the API version that</li>
you specified is not recognized by the Google Play application or the user is ineligible for in-app billing
(for example, the user resides in a country that prohibits in-app purchases).
<li>GoogleBilling.ITEM_UNAVAILABLE: Indicates that Google Play cannot find the requested item in the application's product list.</li>
This can happen if the product ID is misspelled in your requestPurchase function or if an item is unpublished in the application's product list.
<li>GoogleBilling.DEVELOPER_ERROR: Indicates that an application is trying to make an in-app billing request but the application has not declared the</li>
com.android.vending.BILLING permission in its manifest. Can also indicate that an application is not properly signed,
or that you sent a malformed request, such as a request with missing Bundle keys or a request that uses an unrecognized request type.
<li>GoogleBilling.ERROR: Indicates an unexpected server error. For example, this error is triggered if you try to purchase an item from yourself, which is not allowed by Google Wallet.</li>
Dispatched when checkBillingSuported function completes. It contains event.responseCode and event.productType fields.
Dispatched when requestPurchase function completes. It contains event.responseCode, event.productId, event.productType and event.developerPayload fields.
Dispatched when restoreTransactions function completes. It contains event.responseCode fields.
Dispatched when confirmNotification function completes. It contains event.responseCode and event.notificationId fields.
Dispatched when information about a transaction is received. It contains event.purchaseState, event.productId, event.notificationId, event.purchaseTime and event.developerPayload fields.