تکایە زانیارییەکانی کارتەکەت لەگەڵ کەسی تر بەش " شەیر " مەکە، بۆ زانین FIB هەرگیز داوای زانیاری کارتەکەت لێ ناکات.

ئەندرۆید پارەدان SDK

پارەدانی FIB SDK دروستکرا بۆ ئەوەی ڕێگەت پێبدات FIB تێکەڵ بکەیت وەک شێوازێکی گونجاوی پارەدان لەناو داواکاریەکەتدا

ڕێنمایی گەشەپێدەر - FIB SDK بۆ ئەندرۆید

پارەدانی FIB SDK دروستکرا بۆ ئەوەی ڕێگەت پێبدات FIB تێکەڵ بکەیت وەک شێوازێکی گونجاوی پارەدان لە ناو داواکاریەکەتدا:

  1. دەست بە مامەڵەیەک بکە و ڕێگە بە بەکارهێنەران بدە پارە بدەن لە ڕێگەی ئەپەکانی FIB (کەسی، بازرگانی، کۆمپانیا)؛
  2. دۆخی پارەدان؛
  3. پارەدانەکان هەڵوەشێنەوە

مۆبایل - هێڵکاری دۆخی SDK

ئەم بەشە ئەگەری بەکارهێنانی مۆبایل-ئێس دی کەی نیشان دەدات بۆ دروستکردنی مامەڵە، گەڕاندنەوەی دۆخی مامەڵە و هەڵوەشاندنەوەی مامەڵە.

1. دەستپێکردنی مامەڵە

2. گەڕاندنەوەی دۆخی پارەدان لە مۆبایل-SDK

3. هەڵوەشاندنەوەی پارەدان لە مۆبایل-SDK

دەست پێبکە بە FIB SDK بۆ ئەندرۆید

بۆ بەکارهێنانی ئەم SDK یە لەسەر ئەندرۆید، پێویستە ئەمانەی خوارەوە چارەسەر بکرێن.

ئاستی API21+ .
2. هەژمارێکی گەشەپێدەرت هەبێت و SDK بە بڕوانامەی هەژمارەکەت دابین بکە وەکClientID ,ClientSecret ,GrantType له‌گه‌ڵ FIBBackend .

داگرتن-ناونیشان API

گرادل

زیادکردنی ئەم پشتبەستنە لە ناو ئه‌په‌كه‌تbuild.gradle فایل:

dependencies {
    implementation 'iq.fib.payments:fib_payment_sdk:1.0.0'
}

دەستپێکردنی SDK

هەنگاوی یەکەم: وەرگرتنی بڕوانامەی هەژمارەکەت.

دوای ئەوەی هەنگاوی پێویستت گرتەبەر بۆ بەدەستهێنانی هەژمارێکی گەشەپێدەر لە FIB، تۆ بڕوانامەی هەژمارەکەتت پێدەدرێتClientId ,ClientSecret ,GrantType ,FIBBackend ).

هەنگاوی دووەم: پێدانی بڕوانامەکەت بۆ SDK.

لە ڕەگی پڕۆژەی ئەندرۆیدەکەتدا شوێنی بدۆزەرەوەlocal.properties (ئەگەر بوونی نەبوو یەکێکیان دروست بکە) فایلێک و بڕوانامەکانت بۆ زیاد بکە.

FIBBackend = XXXX
GrantType = XXXX
ClientId = XXXX
ClientSecret = XXXX

هەنگاوی سێیەم: ژینگەکەت دابین بکە بۆ SDK.

لە ئه‌په‌كه‌تbuild.gradle زیادکردنی فایلit.manifestPlaceholders["env_type"] = ".stage" بۆ تۆdefaultConfig بلۆک. بلۆک.

android {
    compileSdk 30
    defaultConfig {
        // replace ".stage" with "" for production environment
        // .stage: means that all transactions are fake and the operations will happen in a development environment 
        // "": means that the transactions are real and the operations will happen in a production environment
      it.manifestPlaceholders["env_type"] = ".stage"
    }
}

بەکارهێنانی SDK

دەتوانرێت بە دوو شێوە بەکاربهێنرێت:

  1. بە دووبارە بەکارهێنانەوەی پێکهاتەکانی UI
  2. بە بەکارهێنانی UI ی ئاسایی و دووبارە بەکارهێنانەوەی لۆژیکی بنچینەیی

بەکارهێنانی UI ی دابینکراو

دەتوانیت بەکاری بهێنیت FIBButton بۆ ئەنجامدانی چالاکی پارەدانەکەت.
زیادکردنFIBButton بۆ پۆلەکەت:

<com.lawrencespring.payment.widget.FIBButton
        android:id="@+id/buttonBuy"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

ئاماژە بە به‌تنه‌كه‌ بکە لە چالاکی/پارچەی کۆدەکەت:

import com.lawrencespring.payment.widget.FIBButton

val payButton = findViewById<FIBButton>(R.id.buttonBuy)

کرداری پارەدان لەگەڵ FIBButton

payButton.setOnClickListener {
    // starting payment with FIBButton
    payButton.startPayment(
        listOf(
            "https://personal.stage.first-iraqi-bank.co/?link=https://personal.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.personal.stage&ibi=se.core.Lawrencespring.development",
            "https://business.stage.first-iraqi-bank.co/?link=https://business.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.business.stage&ibi=se.core.Lawrencespring.business.development",
            "https://corporate.stage.first-iraqi-bank.co/?link=https://corporate.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.corporate.stage&ibi=se.core.Lawrencespring.corporate.development"
        )
    )
}
                  
// retrieving payment status
lifecycleScope.launch {
    val state: PaymentStatus? = payButton.checkPaymentState(paymentID)
}
  
