veritrans / veritrans-android

The easiest way to integrate with Veritrans payment API on android
MIT License
74 stars 54 forks source link

Credit Card Payment Error #342

Closed zihadrizkyef closed 7 years ago

zihadrizkyef commented 7 years ago

Mas, api server kami alhamdulillah sudah berjalan dengan lancar, kami mengetahuinya dengan cara mengetestnya menggunakan example android yg mas sediakan di github ini. Dan alhamdulillah pula server kami sudah berjalan lancar di applikasi android yg kami buat sendiri, tapi ada masalah yaitu saat memilih payment dengan credit card maka applikasinya force close.

Intinya, di applikasi sampean bisa milih pembayaran credit card, tapi kalo di applikasi saya saat milih pembayaran dengan credit card maka applikasinya force close.

Ini LogCat nya :

FATAL EXCEPTION: main Process: com.kencanaindonesia.travelapps, PID: 12616
                                                                             java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kencanaindonesia.travelapps/com.midtrans.sdk.uikit.activities.CreditCardFlowActivity}: java.lang.NullPointerException
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
                                                                                 at android.app.ActivityThread.access$800(ActivityThread.java:139)
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                 at android.os.Looper.loop(Looper.java:149)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5257)
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
                                                                                 at dalvik.system.NativeStart.main(Native Method)
                                                                              Caused by: java.lang.NullPointerException
                                                                                 at com.midtrans.sdk.uikit.activities.CreditCardFlowActivity.h(Unknown Source)
                                                                                 at com.midtrans.sdk.uikit.activities.CreditCardFlowActivity.onCreate(Unknown Source)
                                                                                 at android.app.Activity.performCreate(Activity.java:5411)
                                                                                 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
                                                                                 at android.app.ActivityThread.access$800(ActivityThread.java:139) 
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                 at android.os.Looper.loop(Looper.java:149) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5257) 
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633) 
                                                                                 at dalvik.system.NativeStart.main(Native Method) `

Dan ini codenya

SdkUIFlowBuilder.init(
                    BookConfirmation.this,
                    midtrans_client_key,
                    midtrans_base_url,
                    new TransactionFinishedCallback() {
                        @Override
                        public void onTransactionFinished(TransactionResult transactionResult) {
                            if (!transactionResult.isTransactionCanceled()) {
                                String pay_type = transactionResult.getResponse().getPaymentType();
                                Log.i("kencana", pay_type);
                                if (pay_type.equals("bca_klikpay") || pay_type.equals("bri_epay") || pay_type.equals("cimb_clicks")
                                        || pay_type.equals("mandiri_clickpay") || pay_type.equals("telkomsel_cash")
                                        || pay_type.equals("indosat_dompetku") || pay_type.equals("mandiri_ecash")) {
                                    sendDataDetail(1, 2);
                                } else {
                                    sendDataDetail(1, 1);
                                }
                            }
                        }
                    })
                    .setExternalScanner(new ScanCard())
                    .buildSDK();

            TransactionRequest tr = new TransactionRequest(kodeBooking, hargaTotal);
            ItemDetails itemDetail = new ItemDetails("0", hargaTotal, 1, "Tiket " + jurusan);
            ArrayList<ItemDetails> itemDetails = new ArrayList<ItemDetails>();
            itemDetails.add(itemDetail);
            tr.setItemDetails(itemDetails);
            MidtransSDK.getInstance().setTransactionRequest(tr);
            MidtransSDK.getInstance().startPaymentUiFlow(BookConfirmation.this);
rakawestu commented 7 years ago

Sorry just read your issues @zihadrizkyef

Please inform us your merchant server url that passed to MidtransSDK so we can test it using our example app.

zihadrizkyef commented 7 years ago

i have solved it. the problem is that i have not set the click type

transactionRequest.setCardPaymentInfo(CARD_CLICK_TYPE, IS_SECURE);