2016-03-02 2 views
0

Привет В моем приложении У меня есть интегрированный кошелек Paytm, и я получаю ответ как тип объекта JSON Bundle. Теперь мне нужно получить детали из этого JSON, такие как ORDERID, TXNAMNT и т. Д. Есть ли какой-либо метод для разбора пакета JSON или мне нужно преобразовать в объект JSON, а затем проанализировать его?Как преобразовать пакет JSON в объект JSON в android

Ниже представлен мой ответ от paytm в формате JSON.

Merchant Response is {"MID":"SAMPLE09557238310462","ORDERID":"ORDER20000995","TXNAMOUNT":"171.75","CURRENCY":"INR","TXNID":"612917","BANKTXNID":"154301","STATUS":"TXN_SUCCESS","RESPCODE":"01","RESPMSG":"Txn Successful.","TXNDATE":"2016-03-02 16:38:12.0","GATEWAYNAME":"WALLET","BANKNAME":"","PAYMENTMODE":"PPI","IS_CHECKSUM_VALID":"Y"} 

Это то, что я пробовал.

public void onTransactionSuccess(Bundle inResponse) { 
         // After successful transaction this method gets called. 
         // // Response bundle contains the merchant response 
         // parameters. 
         Log.d("LOG", "Payment Transaction is successful " + inResponse); 
         Toast.makeText(getApplicationContext(), "Payment Transaction is successful", Toast.LENGTH_LONG).show(); 
         try { 
          JSONObject json = new JSONObject(inResponse.getString("")); 
          JSONObject json2 = json.getJSONObject(""); 
          String name1 = (String) json2.get("ORDERID"); 
          Toast.makeText(getApplicationContext(), ""+name1, Toast.LENGTH_LONG).show(); 
         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 
        } 

ответ

0

Я действительно мало знаю о API Android PayTM. Но я считаю, что возможно, что Bundle будет содержать информацию, а не JSON.

например. Попробуйте выполнить внутри функции OnTransactionSucess

public void onTransactionSuccess(Bundle inResponse) { 
    String mid = inResponse.getString("MID"); 
    String orderId = inResponse.getString("ORDERID"); 

    // Do stuff with your information 
} 

Вы можете проверить значения, используя Log.d.

Надеюсь, это поможет.

+0

спасибо, я боролся с часом, чтобы взломать это. Я думал, так как это было в формате JSON, я должен разобрать его. Но это слишком просто. – ShivLeela

0

сделать один предмет! Вы можете получить ответ продавца таким образом:

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 

     if (requestCode == REQUEST_CODE_PAYMENT) { 
      if (resultCode == Activity.RESULT_OK) { 
       PaymentConfirmation confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION); 

       if (confirm != null) 
       { 
        try 
        { 
         try 
         { 
          Log.e("Paypal Response ", confirm.toJSONObject().toString()); 


          JSONObject jobj = new JSONObject(confirm.toJSONObject().toString()); 
          String paymentID = jobj.getJSONObject("response").getString("id"); 


         } 
         catch(Exception e) 
         { 
          e.printStackTrace(); 
         } 
        } 
        catch (Exception e) { 
         e.printStackTrace(); 
        } 
       } 
      } 
      else if(requestCode == Activity.RESULT_CANCELED) 
      { 
       Log.e("Paypal ", "User Cancelled THe Process"); 
       Toast.makeText(context, "You cancelled the transaction", Toast.LENGTH_LONG).show(); 
      } 
      else if(requestCode == PaymentActivity.RESULT_EXTRAS_INVALID) 
      { 
       Log.e("Paypal ", "Invalid Payment Requested"); 
       Toast.makeText(context, "Invalid Payment Requested", Toast.LENGTH_LONG).show(); 
      } 
     } 
    } 

Сообщите мне, если это работает! :)

+0

Нет, он не работает. – ShivLeela

Смежные вопросы