2017-04-10 90 views
-3

在Android端我收到商家數據:null。 如何在App端顯示成功結果? 支付成功後PayU服務器在$_POST返回一些響應。如何處理payU中的成功響應?

這樣
$result = ''; 
foreach($_POST as $key=> $value){ 

    $result .= $key . '=' . $value . ','; 
    $input = rtrim($result , ','); 
} 
echo "<html> 
    <head> 
     <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> 
     <script type='text/javascript'> 
      function AndroidSuccess() 
      { 
       PayU.onSuccess('status=success'); 
      } 
      AndroidSuccess($input); 

     </script> 
    </head> 
     <body> 
     </body> 
</html>"; 
在android系統側

我捕捉響應:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
if (requestCode == PayuConstants.PAYU_REQUEST_CODE) { 
    if (data != null) { 
     Log.e("data", ""+data.getExtras().toString()); 

     new AlertDialog.Builder(WalletFragment.this) 
      .setCancelable(false) 
      .setMessage("Payu's Data : " + data.getStringExtra("payu_response") + "\n\n\n Merchant's Data: " + data.getStringExtra("result")) 
      .setPositiveButton(
       android.R.string.ok, 
       new DialogInterface.OnClickListener() { 
        public void onClick(
         DialogInterface dialog, 
         int whichButton 
        ) { 
         dialog.dismiss(); 
        } 
       } 
      ).show(); 

      Log.e("Payu's Data :"," "+" "+ data.getStringExtra("payu_response") + "\n\n\n Merchant's Data: " + data.getStringExtra("result")); 
      Log.e("TAG","Merchant data:"+data.getStringExtra("result")); 

     } else { 
    Toast.makeText(WalletFragment.this, getString(R.string.could_not_receive_data), Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

回答

0

我假設你有處理PayU處理,如果沒有,讓我知道一個網絡服務器。

一旦收到PayU響應,理想情況下,您應將其存儲在數據庫中(最好是加密的,並根據訂單ID和用戶ID)。

然後在Android端,您可以直接與MySQL服務器通信(不推薦),也可以通過PHP腳本讀取數據庫結果並將值傳遞給應用程序(推薦)。

+0

yes,但是如何將值傳給app –

+0

正如我所說的,你需要直接連接到數據庫,但這是一個很高的安全風險,所以編寫一個服務器端腳本,可以從數據庫中獲取數據並回顯它以JSON格式輸出,然後在特定時間之後從應用中點擊服務器端腳本的鏈接。 –