الرجاء عدم مشاركة معلومات بطاقتك مع أي شخص آخر، علماً أن FIB لن يطلب أبداً معلومات بطاقتك.
تم إنشاء حزمة تطوير برامج الدفع FIB للسماح لك بدمج FIB كطريقة دفع مريحة داخل تطبيقك:
سيوضح هذا القسم التدفق المحتمل لاستخدام Mobiles-SDK لبدء معاملة واسترداد حالة المعاملة وإلغاء المعاملة.
فيما يلي ميزات iOS Payments SDK:
FIB Payment SDK هي مكتبة دفع باستخدام تطبيق مصرف العراق الأول المكتوب بلغة Swift.
هو مدير التبعيات لمشاريع Cocoa. للحصول على إرشادات الاستخدام والتثبيت، تفضل بزيارة موقعه على الويب. لدمجFIBPaymentSDK في مشروع Xcode الخاص بك باستخدام CocoaPods، حدده في Podfile
FIBPaymentSDK
Podfile
مثال على التعليمات البرمجية
pod 'FIBPaymentSDK', '~> 1.1.1'
إذا كنت ترغب في دمج SDK باستخدام Swift Package Manager، فما عليك سوى الانتقال إلىFile -> Swift Packages -> Add Package Dependency... ثم في البحث اكتبhttps://github.com/First-Iraqi-Bank/fib-ios-sdk.git ، عنوان URL لمستودع github هذا، ثم اختر الإصدار أو الفرع الذي تهتم به.
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. clientSecret: السر الذي سيتم إعطاؤك إياه للمصادقة عليك.
clientSecret
3.clientId : الهوية التي ستحصل عليها للتعرف عليك كعميل.
clientId
4.grantType : يُستخدم هذا أيضًا للمصادقة.
grantType
5.baseURLs : وbaseURLs الذي نستخدمه لتقديم طلبات واجهة برمجة التطبيقات لإنشاء الدفعة، ويحتوي حاليًا على خاصية واحدة فقط وهيfibPayGate .
baseURLs
fibPayGate
1.Develop : التي يمكن استخدامها لأغراض الاختبار.
Develop
https://fib.stage.fib.iq
2.production : التي ستستخدمها عند إصدار تطبيقك.
production
https://fib.prod.fib.iq
لاستخدامFIBPaymentSDK ، تحتاج إلى استيراد:
import FIBPaymentSDK
بعد ذلك ستحتاج إلى إنشاء نسخة منPayWithFIBView :
PayWithFIBView
let fibView = PayWithFIBView()
PayWithFIBView يحتوي على ثلاث طرق:
1.Configure : والتي يمكنك استدعاؤها لجعل العرض مستعصياً على الحل.
Configure
configure(fibApplicationURLs: [FIBApplicationURLType], delegate: FIBPaymentManagerDelegate?)
Configure يحتوي على معلمتين:
أ.fibApplicationURLs : هذه مصفوفة من النوعFIBApplicationURLType ، لذلك نتوقع إرسال جميع روابط تطبيقات FIB إلى هذه الطريقة؛
fibApplicationURLs
FIBApplicationURLType
ب.delegate : هو مثيل من النوعFIBPaymentManagerDelegate? الذي تحتاج إلى الامتثال له لكي يتم إعلامك ببعض المعلومات الإضافية حول المعاملة.
delegate
FIBPaymentManagerDelegate?
FIBPaymentManagerDelegate يحتوي على طريقتين يمكنك تنفيذهما:
FIBPaymentManagerDelegate
أولاً.paymentCanceled : يتم استدعاء هذا عند إلغاء دفعة محددة.
paymentCanceled
func paymentCanceled(paymentID: String):
ثانيًا.didReceive : سيتم استدعاء هذا في كل مرة تريد فيها بدء دفعة FIB أو التحقق من حالة دفعة معينة ولكن يحدث خطأ في طلب واجهة برمجة التطبيقات (APIRequest)، للتعامل مع هذه الحالات، ستحتاج إلى تنفيذ هذا للتعامل مع أيerror قد تحدث.
didReceive
error
func didReceive(error: APIError):
الخطأ من نوعAPIError وهوenum حتى تتمكن من التحقق من ماهية الخطأ بالضبط وتحديث واجهة المستخدم الخاصة بك وفقًا لذلك. من خلال القيام بذلك، فإنك تمكنfibView للقيام بجميع الوظائف المطلوبة وتقديم تنبيه للإشارة إلى المستخدم بأنه يمكنه فتح تطبيقات FIB المتاحة.
APIError
enum
fibView
2.checkPaymentStatus : إنها طريقة أخرى لـPayWithFIBView سيتم استخدامه للتحقق من حالة دفعة معينة.
checkPaymentStatus
public func checkPaymentStatus(paymentID: String, completion: @escaping (PaymentStatusType?) -> Void)
checkPaymentStatus يحتوي على معلمتين:
أ.paymentID : معرّف يُستخدم للإشارة إلى المعاملة التي تحتاج إلى التحقق منها;
paymentID
ب.completion : والتي تمنحك ملاحظات حول الحالة.
completion
3.cancelPayment : إنها طريقة أخرى لـPayWithFIBView سيتم استخدامه لإلغاء دفعة معينة.
cancelPayment
func cancelPayment(paymentID: String)
يرجى العلم أنه يجب عليك فقط استخدام أداة إلغاء الدفع لإيقاف دفعة معلقة أو جارية؛ ليس من المناسب استخدام هذه الميزة لاسترداد عنصر ما.
PayWithFIBView يحتوي على نسخة من زر واجهة المستخدم (UI Button) يمكنك تخصيصها على سبيل المثال هكذا:
fibView.button.setTitle( "any custom title", for: .normal)
يمكنك تعيين منطق معالجة الدفع باستخدام FIB بنفسك، إذا كنت ترغب في استخدام SDK ولكنك تريد استخدام واجهة المستخدم الخاصة بك، فنحن نوفر لك ذلك.لقد أنشأنا فئة يمكنك استخدامها للتعامل مع جميع العمليات المنطقية ولكن مع توفير واجهة المستخدم الخاصة بك:
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 : يستخدم هذا للتحقق من حالة دفعة معينة.
func checkPaymentStatus(paymentID: String, completion: @escaping ((PaymentStatusType?) -> Void))
لديه معلمتان:
أ.paymentID : معرّف يُستخدم للإشارة إلى المعاملة التي تحتاج إلى التحقق منها; ب.completion : والتي تمنحك ملاحظات حول الحالة.
3.cancelPayment : يمكنك الاتصال بهذا عندما تريد إلغاء دفعة معينة.
كما ترون في نصinitializer ,fibPaymentManager لديه خاصية تسمىdelegate وهو من النوعFIBPaymentManagerDelegate? الذي تحتاج إلى التوافق معه وتنفيذ أساليبه.
initializer
fibPaymentManager
يتم إصدار FIB-Payment-SDK بموجب ترخيص MIT. راجع الرخصة للحصول على التفاصيل.
يتضمن SDK هذا أيضًا خيارًا لإعادة توجيه المستخدم من تطبيقات FIB إلى تطبيقك، يمكنك توفير التطبيقاتredirect URI وسيتم التعامل مع كل شيء نيابة عنك.
redirect URI
من الاختياري الحصول على هذه الميزة، لذلك إذا قمت بتوفير الخاص بكredirect URI ، تحدث عملية إعادة التوجيه وإلا فإن تطبيقات FIB تتصرف كما تفعل عادةً.
شكرا لك!. سنقوم بالرد عليك على الفور
يستخدم هذا الموقع الإلكتروني ملفات تعريف الارتباط حتى نتمكن من تزويدك بأفضل تجربة مستخدم ممكنة. تُخزَّن معلومات ملفات تعريف الارتباط في متصفحك وتؤدي وظائف مثل التعرف عليك عند العودة مجدداً إلى موقعنا الإلكتروني ومساعدة فريقنا على فهم أقسام الموقع التي تعتبر ذات أهمية وفائدة بالنسبة لك.
يجب تمكين ملف تعريف الارتباط الضروري في جميع الأوقات حتى نتمكن من حفظ أفضلية إعدادات ملفات تعريف الارتباط الخاصة بك.