تایتل قالب طراحی سایت سئو قالب بیان
این جهان ، جهان تغییر است نه تقدیر...


آموزش پیاده سازی SDK پرداخت Payfa (درگاه پرداخت واسط) با زبان جاوا در محیط اندروید استودیو.
این SDK و پرداخت مربوط به سایت www.payfa.com میباشد.

 


آدرس دانلود SDK در سایت Github در آدرس زیر میباشد :
https://github.com/skhanbeiki/Payfa


لینک دانلود و مشاهده ویدئو در آپارات :

https://aparat.com/v/5R2Vv

 

آموزش SDk پرداخت Payfa

 

زبان SDK : جاوا قایل استفاده در اندروید

این SDK صرفا برای سادگی استفاده از درگاه پرداخت در برنامه نویسی اندروید ساخته شده است که برای امنیت بیشتر از مرورگر کروم و مرورگر داخلی استفاده میکند.

برای راه اندازی و ثبت نام وارد سایت پی فا شوید :

 https://payfa.com/

برای دانلود SDK در سایت Github میتوانید از آدرس زیر استفاده کنید :

https://github.com/skhanbeiki/Payfa

 

برای اضافه کردن SDK آدرس زیر را به Gradle پروژه اضافه کنید :

repositories {

   maven { url 'https://jitpack.io' }

}

 

dependencies {

   implementation 'com.github.skhanbeiki:Payfa:1.3'

}

 

نسخه 1.8 جاوا رو به پروژه اضافه کنید :

compileOptions {

      sourceCompatibility JavaVersion.VERSION_1_8

      targetCompatibility JavaVersion.VERSION_1_8

}

 

بعد از Sync کردن پروژه و نصب SDK برای استفاده از پرداخت باید از دستورات زیر استفاده کنید :

new Payfa().init(API, Activity.this)

                        .amount(1100, Currency.toman)

                        .invoice(12345789)

                        .listener(Activity.this)

                        .internalBrowser(false)

                        .requestCode(1371)

                        .nameAndDetails("name", "details")

                        .build();

 

در متد init باید API کد دریافتی و activity را وارد کنید.

(API کد را از سایت payfa.com دریافت کنید)

 

متد amount مبلغ مورد نظر را وارد کنید و نوع تومان یا ریال را انتخاب کنید.

(مبلغ باید از 1000 تومان بیشتر باشد)

متدinvoice  یک id منحصربفرد دریافت میکند که پرداخت با آن id در دیتابیس payfd ثبت خواهد شد.

متد listener یک شنونده دریافت میکند، برای نمایش وضعیت پرداخت از متد های زیر استفاده کنید :

( اسم شنونده PayfaRequest میباشد و با implements PayfaResuest میتوانید از آن استفاده کنید)

    @Override

    public void onLaunch() {

        Log.i("Project", "onLaunch");

    }

 

    @Override

    public void onFailure(ErrorModel errorModel) {

        Log.i("Project", errorModel.msg + "   " + errorModel.code);

    }

 

    @Override

    public void onFinish(String paymentId) {

        Log.i("Project", "onFinish = " + paymentId);

    }

 

در onFinish باید paymentId را ذخیره کنیم تا در مراحل بعدی از وضعیت پرداخت مطلع شویم، زمانی که onFinish فراخوانی شود یعنی مرورگر شما باز شده است.

متد internalBrowser میتوانید با True یا False بودن نوع مرورگر داخلی یا خارجی را مشخص کنید.

متد اختیاری toolbarColor میتواند رنگ مرورگر داخلی را تغییر دهد.

متد اختیاری requestCode میتواند کدی را در برگشت به اکتیوتی در onActivityResult نمایش دهد.

متد اختیاری nameAndDetails میتوانید اسم پرداخت و توضیحاتی درجچ کنید.

متد build() پرداخت را آغاز میکند.

 

 

بعد از پرداخت، بانک شما را به صفحه واسط payfa برمیگرداند و کاربر دکمه "بازگشت به اپلیکیشن" را مشاهده میکند، پس از کلیک به activity از قبل تعیین شده برمیگردید.

برای بازکردن اکتیویتی مورد نظر در manifest  کد زیر را در تک activity مورد نظر قرار دهیم :

 

<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:host="@string/host1"

android:scheme="http" />

</intent-filter>

 

<string name="host1">payfa.com</string>

 

 

 

برای دریافت وضعیت پرداخت باید از دستورات زیر استفاده کنید :

( اسم شنونده PayfaVerify میباشد و با implements PayfaVerify میتوانید از آن استفاده کنید)

new Payfa().payStatus(API, getApplicationContext(), Activity.this);

یا

new Payfa().payStatus(API, "payment_id", Activity.this);

 

متد payStatus دو نوع دارد که اگر از Context برای ورودی استفاده کنید SDK وضعیت آخرین پرداخت را به شما اعلام میکند.

در غیر است صورت میتوانید payment_id را به جای Context وارد کنید.

این متد از شنونده زیر برای نمایش وضعیت استفاده میکند :

   @Override

    public void onFailure(ErrorModel errorModel) {

 

    }

 

    @Override

    public void onFinish(Status status) {

 

    }

 


نظرات (۱)

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی