【问题标题】:Unable to integrate Mpesa Api into my android app无法将 Mpesa Api 集成到我的 Android 应用程序中
【发布时间】:2020-06-01 01:15:23
【问题描述】:

我正在尝试使用 Daraja 提供的程序将 MPESA API 集成到我的 android 应用程序中。在启动我的应用程序时,我的 Logcat 中显示以下错误

D/OkHttp: {
                    "requestId": "16583-1090909-1",
                    "errorCode": "400.008.02",

D/OkHttp: "errorMessage": "无效的授权类型通过" }

在输入要发送的电话号码和金额后,Sim Toolkit 不会被带到前面。 我的Logcat中显示如下错误

D/OkHttp: {
                    "requestId":"29178-5342114-1",

D/OkHttp: "errorCode": "404.001.04", “errorMessage”:“无效的身份验证标头” }

这是我的预期:按下“支付”按钮时,应该会提示我进入 sim 工具包,请求我的 Mpesa 密码以继续付款。

我将不胜感激将提供的任何帮助。

【问题讨论】:

    标签: java android mpesa


    【解决方案1】:

    我遇到了同样的问题。我意识到在收到身份验证令牌之前我正在执行 STK 推送。在执行 STK 推送之前,您可以使用全局变量进行检查

    var isReady = false  // global variable
    //Access token Method being called.
    private fun getAccessToken() {
        mApiClient!!.setGetAccessToken(true)
        mApiClient!!.mpesaService()!!.getAccessToken().enqueue(object : Callback<AccessToken> {
            override fun onResponse(call: Call<AccessToken?>, response: Response<AccessToken>) {
                if (response.isSuccessful) {
                    mApiClient!!.setAuthToken(response.body()?.accessToken)
                    //Timber.e("Success: ${response.body()?.accessToken}")
                    isReady = true //
                }
            }
            override fun onFailure(call: Call<AccessToken?>, t: Throwable) {}
        })
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-26
      • 2014-05-20
      • 2023-03-23
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      相关资源
      最近更新 更多