الرجاء عدم مشاركة معلومات بطاقتك مع أي شخص آخر، علماً أن FIB لن يطلب أبداً معلومات بطاقتك.

حزمة تطوير برامج الدفع لنظام iOS

حزمة تطوير برامج الدفع FIB هي مكتبة دفع تستخدم تطبيقات مصرف العراق الأول مكتوبة بلغة Swift، واستخدامها في تطبيق IOS الخاص بك يمكّن المستخدمين من شراء العناصر باستخدام تطبيقات مصرف العراق الأول

دليل المطور — FIB SDK لنظام iOS

تم إنشاء حزمة تطوير برامج الدفع FIB للسماح لك بدمج FIB كطريقة دفع مريحة داخل تطبيقك:

  1. بدء معاملة والسماح للمستخدمين بالدفع من خلال تطبيقات FIB (الشخصية والتجارية والمؤسسية)؛
  2. الحصول على حالة الدفع؛
  3. إلغاء المدفوعات.

الهاتف المحمول — مخطط حالة SDK

سيوضح هذا القسم التدفق المحتمل لاستخدام Mobiles-SDK لبدء معاملة واسترداد حالة المعاملة وإلغاء المعاملة.

1. بدء المعاملة

2. استرداد حالة الدفع من Mobile-SDK

3. إلغاء الدفع من Mobile-SDK

خصائص

فيما يلي ميزات iOS Payments SDK:

  1. إجراء معاملات الدفع باستخدام تطبيق مصرف العراق الأول FIB.
  2. تحقق من حالة المدفوعات التي تجريها.
  3. توفير واجهة مستخدم يمكنك استخدامها للتعامل مع المعاملات.
  4. توفير واجهة المستخدم المخصصة الخاصة بك ولكن بالاعتماد على المنطق الذي نوفره في هذا SDK.
  5. يدعم 3 تطبيقات لمصرف العراق الأول (الشخصي والتجاري والشركات).

ابدأ باستخدام FIB SDK لنظام iOS

FIB Payment SDK هي مكتبة دفع باستخدام تطبيق مصرف العراق الأول المكتوب بلغة Swift.

المتطلبات

  1. iOS 12.1+
  2. Xcode 11+
  3. Swift 5.0+

التثبيت

CocoaPods

هو مدير التبعيات لمشاريع Cocoa. للحصول على إرشادات الاستخدام والتثبيت، تفضل بزيارة موقعه على الويب. لدمجFIBPaymentSDK في مشروع Xcode الخاص بك باستخدام CocoaPods، حدده في Podfile

مثال على التعليمات البرمجية

نسخ تم النسخ
pod 'FIBPaymentSDK', '~> 1.1.1'

Swift Package Manager

إذا كنت ترغب في دمج SDK باستخدام Swift Package Manager، فما عليك سوى الانتقال إلىFile -> Swift Packages -> Add Package Dependency... ثم في البحث اكتبhttps://github.com/First-Iraqi-Bank/fib-ios-sdk.git ، عنوان URL لمستودع github هذا، ثم اختر الإصدار أو الفرع الذي تهتم به.

استخدام SDK

أول شيء ستحتاج إلى القيام به إذا كنت ترغب في استخدام SDK هذا هو وجود ملف قائمة خصائص في تطبيقك بهذا الاسم تحديدًا:FIBConfiguration.plist يحتوي هذا الملف على البيانات المطلوبة لكي يتمكن SDK من العمل. استبدل محتوى SDK بـ:

مثال على التعليمات البرمجية

نسخ تم النسخ
<?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>

نظرة عامة:FIBConfiguration.plist

1.accountId : هذا هوaccountId لحساب الأعمال الخاص بمصرف العراق الأول الذي يستقبل المدفوعات.

2. clientSecret: السر الذي سيتم إعطاؤك إياه للمصادقة عليك.

3.clientId : الهوية التي ستحصل عليها للتعرف عليك كعميل.

4.grantType : يُستخدم هذا أيضًا للمصادقة.

5.baseURLs : وbaseURLs الذي نستخدمه لتقديم طلبات واجهة برمجة التطبيقات لإنشاء الدفعة، ويحتوي حاليًا على خاصية واحدة فقط وهيfibPayGate .

يمكن أن تكون بوابة الدفع الخاصة بـ FIB إما:

1.Develop : التي يمكن استخدامها لأغراض الاختبار.

مثال على التعليمات البرمجية

نسخ تم النسخ
 https://fib.stage.fib.iq

2.production : التي ستستخدمها عند إصدار تطبيقك.

مثال على التعليمات البرمجية

نسخ تم النسخ
 https://fib.prod.fib.iq


لاستخدامFIBPaymentSDK ، تحتاج إلى استيراد:

مثال على التعليمات البرمجية

نسخ تم النسخ
import FIBPaymentSDK


بعد ذلك ستحتاج إلى إنشاء نسخة منPayWithFIBView :

مثال على التعليمات البرمجية

