在Android方面,我收到了商家数据:null。
如何在App端显示成功结果?
成功付款后,PayU服务器会在$_POST
中返回一些响应。
$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 :(得分:0)
我假设您有一个处理PayU处理的网络服务器,如果没有,请告诉我。
一旦收到PayU响应,理想情况下,您可以将其存储在数据库中(最好是加密的,而不是订单ID和用户ID)。
然后在Android端,您将直接(不推荐)或通过PHP脚本与MySQL服务器通信,该脚本将读取数据库结果并将值传递给您的应用程序(推荐)。