From 373483e52ce5ae6a002626b25f0c9b36f0ea81ba Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 19 Nov 2020 15:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=AF=E4=BB=98=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hnjc/wjtx/JCApplication.java | 4 +- .../main/java/com/hnjc/wjtx/MainActivity.java | 41 +++++++++++++++---- app/src/main/res/values/strings.xml | 1 + 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hnjc/wjtx/JCApplication.java b/app/src/main/java/com/hnjc/wjtx/JCApplication.java index aa865bc..fb5ac06 100644 --- a/app/src/main/java/com/hnjc/wjtx/JCApplication.java +++ b/app/src/main/java/com/hnjc/wjtx/JCApplication.java @@ -6,6 +6,7 @@ import android.util.Log; import com.hnjc.wjtx.vivo.VivoUnionHelper; import com.vivo.unionsdk.open.MissOrderEventHandler; import com.vivo.unionsdk.open.OrderResultInfo; +import com.vivo.unionsdk.open.VivoUnionSDK; import java.util.ArrayList; import java.util.List; @@ -16,7 +17,8 @@ public class JCApplication extends Application { public void onCreate() { super.onCreate(); Log.i("JCApplication", "JCApplication onCreate"); - VivoUnionHelper.initSdk(this, true); + String appId = this.getString(R.string.app_id); + VivoUnionSDK.initSdk(this, appId, true); /** * 掉单注册接口 需要接入掉单补单处理的一定要加 diff --git a/app/src/main/java/com/hnjc/wjtx/MainActivity.java b/app/src/main/java/com/hnjc/wjtx/MainActivity.java index 9caace9..6012066 100755 --- a/app/src/main/java/com/hnjc/wjtx/MainActivity.java +++ b/app/src/main/java/com/hnjc/wjtx/MainActivity.java @@ -27,6 +27,7 @@ import com.vivo.unionsdk.open.VivoAccountCallback; import com.vivo.unionsdk.open.VivoConstants; import com.vivo.unionsdk.open.VivoExitCallback; import com.vivo.unionsdk.open.VivoPayCallback; +import com.vivo.unionsdk.open.VivoPayInfo; import com.vivo.unionsdk.open.VivoRoleInfo; import com.vivo.unionsdk.open.VivoUnionSDK; @@ -47,6 +48,7 @@ public class MainActivity extends Activity { private String cpPayOrderNumber; //订单金额 private String cpOrderAmount; + private String appId; private final VivoAccountCallback mAcccountCallback = new VivoAccountCallback() { @Override @@ -73,11 +75,12 @@ public class MainActivity extends Activity { private VivoPayCallback mVivoPayCallback = new VivoPayCallback() { // 客户端返回的支付结果不可靠,请再查询服务器,以服务器端最终的支付结果为准; @Override - public void onVivoPayResult(int i, OrderResultInfo orderResultInfo) { + public void onVivoPayResult(int code, OrderResultInfo orderResultInfo) { Log.i(TAG, "onVivoPayResult: " + orderResultInfo.getTransNo()); - Log.i(TAG, "CpOrderNumber: " + cpPayOrderNumber + " i = " + i); - - if (i == VivoConstants.PAYMENT_RESULT_CODE_SUCCESS) { + Log.i(TAG, "CpOrderNumber: " + cpPayOrderNumber + " i = " + code); + String errmsg = ""; + JSONObject obj = new JSONObject(); + if (code == VivoConstants.PAYMENT_RESULT_CODE_SUCCESS) { Toast.makeText(MainActivity.this, "支付成功", Toast.LENGTH_SHORT).show(); /** * !!!! 一定要加,否则无法通过上架审核 !!! @@ -86,13 +89,21 @@ public class MainActivity extends Activity { */ VivoUnionHelper.reportOrderComplete(orderResultInfo.getTransNo()); Log.i(TAG, "sendCompleteOrderNotification: " + orderResultInfo.getTransNo()); - } else if (i == VivoConstants.PAYMENT_RESULT_CODE_CANCEL) { + + } else if (code == VivoConstants.PAYMENT_RESULT_CODE_CANCEL) { Toast.makeText(MainActivity.this, "取消支付", Toast.LENGTH_SHORT).show(); - } else if (i == VivoConstants.PAYMENT_RESULT_CODE_UNKNOWN) { + } else if (code == VivoConstants.PAYMENT_RESULT_CODE_UNKNOWN) { Toast.makeText(MainActivity.this, "未知状态,请查询订单", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "支付失败", Toast.LENGTH_SHORT).show(); } + try { + obj.put("errcode", code); + obj.put("errmsg", errmsg); + nativeAndroid.callExternalInterface("payResult", obj.toString()); + } catch (JSONException e) { + e.printStackTrace(); + } } }; @@ -103,7 +114,7 @@ public class MainActivity extends Activity { String preloadPath = AssetsUtil.getDiskFileDir(this, this.getString(R.string.preload_path)); String gameUrl = this.getString(R.string.game_url); - + appId = this.getString(R.string.app_id); nativeAndroid = new EgretNativeAndroid(this); if (!nativeAndroid.checkGlEsVersion()) { Toast.makeText(this, "This device does not support OpenGL ES 2.0.", @@ -272,7 +283,23 @@ public class MainActivity extends Activity { String cpOrderId = jsonObject.getString("orderId"); String productCode = jsonObject.getString("productCode"); int count = jsonObject.getInt("count"); + String money = jsonObject.getString("money"); // 未传 + String notifyUrl = jsonObject.getString("notifyUrl"); // 未传 + String productName = jsonObject.getString("productName"); // 未传 + String productDesc = jsonObject.getString("productDesc"); //未传 + String sign = jsonObject.getString("sign"); // 未传 //TODO: 平台的支付 + VivoPayInfo vivoPayInfo = new VivoPayInfo.Builder() + .setAppId(appId) + .setCpOrderNo(cpOrderId) + .setNotifyUrl(notifyUrl) + .setOrderAmount(money) + .setProductName(productName) + .setProductDesc(productDesc) + .setVivoSignature(sign) + .setExtUid(mUid) + .build(); + VivoUnionHelper.payV2(this, vivoPayInfo, mVivoPayCallback); } catch (JSONException e) { e.printStackTrace(); } catch ( Exception e ) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b57da9a..f46c8a8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,4 +9,5 @@ 获取游戏版本 正在更新游戏资源 正在解压游戏资源 + 104485272