اذهب إلى المحتوى
  • 0

حل مشكلة "invalid ability provided" عند استخدام Apple Pay في React Native

أحمد عبد الله2

السؤال

السلام عليكم اقوم بعمل ابل باي ف التطبيق واستطيع الدفع بصورة صحيحة عن طريق التطبيق ف ال dev ولكن عندما قدمت التطبيق للمراجعة وتمت الموافقة عليه واحاول الدفع تظهر لي هذه الرسالة 

 

e01f2883-be0c-4375-b870-78bbd7f210bc.jpeg.9c74c2b8fabb3d011a39a25f9e13f623.jpeg

 

ما المشكلة ؟
انا استخدم React native 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

هناك عدة أسباب لذلك:

  1. لم تقم بتمكين Apple Pay في إعدادات تطبيقك.
  2. لم تضف الأذونات المناسبة لـ Apple Pay إلى ملف Info.plist الخاص بتطبيقك.
  3. لم تقم بتنفيذ رمز Apple Pay بشكل صحيح في تطبيقك.

عليك أولاً التحقق من تمكين Apple Pay في إعدادات تطبيقك، عن طريق فتح مشروع Xcode الخاص بتطبيقك والانتقال إلى ملف Info.plist، وفي ملف Info.plist، ابحث عن المفتاح ApplePay وتأكد من أنه مضبوط على YES.

وإذا تم تمكين Apple Pay في إعدادات تطبيقك، ولكن لا تزال تواجه رسالة الخطأ "invalid ability provided"، فيجب عليك التحقق من أنك قد أضفت الأذونات المناسبة لـ Apple Pay إلى ملف Info.plist، وتستطيع فعل ذلك عن طريق إضافة الأذونات التالية إلى ملف Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>
<key>NSApplePayPaymentAuthorization</key>
<array>
  <string>com.apple.developer.in-app-payments</string>
</array>

وبمجرد أن تقوم بإضافة الأذونات المناسبة لـ Apple Pay إلى ملف Info.plist.

وأيضًا تأكد من استخدام أحدث إصدار من React Native، وأحدث إصدار من Apple Pay SDK.

وهل قمت بإضافة الـ Merchant ID والشهادات المطلوبة؟ وبالنسبة للشهادات إليك طريقة إنشائها:

1_CprnhugRpx4jETLB5pX4Cg.png.9928733f6ecde4632e937eefb0da356e.png

1_lbgOLOkZ0ml23xO8uRnK_Q.png.494ba3fde79da8256513e4493165fddb.png

وأنصحك بالبحث عن How to implement Apple Pay in React Native Apps وستجد شرح واضح لكيفية فعل ذلك عن طريق مكتبة react-native-payments.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

يجب عليك تحديد هذا ضمن التطبيق الخاص بك، في الصنف CheckForAnyAbility، تحقق من هذا الصنف ستجد فيه المكان الذي يتم فيه رمي هذا الاستثناء الذي يسبب رسالة الخطأ الظاهرة، يمكنك فقط مسحه في حال كنت تريد لجميع المستخدمين المسجلين القدرة على القيام بهذه العملية.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك عدة أسباب محتملة لهذه المشكلة:

  • تطبيق التطوير وتطبيق الإنتاج يستخدمان إصدارات مختلفة من مكتبة React Native Payments، مما يؤدي للخطأ. يجب أن يكون الإصدار واحد في التطبيقين. 
  • معرف التاجر (Merchant ID) المستخدم في تطبيق الإنتاج ليس نفسه المستخدم في حساب App Store Connect. يجب أن يكونا متطابقين تمامًا.
  •  شهادة الإشعارات المستخدمة في تطبيق الإنتاج غير صحيحة أو غير نشطة. يجب أن تكون الشهادة سارية الصلاحية ومرتبطة بنفس المعرف. 
  • خيار "Apple Pay" لم يتم تفعيله ضمن المهام المتاحة في حساب تطبيق الإنتاج على App Store Connect.
  • قد يكون هناك خطأ برمجي صغير فقط في تطبيق الإنتاج يسبب هذه المشكلة.

لحل المشكلة، يجب:

  •  التأكد من إصدار مكتبة React Native Payments المستخدم
  •  التأكد من معرف التاجر وشهادة الإشعارات في تطبيق الإنتاج
  • تفعيل خيار "Apple Pay" ضمن المهام المتاحة
  •  التأكد من عدم وجود أخطاء برمجية
  •  Rebuild  البروجيكت وتنظيف الكاش كحل أخير
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 9‏/6‏/2023 at 11:30 قال Mustafa Suleiman:

 

عليك أولاً التحقق من تمكين Apple Pay في إعدادات تطبيقك، عن طريق فتح مشروع Xcode الخاص بتطبيقك والانتقال إلى ملف Info.plist، وفي ملف Info.plist، ابحث عن المفتاح ApplePay وتأكد من أنه مضبوط على YES.

وإذا تم تمكين Apple Pay في إعدادات تطبيقك، ولكن لا تزال تواجه رسالة الخطأ "invalid ability provided"، فيجب عليك التحقق من أنك قد أضفت الأذونات المناسبة لـ Apple Pay إلى ملف Info.plist، وتستطيع فعل ذلك عن طريق إضافة الأذونات التالية إلى ملف Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>
<key>NSApplePayPaymentAuthorization</key>
<array>
  <string>com.apple.developer.in-app-payments</string>
</array>

وبمجرد أن تقوم بإضافة الأذونات المناسبة لـ Apple Pay إلى ملف Info.plist.

 

 

هل اقوم بوضع هذا النص كما هو بهذا الشكل 
com.apple.developer.in-app-payments

ام يجب ان اسبتدله بشي اخر ؟

 

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...