من میخواهم در برنامه از طریق webView صفحه ی سایت را نمایش دهم
این صفحه یه دکمه دارد که با زدن آن کاربر کالای مورد نظر خود را برای خرید انتخاب کرده (به سبد خرید اضافه میکند) و بعد از زدن دکمه ی خرید صفحه ی پرداخت بانک ملت نمایش داده میشود. کاربر مشخصات کارت را وارد کرده و پرداخت را میزند
این صفحه یک شماره تراکنش برمی گرداند که در browser کامپیوتر به صورت یک دیالوگ به کاربر نمایش داده میشود
من از طریق اپلیکیشن اندروید و webView چطور می توانم این شماره تراکنش را بگیرم؟
لازم به ذکر است که سایت با wordpress طراحی شده و عملیات خرید در سایت از طریق افزونه Easy Digital Download و افزونه درگاه پرداخت بانک ملت صورت میگیرد.
صفحاتی که نمایش داده میشود :
1 - http://myDomain.com/?page_id=7 (در این صفحه یک دکمه برای شروع عملیات وجود دارد)
2 - http://myDomain.com/?page_id=9 (صفحه ی مربوط به اضافه کردن کالا به سبد خرید)
3 - https://bpm.shaparak.ir/pgwchannel/payment.mellat?RefId=B1775565BDB9328C (صفحه ی پرداخت بانک)
4 - وقتی عملیات خرید با موفقیت انجام شد شماره تراکنش به صورت یک دیالوگ به کاربر نشان داده میشود و با تایید کاربر به صفحه ی تایید پرداخت هدایت میشود
5 - http://myDomain.com/?page_id=10 (صفحه ی تایید پرداخت که لینک دانلود فعال شده در این صفحه وجود دارد ولی شماره تراکنش در این صفحه نیست)
متاسفانه چون مجبور به استفاده از این افزونه ها هستم امکان حذف یا تغییر در روند نمایش این صفحات نیستم.
از دستورات زیر استفاده کرده ام اما موفق نشده ام شماره تراکنش را به دست آورم
@Override
public boolean shouldOverrideUrlLoading(WebView v, String url) {
if (url.startsWith("http://myDomain.com/?page_id=10")) {
Toast.makeText(context, "ok", Toast.LENGTH_LONG).show();
v.loadUrl(url);
} else if (
url.startsWith("https://bpm.shaparak.ir/pgwchannel/")) {
URL url2;
URLConnection conexion;
try {
url2 = new URL(url);
conexion = url2.openConnection();
conexion.setConnectTimeout(3000);
conexion.connect();
int size = conexion.getContentLength();
} catch (Exception e) {
}
new getResponsTask().execute(url);
} else {
v.loadUrl(url);
}
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
if (url.startsWith("https://bpm.shaparak.ir/pgwchannel/")) {
Toast.makeText(context, "bank page finished
",
Toast.LENGTH_LONG).show();
o}