ورود

View Full Version : اتصال رتروفیت به درگاه پرداخت



Accidentboy
دوشنبه 14 آبان 1397, 10:11 صبح
سلام..
من آپ دارم که از رتروفیت استفاده کردم.. حالا میخوام وقتی تو یه صفحه سمت سرور میره بعد درگاه پرداخت باز شه ( من از نکست پی درگاه گرفتم) ..

چجوری میشه اینکار رو انجام؟

Accidentboy
چهارشنبه 16 آبان 1397, 09:48 صبح
من از نکست پی یه درگاه گرفتم . حالا میخوام به صفحه ای منو منتقل میکنه به صفحه پرداخت شاپرک برم ..
webview این کار رو برام انجام نمیده..

چجوری می تونم اینکار رو انجام بدم؟

hharddy
پنج شنبه 17 آبان 1397, 14:00 عصر
مستندات خود نکست پی و مطالعه کنید
معمولا برای اینجور درگاه ها شما اول باید یک ریکوئست به سایت درگاه ارسال کنید همراه با اطلاعاتی و در جواب به شما کد تراکنش میدن سپس کاربر و از طریق مرورگر گوشی به آدرس موردنظر منتقل میکنید و بعد از پرداخت به صفحه call back ایی که خودتون تعیین کردید برمیگردید و با رفتن به اون صفحه از طریق deep link میتونید کاربر و به اپلیکیشن برگردونید.

Accidentboy
جمعه 18 آبان 1397, 13:30 عصر
مستندات خود نکست پی و مطالعه کنید
معمولا برای اینجور درگاه ها شما اول باید یک ریکوئست به سایت درگاه ارسال کنید همراه با اطلاعاتی و در جواب به شما کد تراکنش میدن سپس کاربر و از طریق مرورگر گوشی به آدرس موردنظر منتقل میکنید و بعد از پرداخت به صفحه call back ایی که خودتون تعیین کردید برمیگردید و با رفتن به اون صفحه از طریق deep link میتونید کاربر و به اپلیکیشن برگردونید.

ممنونم ..
این مسیر رو رفتم حالا میخوام اون مرورگر گوشی که مثلا اگه مرورگر رو بست و پرداخت نکرد و اینکه پرداخت کرد و موفقعیت آمیز بود رو به اپلیکیشن اطلاع بده ...
هرچی تلاش میکنم خطا میده



@Override
public void onRestart() {
super.onRestart();
Toast.makeText(this, "onRestart", Toast.LENGTH_SHORT).show();
Uri uri = getIntent().getData();
Toast.makeText(this, " path=="+uri.getPath() , Toast.LENGTH_SHORT).show();
}

و اینم manifest



<activity android:name=".CompetitionsActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="vosoli.ir"/>
<data android:scheme="https" android:host="nextpay.org"/>
</intent-filter>
</activity>




و خطا ش اینه




E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.m.myapplication, PID: 4974
java.lang.RuntimeException: Unable to resume activity {com.example.m.myapplication/com.example.m.myapplication.CompetitionsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
at android.app.ActivityThread.performResumeActivity(A ctivityThread.java:2951)
at android.app.ActivityThread.handleResumeActivity(Ac tivityThread.java:2982)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1322)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.jav a:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:694)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
at com.example.m.myapplication.CompetitionsActivity.o nRestart(CompetitionsActivity.java:468)
at android.app.Instrumentation.callActivityOnRestart( Instrumentation.java:1230)
at android.app.Activity.performRestart(Activity.java: 6000)
at android.app.Activity.performResume(Activity.java:6 011)
at android.app.ActivityThread.performResumeActivity(A ctivityThread.java:2940)
at android.app.ActivityThread.handleResumeActivity(Ac tivityThread.java:2982)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1322)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.jav a:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:694)