summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/android/java/src/com/android/godot/GodotPaymentV3.java110
1 files changed, 110 insertions, 0 deletions
diff --git a/platform/android/java/src/com/android/godot/GodotPaymentV3.java b/platform/android/java/src/com/android/godot/GodotPaymentV3.java
new file mode 100644
index 0000000000..dba4a9a774
--- /dev/null
+++ b/platform/android/java/src/com/android/godot/GodotPaymentV3.java
@@ -0,0 +1,110 @@
+package com.android.godot;
+
+
+import org.json.JSONObject;
+
+import android.app.Activity;
+import android.util.Log;
+
+
+public class GodotPaymentV3 extends Godot.SingletonBase {
+
+ private Godot activity;
+
+ private Integer purchaseCallbackId = 0;
+
+ private String accessToken;
+
+ private String purchaseValidationUrlPrefix;
+
+ private String transactionId;
+
+ public void purchase( String _sku, String _transactionId) {
+ final String sku = _sku;
+ final String transactionId = _transactionId;
+ activity.getPaymentsManager().setBaseSingleton(this);
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ activity.getPaymentsManager().requestPurchase(sku, transactionId);
+ }
+ });
+ };
+
+/* public string requestPurchasedTicket(){
+ activity.getPaymentsManager()
+ }
+
+*/
+ static public Godot.SingletonBase initialize(Activity p_activity) {
+
+ return new GodotPaymentV3(p_activity);
+ }
+
+
+ public GodotPaymentV3(Activity p_activity) {
+
+ registerClass("GodotPayments", new String[] {"purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature"});
+ activity=(Godot) p_activity;
+ }
+
+
+ private String signature;
+ public String getSignature(){
+ return this.signature;
+ }
+
+
+ public void callbackSuccess(String ticket, String signature){
+ Log.d(this.getClass().getName(), "PRE-Send callback to purchase success");
+ GodotLib.calldeferred(purchaseCallbackId, "purchase_success", new Object[]{ticket, signature});
+ Log.d(this.getClass().getName(), "POST-Send callback to purchase success");
+ }
+
+ public void callbackFail(){
+ GodotLib.calldeferred(purchaseCallbackId, "purchase_fail", new Object[]{});
+// GodotLib.callobject(purchaseCallbackId, "purchase_fail", new Object[]{});
+ }
+
+ public void callbackCancel(){
+ GodotLib.calldeferred(purchaseCallbackId, "purchase_cancel", new Object[]{});
+// GodotLib.callobject(purchaseCallbackId, "purchase_cancel", new Object[]{});
+ }
+
+ public int getPurchaseCallbackId() {
+ return purchaseCallbackId;
+ }
+
+ public void setPurchaseCallbackId(int purchaseCallbackId) {
+ this.purchaseCallbackId = purchaseCallbackId;
+ }
+
+
+
+ public String getPurchaseValidationUrlPrefix(){
+ return this.purchaseValidationUrlPrefix ;
+ }
+
+ public void setPurchaseValidationUrlPrefix(String url){
+ this.purchaseValidationUrlPrefix = url;
+ }
+
+
+ public String getAccessToken() {
+ return accessToken;
+ }
+
+
+ public void setAccessToken(String accessToken) {
+ this.accessToken = accessToken;
+ }
+
+ public void setTransactionId(String transactionId){
+ this.transactionId = transactionId;
+ }
+
+ public String getTransactionId(){
+ return this.transactionId;
+ }
+
+}