The code shown below :
#Region Project Attributes
#ApplicationLabel: Inline Java
#VersionCode: 1
#VersionName: Test
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: True
#IncludeTitle: True
#End Region
#Region Library Tambahan
#AdditionalJar : classes.jar
#AdditionalJar : gson-2.3.1.jar
#End Region
Sub Process_Globals
Private nativeMe As JavaObject
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
nativeMe.InitializeContext
End If
nativeMe.RunMethod("VTGetToken", Array("DataToken", False))
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub DataToken_Hasil(IsiToken As String)
Log(IsiToken)
End Sub
#If JAVA
import android.view.*;
import id.co.veritrans.android.api.VTDirect;
import id.co.veritrans.android.api.VTInterface.ITokenCallback;
import id.co.veritrans.android.api.VTModel.VTCardDetails;
import id.co.veritrans.android.api.VTModel.VTToken;
import id.co.veritrans.android.api.VTUtil.VTConfig;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.util.Log;
import com.google.gson.Gson;
import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.objects.ViewWrapper;
public void VTGetToken(String EventName, boolean aman)
{
VTDirect vtDirect = new VTDirect();
VTConfig.VT_IsProduction = false;
VTConfig.CLIENT_KEY = "VT-client-mMP4410Ig1HRMb6l";
VTCardDetails cardDetails = null;
cardDetails = CardFactory(aman);
vtDirect.setCard_details(cardDetails);
vtDirect.getToken(new ITokenCallback()
{
public void onSuccess(VTToken token)
{
BA.Log(token.getToken_id());
BA.Log(token.getBank());
BA.Log(Integer.toString(token.getStatus_code()));
BA.Log(token.getStatus_message());
BA.Log(token.getRedirect_url());
ProsesBalikan(EventName, token.getToken_id());
}
public void onError(Exception e)
{
mymsgbox("Error", e.getMessage());
ProsesBalikan(EventName, "Error");
}
});
}
private void ProsesBalikan(String Nama, String IsiToken)
{
BA.Log("Isi data : " + IsiToken);
pBA.raiseEventFromUI(this, Nama.toLowerCase(BA.cul) + "_hasil", IsiToken);
}
private void mymsgbox(String str, String str2)
{
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setTitle(str);
dlgAlert.setInverseBackgroundForced(false);
dlgAlert.setMessage(str2);
dlgAlert.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
BA.Log("Tombol OK");
}
});
dlgAlert.setCancelable(true);
dlgAlert.create().show();
}
private VTCardDetails CardFactory(boolean secure)
{
VTCardDetails cardDetails = new VTCardDetails();
cardDetails.setCard_number("4811111111111114");
cardDetails.setCard_cvv("123");
cardDetails.setCard_exp_month(1);
cardDetails.setCard_exp_year(2020);
cardDetails.setSecure(secure);
cardDetails.setGross_amount("1000000");
return cardDetails;
}
#End IF