导航菜单

页面标题

页面副标题

Crafto v9.3.3 - NativeSDKRepository.java 源代码

正在查看: Crafto v9.3.3 应用的 NativeSDKRepository.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.paytmpayments.customuisdk.paymethods.datasource;

import android.content.Context;
import android.text.TextUtils;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.paytmpayments.customuisdk.Gtm.NativeSdkGtmLoader;
import com.paytmpayments.customuisdk.NetworkHandler.VolleyPostRequest;
import com.paytmpayments.customuisdk.NetworkHandler.VolleyRequestQueue;
import com.paytmpayments.customuisdk.base.DependencyProvider;
import com.paytmpayments.customuisdk.common.Constants.SDKConstants;
import com.paytmpayments.customuisdk.common.Requester.APIReqtGenerator;
import com.paytmpayments.customuisdk.common.model.CustomVolleyError;
import com.paytmpayments.customuisdk.dataSource.models.VPAValidateResponse;
import com.paytmpayments.customuisdk.paymethods.datasource.PaymentMethodDataSource;
import com.paytmpayments.customuisdk.paymethods.model.processtransaction.ProcessTransactionInfo;
import com.paytmpayments.customuisdk.transaction.PayUtility;
import org.json.JSONObject;

public class NativeSDKRepository implements NativeSdkDataSource {
    private static NativeSDKRepository repository;
    private Context context;
    private boolean isOrderFlow;

    private NativeSDKRepository(Context context, boolean z) {
        this.context = context.getApplicationContext();
        this.isOrderFlow = z;
    }

    private void executeRequest(Request request) {
        request.setRetryPolicy(new DefaultRetryPolicy(2500, 2, 1.0f));
        VolleyRequestQueue.getInstance(this.context).addToRequestQueue(request);
    }

    public static NativeSDKRepository getInstance(Context context) {
        if (repository == null) {
            if (context == null) {
                throw new IllegalStateException("Please initialize native sdk repository first");
            }
            repository = new NativeSDKRepository(context, false);
        }
        return repository;
    }

    public static void init(Context context, boolean z) {
        repository = new NativeSDKRepository(context, z);
    }