// canceling payment 
lifecycleScope.launch {
    payButton.cancelPayment(paymentID)
}

بەکارهێنانی لۆژیکی دابینکراو لەگەڵ پێکهاتە تایبەتمەندەکانی UI

کرداری پارەدان لەگەڵ PayWithFIB

import com.lawrencespring.payment.adapter.exposer.payWithFIB.PayWithFIB
import com.lawrencespring.payment.framework.exposer.payWithFIB.PaymentListener
import com.lawrencespring.payment.framework.exposer.payWithFIB.model.FIBApp
import com.lawrencespring.payment.framework.exposer.payWithFIB.PaymentStatus
val payWithFIB = PayWithFIB()
// moreThanOneApp is triggered only when multiple FIB apps are installed on the end device
// once the app is selected it could be started by using appStarter(FIBApp)
payWithFIB.addPaymentListener(object : PaymentListener {
    // availableApps: are the list of fib apps available on the end device
    // appStarted: is a callback function that's called with the app that needs to be open     
    override fun moreThanOneApp(availableApps: List<FIBApp>, appStarter: (FIBApp) -> Unit) {
        // creating a dialog that will show the available apps
        val dialog = AlertDialog.Builder(context)
        val arrayAdapter =
            ArrayAdapter<String>(context, android.R.layout.select_dialog_item)
        availableApps.forEach { arrayAdapter.add(it.name.lowercase()) }
        dialog.setAdapter(arrayAdapter) { _, which ->
            // passing the selected app to the callback          
            appStarter(availableApps[which])
        }
        dialog.create().show()
    }
})
// starting payment with PayWithFIB
payWithFIB.startPayment(
    listOf(
        "https://personal.stage.first-iraqi-bank.co/?link=https://personal.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.personal.stage&ibi=se.core.Lawrencespring.development",
        "https://business.stage.first-iraqi-bank.co/?link=https://business.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.business.stage&ibi=se.core.Lawrencespring.business.development",
        "https://corporate.stage.first-iraqi-bank.co/?link=https://corporate.stage.first-iraqi-bank.co/onlinePayment/?identifier%3DSIBAFZSPVZB2&apn=com.firstiraqibank.corporate.stage&ibi=se.core.Lawrencespring.corporate.development"
    )
)
// retrieving payment status
lifecycleScope.launch {
    val state: PaymentStatus? = payWithFIB.getPaymentState(paymentID)
}
// canceling payment 
lifecycleScope.launch {
    payWithFIB.cancelPayment(paymentID)
}

کتێبخانەکە پشکنین دەکات کە ئایه‌ هەر وەشانی ئەپی FIB لەسەر ئامێری مۆبایلی بەکارهێنەر دامەزراوە یان نا و هەوڵدەدات بەردەوام بێت لە مامەڵەکە. ئەگەر زیاتر لە ئەپێک دامەزرا داوا لە بەکارهێنەر دەکرێت یەکێکیان هەڵبژێرێت. ئەگەر هیچ FIB دانەنرا بەکارهێنەرەکە ئاڕاستە دەکرێتەوە بۆ ستۆری گووگڵ پلەی.

مۆڵەت

مافی لەبەرگرتنەوەی 2021 بانکی یه‌كه‌می عێراق

مۆڵەتپێدراو لەژێر مۆڵەتی ئەپاچی ڤێرژنی 2.0 (مۆڵەتەکە)؛ تۆ ناتوانیت ئەم فایلە بەکاربهێنیت جگە لە پابەندبوون بە مۆڵەتەکە. دەتوانیت کۆپیەکی مۆڵەتەکە بەدەست بهێنیت لە https://www.apache.org/licenses/LICENSE-2.0 .

مەگەر بە پێی یاسای جێبەجێکراو یان ڕازی بێت بە نووسین، نەرمەکاڵای دابەشکراو لەژێر مۆڵەتەکەدا لەسەر بنەمای "AS IS" دابەش دەکرێت، بەبێ گەرەنتی یان مەرجی هیچ جۆرێک، یان دەربڕین یان بە مەبەست. بڕوانە مۆڵەتی زمانی تایبەت بۆ ڕێپێدانەکان و سنووردارکردنەکان لەژێر مۆڵەتنامە.

ئاڕاستەکردنەوە

ئەم SDKە هەروەها هەڵبژاردەیەک لەخۆ دەگرێت بۆ ئاڕاستەکردنەوەی بەکارهێنەر لە بەرنامەکانی FIB بۆ ئەپەکەت- دەتوانیت بەرنامەکان دابین بکەیتredirect URI هه موو شتێک بۆ ئێوه چاره‌سه‌رده‌کرێت.

هه‌ڵبژاردنه‌  ئەم تایبەتمەندییە هەبێت، بۆیە ئەگەر تایبەتمەندی خۆت دابین بکەیتredirect URI دووبارە ئاڕاستەکردنەوەکە ڕوودەدات ئەگەر نا داواکارییەکانی FIB وەک ئاسایی ڕەفتار دەکەن.

 بانکی یەکەمی عێراق - FIB
کورتەی سیاسەتی تایبەتمەندییەتی

ئەم وێبسایتە تایبەتمەندی کوکییەکان بەکاردەهێنێت بۆ ئەوەی بتوانین باشترین ئەزموونی بەکارهێنانت پێشکەش بکەین. زانیاری کوکییەکان لە وێبگەڕەکەتدا هەڵدەگیرێت و ئەرکەکانی وەك ناسینەوەت جێبەجێ دەکات کاتێك دەگەڕێیتەوە بۆ ماڵپەڕەکەمان وە بۆ یارمەتیدانی تیمەکەمانە بۆ تێگەیشتن لەوەی کام بەشی وێبسایتەکە زیاتر سەرنج ڕاکێش و بەسوودە بە تۆ.