تکایە زانیارییەکانی کارتەکەت لەگەڵ کەسی تر بەش " شەیر " مەکە، بۆ زانین FIB هەرگیز داوای زانیاری کارتەکەت لێ ناکات.
پارەدانی FIB SDK دروستکرا بۆ ئەوەی ڕێگەت پێبدات FIB تێکەڵ بکەیت وەک شێوازێکی گونجاوی پارەدان لە ناو داواکاریەکەتدا:
ئەم بەشە ئەگەری لێشاوی بەکارهێنانی مۆبایل-ئێس دی کەی نیشان دەدات بۆ دەستپێکردنی مامەڵەیەک، گەڕاندنەوەی دۆخی مامەڵە و هەڵوەشاندنەوەی مامەڵەیەک.
ئەمانەی خوارەوە تایبەتمەندییەکانی iOS SDKن:
FIB پارەدان SDK کتێبخانەیەکی پارەدانە بە بەکارهێنانی یەکەم ئەپی بانکی عێراقی کە بە سویفت نووسراوە.
بەڕێوەبەری پرۆژەکانی کۆکۆیە بۆ بەکارهێنان و دامەزراندنی ڕێنماییەکان، سەردانی ماڵپەڕەکەیان بکە. بۆ یەکخستنFIBPaymentSDK بۆ پڕۆژەی ئێکسکۆدەکەت بە بەکارهێنانی کۆکۆپۆد دیاری بکە Podfile
FIBPaymentSDK
Podfile
نموونەی کۆد
pod 'FIBPaymentSDK', '~> 1.1.1'
ئەگەر دەتەوێت SDK تێکەڵ بکەیت بە بەکارهێنانی بەڕێوەبەری پاکێجی Swift تەنها پێویستە بچیت بۆFile -> Swift Packages -> Add Package Dependency... دواتر لە گەڕانەکەدا بنووسەhttps://github.com/First-Iraqi-Bank/fib-ios-sdk.git بەستەرەکە بۆ ئەم کۆگایەی گیتوب، پاشان ڤێرژنەکە یان لقی بایەخەکە هەڵبژێرە.
File -> Swift Packages -> Add Package Dependency...
https://github.com/First-Iraqi-Bank/fib-ios-sdk.git
یەکەم شت کە پێویستە بیکەیت ئەگەر دەتەوێت ئەم SDK بەکار بهێنیت ئەوەیە کە فایلێکی لیستی تایبەتمەندیت هەبێت لە ئەپەکەت بە تەواوی ئەم ناوەی تێدایە:FIBConfiguration.plist ئەم فایلە داتای داواکراوی تێدایە بۆ SDK بۆ ئەوەی بتوانێت کار بکات. گۆڕینی ناوەڕۆکی SDK بە:
FIBConfiguration.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>accountId</key> <string>you will be given this ID</string> <key>clientSecret</key> <string>you will be given this secret</string> <key>clientId</key> <string>you will be given this ID</string> <key>grantType</key> <string>client_credentials</string> <key>baseURLs</key> <dict> <key>fibPayGate</key> <string>this URL with change based on your need</string> </dict> </dict> </plist>
1.accountId :ئەمه هەیەaccountId ئەو کۆمپانیایانەی کە مووچە وەردەگرن
accountId
2. clientSecretpine : نهێنیەک کە پێت دەدرێت بۆ ئەوەی ڕەسەنایەتیت بسەلمێنێت
clientSecret
3.clientId ́pine: ئەو ناسنامەیەی کە پێت دەدرێت وەک بەکارھێنەرێک دیاری بکەیت.
clientId
4.grantType ́pine: ئەمە بۆ ڕاستکردنەوە بەکاردێت.
grantType
5.baseURLs : ەکەbaseURLs کە ئێمە بەکاری دەهێنین بۆ دروستکردنی داواکارییەکانی API بۆ دروستکردنی پارەدان لە ئێستادا تەنها یەک موڵکی هەیە کە بریتییە لەfibPayGate .
baseURLs
fibPayGate
1.Develop ́pine: دەتوانرێت بۆ مەبەستی تاقیکردنەوە بەکار بھێنرێت.
Develop
https://fib.stage.fib.iq
2.production ́pine: ئەوەی کە تۆ بەکاریدەهێنیت کاتێک ئەپەکەت بڵاو دەکەیتەوە.
production
https://fib.prod.fib.iq
بۆ بەکارهێنانیFIBPaymentSDK پێویستە هاوردەی بکەیت:
import FIBPaymentSDK
پاشان ده بێت نموونه یه ک دروست بکه یت:PayWithFIBView :
PayWithFIBView
let fibView = PayWithFIBView()
PayWithFIBView سێ شێوازی هەیە:
1.Configure ́pine: دەتوانیت بە بێ وێنە قسە بکەیت.
Configure
configure(fibApplicationURLs: [FIBApplicationURLType], delegate: FIBPaymentManagerDelegate?)
Configure دوو نیشانەی هەیە:
ئهی .fibApplicationURLs ́pine: ئەمە جۆرێکە لە جۆریFIBApplicationURLType ئێمە چاوەڕوانی ئەوە دەکەین کە هەموو لینكهكانی ئەپەکانی FIB بۆ ئەم ڕێگایە بنێردرێن؛
fibApplicationURLs
FIBApplicationURLType
بی .delegate ́pine: ئەمە نموونەیەکە لە جۆریFIBPaymentManagerDelegate? کە پێویستە لەگەڵیدا بگونجێت بۆ ئەوەی ئاگادار بکرێتەوە لە هەندێک زانیاری زیاتر لەسەر مامەڵەکە.
delegate
FIBPaymentManagerDelegate?
FIBPaymentManagerDelegate دوو ڕێگا هەیە کە دەتوانیت جێبەجێی بکەیت:
FIBPaymentManagerDelegate
I.paymentCanceled ́pine: ئەمە بانگ دەکرێت کاتێک پارەیەکی دیاریکراو هەڵدەوەشێنیتەوە.
paymentCanceled
func paymentCanceled(paymentID: String):
2.didReceive : ئەم یەکە بانگ دەکرێت هەر جارێک کە دەتەوێت دەست بە پارەدانی FIB بکەیت یان دۆخی پارەدانێکی دیاریکراو بپشکنیت بەڵام هەڵەیەک لە APIRequest ڕوودەدات بۆ مامەڵەکردن لەگەڵ ئەم حاڵەتانە پێویستە ئەمە جێبەجێ بکەیت بۆ مامەڵەکردن لەگەڵ هەریەکەیانerror لەوانەیە ئەوە ڕووبدات.
didReceive
error
func didReceive(error: APIError):
هەڵەکە لە جۆریAPIError ئهوهیenum بۆ ئەوەی بتوانیت بزانیت هەڵەکە بەڕاستی چییە و بەپێی ئەو UI ـت نوێ بکەیتەوە. بەم کارە تۆ چالاک دەکەیتfibView بۆ ئەنجامدانی هەموو کاراییە پێویستەکان و پێشکەشکردن و ئاگادارکردنەوە بۆ ئاماژەدان بە بەکارهێنەر کە دەتوانێت بەرنامەکانی FIB بەردەست بکاتەوە.
APIError
enum
fibView
2.checkPaymentStatus ́pine: ئەمە شێوازێکی ترە بۆPayWithFIBView بەکاردێت بۆ پشکنینی دۆخی پارەدانێکی دیاریکراو.
checkPaymentStatus
public func checkPaymentStatus(paymentID: String, completion: @escaping (PaymentStatusType?) -> Void)
checkPaymentStatus دوو نیشانەی هەیە:
ئهی .paymentID : ناسنامەیەک کە بەکاردێت بۆ نیشاندانی ئەوەی کە چ مامەڵەیەک پێویستە پشکنین بکەیت؛
paymentID
بی .completion ́pine: ئەو زانیاریانەت پێ دەبەخشێت دەربارەی دۆخەکە.
completion
3.cancelPayment ́pine: ئەمە شێوازێکی ترە بۆPayWithFIBView به کاردێت بۆ ههڵوهشاندنهوهی پارهیهکی دیاریکراو
cancelPayment
func cancelPayment(paymentID: String)
تکایە ئاگاداربە: تەنها پێویستە ئامرازی "هەڵوەشاندنەوەی پارەدان" بەکاربهێنیت بۆ وەستاندنی پارەدانی هەڵپەسێردراو یان بەردەوام، نابێت ئەم تایبەتمەندییە بەکاربهێنرێت بۆ گهڕاندنهوهی.
PayWithFIBView بۆ نموونە لە UI Button هەیە کە دەتوانیت تایبەتمەندی بکەیت بۆ نموونە:
fibView.button.setTitle( "any custom title", for: .normal)
دەتوانیت لۆژیکیەکە دیاری بکەیت بۆ مامەڵەکردن لەگەڵ پارەدان لەگەڵ خودی FIB، ئەگەر دەتەوێت SDK بەکاربهێنیت بەڵام دەتەوێت UI ی خۆت بەکاربهێنیت، ئێمە پشتگیریت دهكهین.ئێمە پۆلێکمان دروست کردووە کە دەتوانیت بەکاری بهێنیت بۆ مامەڵەکردن لەگەڵ هەموو لۆژیکیەکان، بەڵام دابینکردنی UI ی خۆت:
let fibPaymentManager: FIBPaymentManagerType init(fibPaymentManager: FIBPaymentManagerType = FIBPaymentManager()) { self.fibPaymentManager = fibPaymentManager fibPaymentManager.delegate = self }
وەک دەبیننFIBPaymentManagerType پرۆتۆکۆڵێکە وFIBPaymentManager ئەو پۆلەیە کە لەگەڵ ئەوەدا دەگونجێت، ئێمە ئەم پرۆتۆکۆڵەمان دابین کردووە بۆ ئەوەی ژیانت ئاسانتر بکەیت لە ڕووی تاقیکردنەوەوە.
FIBPaymentManagerType
FIBPaymentManager
1.openFIB : ئەمە بەرپرسیارە لە کردنەوەی ئهپهكانی FIB لەسەر بنەمای تێکردنت:
openFIB
func openFIB(_ applicationType: FIBApplicationURLType)
یەک پارامێتری هەیە کە بریتییە لەapplicationType : دەتوانیت تێپەڕبیت.personalURL("personal app link") یان.businessURL("business app link") یان.corporateURL("corporate app link") ۳- بە پشتبەستن بە زانیارییەکانی بەکارهێنەر بۆ تۆ.
applicationType
.personalURL("personal app link")
.businessURL("business app link")
.corporateURL("corporate app link")
2.checkPaymentStatus ́pine: ئەم بابەتە بەکاردێت بۆ دیاریکردنی دۆخی مووچە.
func checkPaymentStatus(paymentID: String, completion: @escaping ((PaymentStatusType?) -> Void))
دوو نیشانەی هەیە:
ئهی .paymentID : ناسنامەیەک کە بەکاردێت بۆ نیشاندانی ئەوەی کە چ مامەڵەیەک پێویستە پشکنین بکەیت؛ بی .completion ́pine: ئەو زانیاریانەت پێ دەبەخشێت دەربارەی دۆخەکە.
3.cancelPayment ́pine:: تۆ پەیوەندی بەم یەکەوه دەکەیت کاتێک دەتەوێت پارەیەکی دیاریکراو هەڵبوەشێنیتەوە.
وەک ئەوەی لە جەستەدا دەبینرێتinitializer ,fibPaymentManager خاوەنی موڵکێک بە ناویdelegate وە لە جۆریFIBPaymentManagerDelegate? کە پێویستە پەیڕەویان بکەیت و پەیڕەویان بکەیت.
initializer
fibPaymentManager
FIB-پارەدان-SDK لە ژێر مۆڵەتی MIT License ئازاد دەکرێت. بڕوانە مۆڵەت بۆ وردەکاری.
ئەم SDKە هەروەها هەڵبژاردەیەک لەخۆ دەگرێت بۆ ئاڕاستەکردنەوەی بەکارهێنەر لە بەرنامەکانی FIB بۆ ئەپەکەت- دەتوانیت بەرنامەکان دابین بکەیتredirect URI هه موو شتێک بۆ ئێوه چارهسهردهکرێت.
redirect URI
ههڵبژاردنه ئەم تایبەتمەندییە هەبێت، بۆیە ئەگەر تایبەتمەندی خۆت دابین بکەیتredirect URI دووبارە ئاڕاستەکردنەوەکە ڕوودەدات ئەگەر نا داواکارییەکانی FIB وەک ئاسایی ڕەفتار دەکەن.
سوپاست دەکەین! بە زووترین کات وەڵامت دەدەرێتەوە
ئەم وێبسایتە تایبەتمەندی کوکییەکان بەکاردەهێنێت بۆ ئەوەی بتوانین باشترین ئەزموونی بەکارهێنانت پێشکەش بکەین. زانیاری کوکییەکان لە وێبگەڕەکەتدا هەڵدەگیرێت و ئەرکەکانی وەك ناسینەوەت جێبەجێ دەکات کاتێك دەگەڕێیتەوە بۆ ماڵپەڕەکەمان وە بۆ یارمەتیدانی تیمەکەمانە بۆ تێگەیشتن لەوەی کام بەشی وێبسایتەکە زیاتر سەرنج ڕاکێش و بەسوودە بە تۆ.
پێویستە کوکی لە هەموو کاتێکدا چالاك بکرێت بۆ ئەوەی بتوانین تایبەتمەندییە پەسەندکراوەکانت بۆ ڕێکخستنەکانی کوکی پاشەکەوت بکەین.