    @Override
    public void fetchBinDetails(String str, String str2, String str3, String str4, String str5, final PaymentMethodDataSource.Callback<JSONObject> callback) {
        try {
            String binDetailsWithOrderId = "TXN_TOKEN".equals(str3) ? NativeSdkGtmLoader.getBinDetailsWithOrderId(str4, str5) : NativeSdkGtmLoader.getBinDetails(str4, str5);
            JSONObject jSONObject = new JSONObject();
            JSONObject necessaryHeadersParams = PayUtility.getNecessaryHeadersParams(DependencyProvider.getAppContext(), str2, str3);
            JSONObject jSONObject2 = new JSONObject();
            jSONObject2.put(SDKConstants.BIN, str);
            TextUtils.isEmpty(str4);
            jSONObject2.put("mid", str4);
            jSONObject.put(SDKConstants.HEAD, necessaryHeadersParams);
            jSONObject.put(SDKConstants.BODY, jSONObject2);
            executeRequest(new VolleyPostRequest(1, binDetailsWithOrderId, null, null, jSONObject.toString(), new Response.Listener() {
                public void onResponse(Object obj) {
                    callback.onResponse((JSONObject) obj);
                }
            }, new Response.ErrorListener() {
                public void onErrorResponse(VolleyError volleyError) {
                    if (DependencyProvider.getPaytmHelper().isAppInvokeFlow()) {
                        DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_API_ERROR_RESPONSE, "Fetch Bin Details"));
                        DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_ERROR_MESSAGE_RESPONSE, volleyError.getLocalizedMessage()));
                    }
                    callback.onErrorResponse(volleyError, null);
                }
            }, JSONObject.class));
        } catch (Exception e) {
            if (DependencyProvider.getEventLogger() != null) {
                DependencyProvider.getEventLogger().sendCrashLogs("com.paytmpayments.customuisdk.data", "fetchBinDetails", e);
            }
            callback.onErrorResponse(new CustomVolleyError("Error in creating bin json."), null);
        }
    }

    @Override
    public void fetchNBDetails(String str, String str2, String str3, String str4, String str5, final PaymentMethodDataSource.Callback<JSONObject> callback) {
        String nBListWithAccessToken;
        boolean z;
        if (SDKConstants.ACCESS.equalsIgnoreCase(str3)) {
            nBListWithAccessToken = NativeSdkGtmLoader.getNBListWithAccessToken(str2, str5);
            z = false;
        } else {
            nBListWithAccessToken = NativeSdkGtmLoader.getNBList(str2, str5);
            z = true;
        }
        executeRequest(new VolleyPostRequest(1, nBListWithAccessToken, null, null, APIReqtGenerator.createJsonForNBAPI(str, z, str4), new Response.Listener() {
            public void onResponse(Object obj) {
                callback.onResponse((JSONObject) obj);
            }
        }, new Response.ErrorListener() {
            public void onErrorResponse(VolleyError volleyError) {
                if (DependencyProvider.getPaytmHelper().isAppInvokeFlow()) {
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_API_ERROR_RESPONSE, "Fetch NB Details"));
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_ERROR_MESSAGE_RESPONSE, volleyError.getLocalizedMessage()));
                }
                callback.onErrorResponse(volleyError, null);
            }
        }, JSONObject.class));
    }

    @Override
    public void isVpaValidated(String str, String str2, String str3, String str4, String str5, final PaymentMethodDataSource.Callback<VPAValidateResponse> callback, String str6) {
        String validateVPAWithAccess;
        boolean z;
        if (SDKConstants.ACCESS.equalsIgnoreCase(str3)) {
            validateVPAWithAccess = NativeSdkGtmLoader.getValidateVPAWithAccess(str2, str5);
            z = false;
        } else {
            validateVPAWithAccess = NativeSdkGtmLoader.getValidateVPAUrl(str2, str5);
            z = true;
        }
        executeRequest(new VolleyPostRequest(1, validateVPAWithAccess, null, null, APIReqtGenerator.createJsonForValidateVPA(str3, z, str4, str, str6), new Response.Listener() {
            public void onResponse(Object obj) {
                JSONObject optJSONObject;
                if (!(obj instanceof JSONObject) || (optJSONObject = ((JSONObject) obj).optJSONObject("body")) == null) {
                    return;
                }
                VPAValidateResponse vPAValidateResponse = new VPAValidateResponse(optJSONObject.optBoolean("valid", false), optJSONObject.optString(SDKConstants.KEY_VPA));
                JSONObject optJSONObject2 = optJSONObject.optJSONObject("resultInfo");
                if (optJSONObject2 != null) {
                    vPAValidateResponse.setResultMsg(optJSONObject2.optString("resultMsg"));
                    vPAValidateResponse.setResultCode(optJSONObject2.optString("resultCode"));
                }
                callback.onResponse(vPAValidateResponse);
            }
        }, new Response.ErrorListener() {
            public void onErrorResponse(VolleyError volleyError) {
                if (DependencyProvider.getPaytmHelper().isAppInvokeFlow()) {
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_API_ERROR_RESPONSE, "Validate VPA"));
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_ERROR_MESSAGE_RESPONSE, volleyError.getLocalizedMessage()));
                }
                callback.onErrorResponse(volleyError, null);
            }
        }, JSONObject.class));
    }

    @Override
    public void notifyServerAboutCloseOrder() {
        PaymentRepository.Companion.getInstance(this.context).makeCloseOrderTransaction(new PaymentMethodDataSource.Callback<ProcessTransactionInfo>() {
            @Override
            public void onErrorResponse(VolleyError volleyError, ProcessTransactionInfo processTransactionInfo) {
                if (DependencyProvider.getPaytmHelper().isAppInvokeFlow()) {
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_API_ERROR_RESPONSE, "Close Order"));
                    DependencyProvider.getPaytmHelper().sendGaEvents(DependencyProvider.getUtilitiesHelper().getAllInOneEventParams(SDKConstants.AI_ERROR_MESSAGE_RESPONSE, volleyError.getLocalizedMessage()));
                }
            }

            @Override
            public void onResponse(ProcessTransactionInfo processTransactionInfo) {
            }
        });
    }
}