MIDAS ANDROID SDK Tutorial

MIDAS ANDROID SDK Tutorial

1. Initialization

Sebelum Anda dapat menggunakan MIDAS ANDROID SDK untuk memproses pembayaran dalam aplikasi Android Anda, Anda harus melakukan inisialisasi terlebih dahulu. Inisialisasi dilakukan dengan menginisialisasi objek APMidasPayAPI dan memberikan parameter mainActivity dan initRequest.

WGPlatform.WGGetLoginRecord(lr);

initRequest.offerId = WeGame.getInstance().offerId;
initRequest.openId = lr.open_id;

if (lr.platform == WeGame.QQPLATID) {
 initRequest.openKey = lr.getTokenByType(TokenType.eToken_QQ_Pay);
 initRequest.sessionType = "kp_actoken";
 initRequest.sessionId = "openid";

} else if (lr.platform == WeGame.WXPLATID) {
 initRequest.openKey = lr.getTokenByType(TokenType.eToken_WX_Access);
 initRequest.sessionType = "wc_actoken";
 initRequest.sessionId = "hy_gameid";

}

initRequest.pf = WGPlatform.WGGetPf("");
initRequest.pfKey = WGPlatform.WGGetPfKey();

APMidasPayAPI.init(mainActivity, initRequest);

2. Environment Parameter Settings

Environment parameter settings dilakukan dengan menggunakan interface setEnv yang memiliki parameter env. Parameter env digunakan untuk mengatur lingkungan pembayaran, antara lain "test" untuk lingkungan uji dan "release" untuk lingkungan produksi.

public static void setEnv(String env)

Parameter name Type Description
env String payment environment

APMidasPayAPI.setEnv(APMidasPayAPI.ENV_TEST);

3. Call the Payment Interface to Pay

Untuk memproses pembayaran, Anda harus menggunakan interface launchPay yang memiliki parameter activity, request, dan callBack.

public static void launchPay(Activity activity, APMidasBaseRequest request, IAPMidasPayCallBack callBack)

Parameter name Type Description
activity Activity game Activity in the payment
request APMidasBaseRequest Midas Payment Request
callBack IAPMidasPayCallBack Midas payment callback interface

APMidasGameRequest request = new APMidasGameRequest();
request.offerId = offerId;
request.openId = userId;
request.openKey = userKey; //for mobile QQ, it is paytoken; for WeChat, it is accesstoken
request.sessionId = sessionId;
request.sessionType = sessionType; //for mobile QQ, it is "kp_actoken"; for WeChat, it is "wc_actoken"
request.zoneId = "1";
request.pf = pf;
request.pfKey = pfKey;
request.acctType = "common";
request.saveValue = ""; //not specified quantity. Here directly enter the purchase quantity selection list
request.resId = R.drawable.sample_yuanbao;

APMidasPayAPI.launchPay(gameActivity, request,

 new IAPMidasPayCallBack() {

 @Override
 public void MidasPayCallBack(APMidasResponse arg0) {
 Log.d("MSDK_PAY", "payment sdk calls back app");

 switch (response.resultCode) {
 case APMidasResponse.PAYRESULT_ERROR:
 Log.d("MSDK_PAY", "payment error");
 break;
 case APMidasResponse.PAYRESULT_CANCEL:
 Log.d("MSDK_PAY", "The user cancels payment");
 break;
 case APMidasResponse.PAYRESULT_SUCC:
 Log.d("MSDK_PAY", "payment succeeds");

 }

 }

 @Override
 public void MidasPayNeedLogin() {
 Log.d("MSDK_PAY", "login token expire; please login again");

 }

 });

4. Log Print Switch

Untuk memudahkan debugging, Anda dapat menggunakan interface setLogEnable untuk membuka atau menutup log print.

public static void setLogEnable(boolean logEnable)

Parameter name Type Description
logEnable boolean true: open, false: close

APMidasPayAPI.setLogEnable(true);

FAQ

Jika Anda menjumpai konflik antara jar package MIDAS ANDROID SDK dan jar package WeChat SDK (libammsdk.jar) atau mid-related SDK (mid-***.jar), maka Anda harus menghapus jar package yang terkait dengan MSDKLibrary.

Leave a comment