mirror of
https://github.com/Relintai/pandemonium_demo_projects.git
synced 2025-05-01 22:08:00 +02:00
68 lines
2.0 KiB
C#
68 lines
2.0 KiB
C#
using Godot;
|
|
using Godot.Collections;
|
|
|
|
namespace AndroidInAppPurchasesWithCSharp.GodotGooglePlayBilling
|
|
{
|
|
// https://developer.android.com/reference/com/android/billingclient/api/BillingClient.BillingResponseCode
|
|
public enum BillingResponseCode
|
|
{
|
|
// The request has reached the maximum timeout before Google Play responds.
|
|
ServiceTimeout = -3,
|
|
|
|
// Requested feature is not supported by Play Store on the current device.
|
|
FeatureNotSupported = -2,
|
|
|
|
// Play Store service is not connected now - potentially transient state.
|
|
ServiceDisconnected = -1,
|
|
|
|
// Success
|
|
Ok = 0,
|
|
|
|
// User pressed back or canceled a dialog
|
|
UserCanceled = 1,
|
|
|
|
// Network connection is down
|
|
ServiceUnavailable = 2,
|
|
|
|
// Billing API version is not supported for the type requested
|
|
BillingUnavailable = 3,
|
|
|
|
// Requested product is not available for purchase
|
|
ItemUnavailable = 4,
|
|
|
|
// Invalid arguments provided to the API.
|
|
DeveloperError = 5,
|
|
|
|
// Fatal error during the API action
|
|
Error = 6,
|
|
|
|
// Failure to purchase since item is already owned
|
|
ItemAlreadyOwned = 7,
|
|
|
|
// Failure to consume since item is not owned
|
|
ItemNotOwned = 8,
|
|
}
|
|
|
|
public class BillingResult
|
|
{
|
|
public BillingResult() { }
|
|
public BillingResult(Dictionary billingResult)
|
|
{
|
|
try
|
|
{
|
|
Status = (int)billingResult["status"];
|
|
ResponseCode = (billingResult.Contains("response_code") ? (BillingResponseCode?)billingResult["response_code"] : null);
|
|
DebugMessage = (billingResult.Contains("debug_message") ? (string)billingResult["debug_message"] : null);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
GD.Print("BillingResult: ", ex.ToString());
|
|
}
|
|
}
|
|
|
|
public int Status { get; set; }
|
|
public BillingResponseCode? ResponseCode { get; set; }
|
|
public string DebugMessage { get; set; }
|
|
}
|
|
}
|