Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bs.mageapp23.ui.fragment.Checkout;
- import android.app.Dialog;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.graphics.Typeface;
- import android.net.Uri;
- import android.net.http.SslError;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v7.widget.AppCompatButton;
- import android.support.v7.widget.AppCompatTextView;
- import android.support.v7.widget.CardView;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.Window;
- import android.webkit.SslErrorHandler;
- import android.webkit.WebChromeClient;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.LinearLayout;
- import com.bs.mageapp23.R;
- import com.bs.mageapp23.constant.CheckoutStepTag;
- import com.bs.mageapp23.constant.LogEventConstant;
- import com.bs.mageapp23.constant.ResponseCode;
- import com.bs.mageapp23.constant.StringValue;
- import com.bs.mageapp23.event.CheckoutFragmentChangeEvent;
- import com.bs.mageapp23.event.ConfirmOrderEvent;
- import com.bs.mageapp23.model.Checkout.response.Address;
- import com.bs.mageapp23.model.Checkout.response.OrderResponse;
- import com.bs.mageapp23.model.Checkout.response.PaymentMethodList;
- import com.bs.mageapp23.model.Checkout.response.RedirectUrlResponse;
- import com.bs.mageapp23.model.Checkout.response.ShippingMethodData;
- import com.bs.mageapp23.model.ProductModel.response.CartItemResponse;
- import com.bs.mageapp23.service.PreferenceService;
- import com.bs.mageapp23.util.CircularLoaderDialog;
- import com.bs.mageapp23.util.bkash.JavaScriptInterface;
- import com.bs.mageapp23.util.bkash.PaymentRequest;
- import com.bs.mageapp23.network.NetworkServiceHandler;
- import com.bs.mageapp23.network.RestClient;
- import com.bs.mageapp23.ui.activity.HomePageActivity;
- import com.bs.mageapp23.ui.adapter.Checkout.ConfirmOrderProductAdapter;
- import com.bs.mageapp23.ui.adapter.interface_pack.OnItemClickListener;
- import com.bs.mageapp23.ui.fragment.BaseFragment;
- import com.facebook.appevents.AppEventsLogger;
- import com.google.firebase.analytics.FirebaseAnalytics;
- import com.google.gson.Gson;
- import com.orhanobut.logger.AndroidLogAdapter;
- import com.orhanobut.logger.Logger;
- import com.sslcommerz.library.payment.Classes.PayUsingSSLCommerz;
- import com.sslcommerz.library.payment.Listener.OnPaymentResultListener;
- import com.sslcommerz.library.payment.Util.ConstantData.CurrencyType;
- import com.sslcommerz.library.payment.Util.ConstantData.ErrorKeys;
- import com.sslcommerz.library.payment.Util.ConstantData.SdkCategory;
- import com.sslcommerz.library.payment.Util.ConstantData.SdkType;
- import com.sslcommerz.library.payment.Util.JsonModel.TransactionInfo;
- import com.sslcommerz.library.payment.Util.Model.MandatoryFieldModel;
- import java.util.HashMap;
- import java.util.Map;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- import butterknife.Unbinder;
- import de.greenrobot.event.EventBus;
- import me.relex.photodraweeview.PhotoDraweeView;
- import retrofit2.Call;
- import static com.bs.mageapp23.constant.CheckoutStepTag.BKASH_PAYMENT_CREATE;
- import static com.bs.mageapp23.constant.CheckoutStepTag.BKASH_PAYMENT_EXECUTE;
- import static com.bs.mageapp23.service.PreferenceService.TOKEN_KEY;
- public class ConfirmOrderFragment extends BaseFragment {
- @BindView(R.id.rvProductList)
- RecyclerView productListRecyclerView;
- @BindView(R.id.shippingName)
- AppCompatTextView shippingNameView;
- @BindView(R.id.shippingAddress)
- AppCompatTextView shippingAddressView;
- @BindView(R.id.billingNameView)
- AppCompatTextView billingNameView;
- @BindView(R.id.billingAddressView)
- AppCompatTextView billingAddressView;
- @BindView(R.id.shippingMethodView)
- AppCompatTextView shippingMethodView;
- @BindView(R.id.paymentMethodView)
- AppCompatTextView paymentMethodView;
- @BindView(R.id.totalTextView)
- AppCompatTextView grandTotalTextView;
- @BindView(R.id.subTotalTextView)
- AppCompatTextView subTotalTextView;
- @BindView(R.id.discountLabel)
- AppCompatTextView discountLabel;
- @BindView(R.id.discountTextView)
- AppCompatTextView discountTextView;
- @BindView(R.id.discountLayout)
- LinearLayout discountLayout;
- @BindView(R.id.confirmOrderButton)
- CardView confirmOrderButton;
- @BindView(R.id.clubPointLayout)
- LinearLayout clubPointLayout;
- @BindView(R.id.clubPointTextView)
- AppCompatTextView clubPointTextView;
- @BindView(R.id.interestLayout)
- LinearLayout interestLayout;
- @BindView(R.id.interestTextView)
- AppCompatTextView interestTextView;
- @BindView(R.id.shippingMethodLabelTextView)
- AppCompatTextView shippingMethodLabelTextView;
- @BindView(R.id.shippingMethodValueTextView)
- AppCompatTextView shippingMethodValueTextView;
- @BindView(R.id.rootLayout)
- LinearLayout rootLayout;
- @BindView(R.id.paymentWebView)
- WebView paymentWebView;
- @BindView(R.id.bkashPaymentImageView)
- PhotoDraweeView bkashPaymentImageView;
- @BindView(R.id.bkashOkButton)
- AppCompatButton bkashOkButton;
- @BindView(R.id.bkashPaymentView)
- LinearLayout bkashPaymentView;
- private Unbinder unbinder;
- private AppEventsLogger logger;
- private FirebaseAnalytics mFirebaseAnalytics;
- Typeface customFontSemiBold;
- Typeface customFontRegular;
- public static boolean isShowPaymentPage;
- public static boolean isPaymentByBKash = false;
- private String orderIdForCityBankPayment = "";
- private String request = "";
- private String orderId = "";
- private double grandTotal = 0;
- private CircularLoaderDialog circularLoaderDialog;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_confirm_order, container, false);
- unbinder = ButterKnife.bind(this, view);
- Logger.addLogAdapter(new AndroidLogAdapter());
- logger = AppEventsLogger.newLogger(getContext());
- mFirebaseAnalytics = FirebaseAnalytics.getInstance(getContext());
- customFontSemiBold = Typeface.createFromAsset(getContext().getAssets(), getString(R.string.fontSemiBoldText));
- customFontRegular = Typeface.createFromAsset(getContext().getAssets(), getString(R.string.fontRegularText));
- Map<String, String> cartInfoAttribute = new HashMap<>();
- cartInfoAttribute.put("store", "1");
- cartInfoAttribute.put("mobile", "1");
- Call<CartItemResponse> callback = RestClient.get().getCartInfo(getUserId(), cartInfoAttribute);
- NetworkServiceHandler.processCallBack(callback, getContext());
- return view;
- }
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- EventBus.getDefault().post(new CheckoutFragmentChangeEvent(this.getTag()));
- confirmOrderButton.setOnClickListener(this);
- bkashOkButton.setOnClickListener(this);
- paymentWebView.setVisibility(View.GONE);
- rootLayout.setVisibility(View.VISIBLE);
- bkashPaymentView.setVisibility(View.GONE);
- isShowPaymentPage = false;
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- unbinder.unbind();
- }
- @Override
- public void onClick(View v) {
- super.onClick(v);
- int resourceId = v.getId();
- if (resourceId == R.id.confirmOrderButton) {
- callPlaceOrderApi();
- } else if (resourceId == R.id.bkashOkButton) {
- redirectToHomeActivity();
- }
- }
- public void onEvent(CartItemResponse cartItemResponse) {
- if (cartItemResponse.getItems() != null && cartItemResponse.getItems().size() > 0) {
- generateConfirmOrderPage(cartItemResponse);
- }
- }
- public void setProgressDialog() {
- circularLoaderDialog = new CircularLoaderDialog(getContext());
- circularLoaderDialog.show();
- // pDialog = new ProgressDialog(getActivity());
- // pDialog.setMessage("Loading...");
- // pDialog.setCancelable(false);
- // pDialog.setCanceledOnTouchOutside(false);
- // pDialog.show();
- }
- private void dismissDialog() {
- try {
- circularLoaderDialog.dismiss();
- } catch (Exception e) {
- }
- }
- private void loadUrlInWebView(final String redirectUrl) {
- paymentWebView.getSettings().setJavaScriptEnabled(true);
- paymentWebView.getSettings().setLoadWithOverviewMode(true);
- paymentWebView.getSettings().setUseWideViewPort(true);
- paymentWebView.setWebViewClient(new WebViewClient() {
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
- super.onPageStarted(view, url, favicon);
- if (url.equals(redirectUrl)) {
- setProgressDialog();
- }
- }
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return true;
- }
- @Override
- public void onPageFinished(WebView view, final String url) {
- if (circularLoaderDialog!= null && url.equals(redirectUrl)) {
- dismissDialog();
- }
- if (url.equals(CheckoutStepTag.ONLINE_PAYMENT_SUCCESS)) {
- showToast("Payment successful");
- showSuccessPopUp(orderIdForCityBankPayment);
- } else if (url.equals(CheckoutStepTag.ONLINE_PAYMENT_CANCEL)) {
- showToast("Payment not completed");
- redirectToHomeActivity();
- } else if (url.equals(CheckoutStepTag.ONLINE_PAYMENT_DECLINE)) {
- showToast("Payment not completed");
- redirectToHomeActivity();
- }
- }
- @Override
- public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
- if (circularLoaderDialog != null) {
- dismissDialog();
- }
- showToast("Payment not completed");
- redirectToHomeActivity();
- }
- });
- paymentWebView.loadUrl(redirectUrl);
- }
- private void generateConfirmOrderPage(CartItemResponse cartItemResponse) {
- CheckoutStepTag.cartItemProducts = cartItemResponse.getItems();
- CheckoutStepTag.totalPrice = cartItemResponse.getGrandTotal();
- CheckoutStepTag.discountPrice = getString(R.string.final_price, String.valueOf((int) cartItemResponse.getDiscount()));
- CheckoutStepTag.subTotalPrice = getString(R.string.final_price, String.valueOf(cartItemResponse.getSubtotal()));
- Address shippingAddress = CheckoutStepTag.shippingAddress;
- String shipAddressViewText = getString(R.string.label_phone_number) + ": " + shippingAddress.getTelePhone() + ", " +
- getString(R.string.street) + ": " + shippingAddress.getStreet() + ", " +
- getString(R.string.city) + ": " + shippingAddress.getCity() + ", " +
- getString(R.string.label_country) + ": " + shippingAddress.getCountryId();
- shippingNameView.setText(getString(R.string.full_name, shippingAddress.getFirstName(), shippingAddress.getLastName()));
- shippingAddressView.setText(shipAddressViewText);
- Address billingAddress = CheckoutStepTag.billingAddress;
- String billingAddressViewText = getString(R.string.label_phone_number) + ": " + billingAddress.getTelePhone() + ", " +
- getString(R.string.street) + ": " + billingAddress.getStreet() + ", " +
- getString(R.string.city) + ": " + billingAddress.getCity() + ", " +
- getString(R.string.label_country) + ": " + billingAddress.getCountryId();
- billingNameView.setText(getString(R.string.full_name, billingAddress.getFirstName(), billingAddress.getLastName()));
- billingAddressView.setText(billingAddressViewText);
- ShippingMethodData shippingMethodData = CheckoutStepTag.shippingMethod;
- shippingMethodView.setText(shippingMethodData.getTitle());
- PaymentMethodList paymentMethod = CheckoutStepTag.paymentMethod;
- paymentMethodView.setText(paymentMethod != null ? paymentMethod.getLabel() : "Internal Rewards");
- grandTotal = CheckoutStepTag.totalPrice + CheckoutStepTag.shippingMethod.getAmount();
- if (paymentMethod != null && paymentMethod.getValue().equals(CheckoutStepTag.EMI_PAYMENT_KEY)) {
- if (CheckoutStepTag.bankEMIInfo != null && CheckoutStepTag.bankEMIInfo.getInterest() > 0.0) {
- grandTotal += CheckoutStepTag.bankEMIInfo.getInterest();
- interestTextView.setText(StringValue.bdtFormatWithZeroDecimalPoint(CheckoutStepTag.bankEMIInfo.getInterest()));
- interestLayout.setVisibility(View.VISIBLE);
- } else {
- interestLayout.setVisibility(View.GONE);
- }
- } else {
- interestLayout.setVisibility(View.GONE);
- }
- subTotalTextView.setText(CheckoutStepTag.subTotalPrice);
- if (CheckoutStepTag.discountPrice.equals("ΰ§³ 0")) {
- discountLayout.setVisibility(View.GONE);
- } else {
- if (cartItemResponse.getCoupon()!=null)
- discountLabel.setText(getString(R.string.discount_coupon, cartItemResponse.getCoupon()));
- discountTextView.setText(CheckoutStepTag.discountPrice);
- discountLayout.setVisibility(View.VISIBLE);
- }
- shippingMethodLabelTextView.setText(getString(R.string.shipping_and_handling_placeholder, CheckoutStepTag.shippingMethod.getTitle(), CheckoutStepTag.shippingMethod.getMethod()));
- shippingMethodValueTextView.setText(getString(R.string.final_price, StringValue.bdtFormatWithZeroDecimalPoint(CheckoutStepTag.shippingMethod.getAmount())));
- if (CheckoutStepTag.isReward) {
- clubPointLayout.setVisibility(View.VISIBLE);
- clubPointTextView.setText(getString(R.string.price_with_minus_sign, StringValue.bdtFormatWithZeroDecimalPoint(CheckoutStepTag.rewardAmount)));
- grandTotal -= CheckoutStepTag.rewardAmount;
- } else {
- clubPointLayout.setVisibility(View.GONE);
- }
- grandTotalTextView.setText(getString(R.string.final_price, StringValue.bdtFormatWithZeroDecimalPoint(grandTotal)));
- generateProductView();
- }
- private void generateProductView() {
- LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
- productListRecyclerView.setLayoutManager(layoutManager);
- productListRecyclerView.setHasFixedSize(true);
- productListRecyclerView.setNestedScrollingEnabled(false);
- ConfirmOrderProductAdapter adapter = new ConfirmOrderProductAdapter(getActivity(), CheckoutStepTag.cartItemProducts);
- productListRecyclerView.setAdapter(adapter);
- adapter.SetOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(View view, int position) {
- }
- });
- }
- private void callPlaceOrderApi() {
- String cardValue = "";
- String bankName = "";
- String emiValue = "";
- String emiPay = "";
- if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.CARD_ON_DELIVERY_KEY)) {
- cardValue = CheckoutStepTag.cardDeliveryPaymentOption.getValue();
- } else if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.ONLINE_PAYMENT_KEY)) {
- cardValue = CheckoutStepTag.onlinePaymentOption.getValue();
- } else if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.EMI_PAYMENT_KEY)) {
- bankName = CheckoutStepTag.emiBankName;
- emiValue = String.valueOf(CheckoutStepTag.bankEMIInfo.getValue());
- emiPay = CheckoutStepTag.isEmiOnlinePay ? "Online" : "Card On Delivery";
- }
- Map<String, String> orderInfo = new HashMap<>();
- orderInfo.put("biladdr", CheckoutStepTag.billingAddress.getEntityId() + "");
- orderInfo.put("shipaddr", CheckoutStepTag.shippingAddress.getEntityId() + "");
- orderInfo.put("shipmethod", CheckoutStepTag.shippingMethod.getCode());
- orderInfo.put("paymentmethod", CheckoutStepTag.paymentMethod != null ? CheckoutStepTag.paymentMethod.getValue() : CheckoutStepTag.rewardValue);
- orderInfo.put("sameship", CheckoutStepTag.sameShip ? "yes" : "no");
- orderInfo.put("saveship", "yes");
- orderInfo.put("savebill", "yes");
- orderInfo.put("newship", CheckoutStepTag.newShip ? "yes" : "no");
- orderInfo.put("newbill", CheckoutStepTag.newBill ? "yes" : "no");
- orderInfo.put("cardvalue", cardValue);
- orderInfo.put("bankvalue", bankName);
- orderInfo.put("emivalue", emiValue);
- orderInfo.put("credit", CheckoutStepTag.isReward ? "yes" : "no");
- orderInfo.put("emipaymentmode", emiPay);
- orderInfo.put("mobile", "1");
- Call<OrderResponse> callback = RestClient.get().placeOrder(getUserId(), orderInfo);
- NetworkServiceHandler.processCallBack(callback, getActivity());
- }
- private void showSuccessPopUp(String orderId) {
- final Dialog dialog = new Dialog(getContext());
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- dialog.setCancelable(false);
- dialog.setContentView(R.layout.confirm_order_dialog);
- AppCompatTextView orderSuccessMessageTextView = dialog.findViewById(R.id.orderSuccessMessageTextView);
- AppCompatTextView orderIdTextView = dialog.findViewById(R.id.orderIdTextView);
- AppCompatButton okButton = dialog.findViewById(R.id.okButton);
- okButton.setTypeface(customFontRegular);
- String title;
- String message;
- if (isNumeric(orderId)) {
- title = getString(R.string.order_placed_successfully);
- message = getString(R.string.order_confirmation_placeholder, orderId);
- }
- else {
- title = getString(R.string.payment_failed_title);
- message = getString(R.string.online_order_failed_placeholder);
- }
- orderSuccessMessageTextView.setText(title);
- orderIdTextView.setText(message);
- orderSuccessMessageTextView.setTypeface(customFontSemiBold);
- orderIdTextView.setTypeface(customFontRegular);
- okButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.dismiss();
- redirectToHomeActivity();
- }
- });
- dialog.show();
- }
- private boolean isNumeric(String number) {
- boolean flag = false;
- try {
- Integer.parseInt(number);
- flag = true;
- } catch (Exception e) {
- }
- return flag;
- }
- private void redirectToHomeActivity() {
- getActivity().finish();
- gotoHomeActivity(HomePageActivity.class);
- }
- private void callRedirectUrlApi(String orderId) {
- Map<String, String> orderInfo = new HashMap<>();
- orderInfo.put("order_id", orderId);
- Call<RedirectUrlResponse> callback = RestClient.get().getRedirectUrl(orderInfo);
- NetworkServiceHandler.processCallBack(callback, getActivity());
- }
- private void loadBKashWebView(final String orderId, double grandTotal) {
- isPaymentByBKash = true;
- PaymentRequest paymentRequest = new PaymentRequest();
- paymentRequest.setAmount(String.valueOf(grandTotal));
- paymentRequest.setIntent("sale");
- paymentRequest.setOrderId(orderId);
- Gson gson = new Gson();
- request = gson.toJson(paymentRequest);
- rootLayout.setVisibility(View.GONE);
- paymentWebView.setVisibility(View.VISIBLE);
- WebSettings webSettings = paymentWebView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- paymentWebView.setClickable(true);
- paymentWebView.getSettings().setDomStorageEnabled(true);
- paymentWebView.getSettings().setAppCacheEnabled(false);
- paymentWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
- paymentWebView.clearCache(true);
- paymentWebView.getSettings().setAllowFileAccessFromFileURLs(true);
- paymentWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
- paymentWebView.addJavascriptInterface(new JavaScriptInterface(getContext()), "AndroidNative");
- paymentWebView.loadUrl(getString(R.string.CHECKOUT_PATH));
- paymentWebView.setWebChromeClient(new WebChromeClient());
- paymentWebView.setWebViewClient(new CheckoutWebViewClient());
- }
- class CheckoutWebViewClient extends WebViewClient {
- public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
- handler.cancel();
- showSuccessPopUp(getString(R.string.online_order_failed_placeholder));
- }
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (url.equals("https://www.bkash.com/terms-and-conditions")) {
- Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(myIntent);
- return true;
- }
- return super.shouldOverrideUrlLoading(view, url);
- }
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
- setProgressDialog();
- }
- @Override
- public void onPageFinished(WebView view, String url) {
- if (url.equalsIgnoreCase(getString(R.string.CHECKOUT_PATH))) {
- paymentWebView.loadUrl("javascript:setConfigs('" + BKASH_PAYMENT_CREATE + "','" + BKASH_PAYMENT_EXECUTE + "','" + NetworkServiceHandler.AuthToken + "','" + PreferenceService.GetPreferenceValue(TOKEN_KEY) + "')");
- String paymentRequest = "{paymentRequest:" + request + "}";
- paymentWebView.loadUrl("javascript:callReconfigure(" + paymentRequest + " )");
- paymentWebView.loadUrl("javascript:clickPayButton()");
- } else if (url.equalsIgnoreCase("file:///android_asset/www/checkoutSuccess.html")) {
- showToast("Payment successful");
- showSuccessPopUp(orderId);
- } else if (url.equalsIgnoreCase("file:///android_asset/www/checkout_failed.html")) {
- showToast("bKash Payment failed");
- showSuccessPopUp(getString(R.string.online_order_failed_placeholder));
- }
- if (circularLoaderDialog != null) {
- dismissDialog();
- }
- }
- }
- public void onEvent(OrderResponse orderResponse) {
- if (orderResponse.getResponse_code() == ResponseCode.OPERATION_SUCCESSFULL) {
- EventBus.getDefault().post(new ConfirmOrderEvent());
- if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.ONLINE_PAYMENT_KEY)) {
- orderIdForCityBankPayment = orderResponse.getData().getOrderId();
- callRedirectUrlApi(orderIdForCityBankPayment);
- } else if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.EMI_PAYMENT_KEY)) {
- if (CheckoutStepTag.isEmiOnlinePay) {
- callRedirectUrlApi(orderResponse.getData().getOrderId());
- } else {
- showSuccessPopUp(orderResponse.getData().getOrderId());
- }
- } else if (CheckoutStepTag.paymentMethod != null && CheckoutStepTag.paymentMethod.getValue().equals(CheckoutStepTag.BKASH_PAYMENT_KEY)) {
- isShowPaymentPage = true;
- orderId = orderResponse.getData().getOrderId();
- loadBKashWebView(orderResponse.getData().getOrderId(), grandTotal);
- } else {
- showSuccessPopUp(orderResponse.getData().getOrderId());
- }
- eventLogForAnalytics(orderResponse.getData().getOrderId());
- } else {
- showToast(orderResponse.getErrors()[0]);
- }
- }
- //city bank url
- public void onEvent(RedirectUrlResponse redirectUrlResponse) {
- if (redirectUrlResponse.getResponse_code() == ResponseCode.OPERATION_SUCCESSFULL) {
- String url = redirectUrlResponse.getData().getRedirectUrl();
- rootLayout.setVisibility(View.GONE);
- paymentWebView.setVisibility(View.VISIBLE);
- isShowPaymentPage = true;
- loadUrlInWebView(url);
- } else {
- showSuccessPopUp(redirectUrlResponse.getErrors()[0]);
- }
- }
- private void payBySsl(String orderId, double grandTotal) {
- /*Mandatory Field*/
- MandatoryFieldModel mandatoryFieldModel = new MandatoryFieldModel("testbox", "", String.valueOf(grandTotal), orderId, CurrencyType.BDT, SdkType.TESTBOX, SdkCategory.BANK_LIST);
- PayUsingSSLCommerz.getInstance().setData(getContext(), mandatoryFieldModel, new OnPaymentResultListener() {
- @Override
- public void transactionSuccess(TransactionInfo transactionInfo) {
- showSuccessPopUp(transactionInfo.getTranId());
- }
- @Override
- public void transactionFail(TransactionInfo transactionInfo) {
- showToast("Transaction failed");
- }
- @Override
- public void error(int errorCode) {
- switch (errorCode) {
- // Your provides information is not valid.
- case ErrorKeys.USER_INPUT_ERROR:
- showToast("User Input Error");
- break;
- // Internet is not connected.
- case ErrorKeys.INTERNET_CONNECTION_ERROR:
- showToast("Internet Connection Error");
- break;
- // Server is not giving valid data.
- case ErrorKeys.DATA_PARSING_ERROR:
- showToast("Data Parsing Error");
- break;
- // User press back button or canceled the transaction.
- case ErrorKeys.CANCEL_TRANSACTION_ERROR:
- showToast("User Cancel The Transaction");
- break;
- // Server is not responding.
- case ErrorKeys.SERVER_ERROR:
- showToast("Server Error");
- break;
- // For some reason network is not responding
- case ErrorKeys.NETWORK_ERROR:
- showToast("Network Error");
- break;
- }
- }
- });
- }
- private void eventLogForAnalytics(String orderId) {
- Bundle params = new Bundle();
- try {
- params.putLong(LogEventConstant.USER_ID, Long.parseLong(getUserId()));
- params.putLong(LogEventConstant.ORDER_ID, Long.parseLong(orderId));
- params.putString(LogEventConstant.CHECKOUT_STAGE, LogEventConstant.CONFIRM_ORDER);
- } catch (Exception e) {
- Log.d("Exception message", e.toString());
- }
- logger.logEvent(LogEventConstant.CONFIRM_ORDER, params); //facebook
- mFirebaseAnalytics.logEvent(LogEventConstant.CONFIRM_ORDER, params); //firebase
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment