تکایە زانیارییەکانی کارتەکەت لەگەڵ کەسی تر بەش " شەیر " مەکە، بۆ زانین FIB هەرگیز داوای زانیاری کارتەکەت لێ ناکات.
پارەدانی FIB SDK دروستکرا بۆ ئەوەی ڕێگەت پێبدات FIB تێکەڵ بکەیت وەک شێوازێکی گونجاوی پارەدان لە ناو داواکاریەکەتدا:
ئەم بەشە ئەگەری بەکارهێنانی مۆبایل-ئێس دی کەی نیشان دەدات بۆ دروستکردنی مامەڵە، گەڕاندنەوەی دۆخی مامەڵە و هەڵوەشاندنەوەی مامەڵە.
بۆ بەکارهێنانی ئەم SDK یە لەسەر ئەندرۆید، پێویستە ئەمانەی خوارەوە چارەسەر بکرێن.
ئاستی API21+ .2. هەژمارێکی گەشەپێدەرت هەبێت و SDK بە بڕوانامەی هەژمارەکەت دابین بکە وەکClientID ,ClientSecret ,GrantType لهگهڵ FIBBackend .
21+
ClientID
ClientSecret
GrantType
FIBBackend
زیادکردنی ئەم پشتبەستنە لە ناو ئهپهكهتbuild.gradle فایل:
build.gradle
نموونەی کۆد
dependencies { implementation 'iq.fib.payments:fib_payment_sdk:1.0.0' }
دوای ئەوەی هەنگاوی پێویستت گرتەبەر بۆ بەدەستهێنانی هەژمارێکی گەشەپێدەر لە FIB، تۆ بڕوانامەی هەژمارەکەتت پێدەدرێتClientId ,ClientSecret ,GrantType ,FIBBackend ).
ClientId
لە ڕەگی پڕۆژەی ئەندرۆیدەکەتدا شوێنی بدۆزەرەوەlocal.properties (ئەگەر بوونی نەبوو یەکێکیان دروست بکە) فایلێک و بڕوانامەکانت بۆ زیاد بکە.
local.properties
FIBBackend = XXXX GrantType = XXXX ClientId = XXXX ClientSecret = XXXX
لە ئهپهكهتbuild.gradle زیادکردنی فایلit.manifestPlaceholders["env_type"] = ".stage" بۆ تۆdefaultConfig بلۆک. بلۆک.
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" } }
دەتوانرێت بە دوو شێوە بەکاربهێنرێت:
دەتوانیت بەکاری بهێنیت FIBButton بۆ ئەنجامدانی چالاکی پارەدانەکەت. زیادکردن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) }
کرداری پارەدان لەگەڵ PayWithFIB
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
ههڵبژاردنه ئەم تایبەتمەندییە هەبێت، بۆیە ئەگەر تایبەتمەندی خۆت دابین بکەیتredirect URI دووبارە ئاڕاستەکردنەوەکە ڕوودەدات ئەگەر نا داواکارییەکانی FIB وەک ئاسایی ڕەفتار دەکەن.
سوپاست دەکەین! بە زووترین کات وەڵامت دەدەرێتەوە
ئەم وێبسایتە تایبەتمەندی کوکییەکان بەکاردەهێنێت بۆ ئەوەی بتوانین باشترین ئەزموونی بەکارهێنانت پێشکەش بکەین. زانیاری کوکییەکان لە وێبگەڕەکەتدا هەڵدەگیرێت و ئەرکەکانی وەك ناسینەوەت جێبەجێ دەکات کاتێك دەگەڕێیتەوە بۆ ماڵپەڕەکەمان وە بۆ یارمەتیدانی تیمەکەمانە بۆ تێگەیشتن لەوەی کام بەشی وێبسایتەکە زیاتر سەرنج ڕاکێش و بەسوودە بە تۆ.
پێویستە کوکی لە هەموو کاتێکدا چالاك بکرێت بۆ ئەوەی بتوانین تایبەتمەندییە پەسەندکراوەکانت بۆ ڕێکخستنەکانی کوکی پاشەکەوت بکەین.