نسخ تم النسخ
let fibView = PayWithFIBView()


PayWithFIBView يحتوي على ثلاث طرق:

1.Configure : والتي يمكنك استدعاؤها لجعل العرض مستعصياً على الحل.

مثال على التعليمات البرمجية

نسخ تم النسخ
configure(fibApplicationURLs: [FIBApplicationURLType], delegate: FIBPaymentManagerDelegate?)

Configure يحتوي على معلمتين:

أ.fibApplicationURLs : هذه مصفوفة من النوعFIBApplicationURLType ، لذلك نتوقع إرسال جميع روابط تطبيقات FIB إلى هذه الطريقة؛

ب.delegate : هو مثيل من النوعFIBPaymentManagerDelegate? الذي تحتاج إلى الامتثال له لكي يتم إعلامك ببعض المعلومات الإضافية حول المعاملة.

FIBPaymentManagerDelegate يحتوي على طريقتين يمكنك تنفيذهما:

أولاً.paymentCanceled : يتم استدعاء هذا عند إلغاء دفعة محددة.

مثال على التعليمات البرمجية

نسخ تم النسخ
func paymentCanceled(paymentID: String):

ثانيًا.didReceive : سيتم استدعاء هذا في كل مرة تريد فيها بدء دفعة FIB أو التحقق من حالة دفعة معينة ولكن يحدث خطأ في طلب واجهة برمجة التطبيقات (APIRequest)، للتعامل مع هذه الحالات، ستحتاج إلى تنفيذ هذا للتعامل مع أيerror قد تحدث.

مثال على التعليمات البرمجية

نسخ تم النسخ
func didReceive(error: APIError):

الخطأ من نوعAPIError وهوenum حتى تتمكن من التحقق من ماهية الخطأ بالضبط وتحديث واجهة المستخدم الخاصة بك وفقًا لذلك. من خلال القيام بذلك، فإنك تمكنfibView للقيام بجميع الوظائف المطلوبة وتقديم تنبيه للإشارة إلى المستخدم بأنه يمكنه فتح تطبيقات FIB المتاحة.


2.checkPaymentStatus : إنها طريقة أخرى لـPayWithFIBView سيتم استخدامه للتحقق من حالة دفعة معينة.

مثال على التعليمات البرمجية

نسخ تم النسخ
public func checkPaymentStatus(paymentID: String, completion: @escaping (PaymentStatusType?) -> Void)

checkPaymentStatus يحتوي على معلمتين:

أ.paymentID : معرّف يُستخدم للإشارة إلى المعاملة التي تحتاج إلى التحقق منها;

ب.completion : والتي تمنحك ملاحظات حول الحالة.


3.cancelPayment : إنها طريقة أخرى لـPayWithFIBView سيتم استخدامه لإلغاء دفعة معينة.

مثال على التعليمات البرمجية

نسخ تم النسخ
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 هي الفئة التي تتوافق معه، لقد قدمنا هذا البروتوكول لتسهيل حياتك من حيث إمكانية الاختبار.


1.openFIB : هذا مسؤول عن فتح تطبيقات FIB بناءً على إدخالك:

مثال على التعليمات البرمجية

نسخ تم النسخ
func openFIB(_ applicationType: FIBApplicationURLType)

لديه معلمة واحدة وهي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 : يمكنك الاتصال بهذا عندما تريد إلغاء دفعة معينة.

مثال على التعليمات البرمجية

نسخ تم النسخ
func cancelPayment(paymentID: String)

كما ترون في نصinitializer ,fibPaymentManager لديه خاصية تسمىdelegate وهو من النوعFIBPaymentManagerDelegate? الذي تحتاج إلى التوافق معه وتنفيذ أساليبه.

الرخصة

يتم إصدار FIB-Payment-SDK بموجب ترخيص MIT. راجع الرخصة للحصول على التفاصيل.

إعادة التوجيه

يتضمن SDK هذا أيضًا خيارًا لإعادة توجيه المستخدم من تطبيقات FIB إلى تطبيقك، يمكنك توفير التطبيقاتredirect URI وسيتم التعامل مع كل شيء نيابة عنك.

من الاختياري الحصول على هذه الميزة، لذلك إذا قمت بتوفير الخاص بكredirect URI ، تحدث عملية إعادة التوجيه وإلا فإن تطبيقات FIB تتصرف كما تفعل عادةً.

مصرف العراق الأول - FIB
نظرة عامة على الخصوصية

يستخدم هذا الموقع الإلكتروني ملفات تعريف الارتباط حتى نتمكن من تزويدك بأفضل تجربة مستخدم ممكنة. تُخزَّن معلومات ملفات تعريف الارتباط في متصفحك وتؤدي وظائف مثل التعرف عليك عند العودة مجدداً إلى موقعنا الإلكتروني ومساعدة فريقنا على فهم أقسام الموقع التي تعتبر ذات أهمية وفائدة بالنسبة لك.