رموز الخطأ والاستثناءات
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
الردود على أخطاء واجهة برمجة التطبيقات
يوضّح الجدول التالي رموز الخطأ التي قد تعرضها واجهة Google Wallet API والأسباب المحتمَلة لها وحلولها.
استثناء |
مثال على رسالة |
الاقتراح |
400 - BadRequestException |
يحتوي الطلب على وسيطة غير صالحة. معرّف المورد غير صالح: {1234567891234567899 - ABCD1234567}. |
تحقق من هيكل البيانات لمعرفة النوع والتنسيق والطول وتمرير الوسيطة الصحيحة. |
403 - PermissionDeniedException |
تم رفض الإذن |
تأكَّد من أنّ عنوان البريد الإلكتروني الصحيح لحساب الخدمة هو مستخدم مفوّض في Business Pay و"وحدة التحكّم في المحفظة". |
404 - NotFoundException |
لم يتم العثور على عنصر المحفظة {1234567891234567899.عيّنةClubCardxf6a8edf-87ca-4022-a813-694cc57e9fd3}. |
نفِّذ عملية GET على رقم تعريف العنصر قبل المحاولة قبل طلب PATCH أو PUT للتأكُّد من أنّ لديك عنصر تريد تعديله وأنّه هو الأحدث. |
404 - جهة إصدار المنتج فئة عدم العثور على استثناء |
فئة عنصر المحفظة {1234567891234567899.ABCD.1234567} غير موجودة. |
عند إجراء أي تعديل، احرِص على تنفيذ طلب GET قبل طلب PATCH أو PUT للتأكُّد من أنّه لديك صف للإشارة إلى أنّه آخر فئة. عليك التأكّد أيضًا من استخدام الحمولة الصحيحة (الكائن والفئة) في الطلب بشكل صحيح. |
409 - AlreadyExistsException |
فئة عنصر المحفظة {1234567891234567899.ABCD.1234567} موجودة بالفعل. |
نفِّذ عملية GET على رقم تعريف الفئة قبل محاولة إنشاء رقم تعريف الصف نفسه. في حال توفُّر المورد، قد تحتاج إلى استخدام PATCH أو PUT. |
رسائل خطأ مستندة إلى الويب
إذا حدث خطأ عند محاولة حفظ بطاقة باستخدام الرابط "الإضافة إلى محفظة Google"، ستظهر لك رسالة خطأ مفيدة لمساعدتك في تصحيح الأخطاء. لا تظهر هذه الرسائل إلا للمستخدمين الحاصلين على دور "المطوّر" أو "المشرف" في حساب "جهة الإصدار" المرتبط.
في ما يلي مثال على نوع رسالة الخطأ التي قد يتم عرضها:
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-09-03 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-03 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThis page explains the different error codes that may be returned by the Google Wallet API, including BadRequestException, PermissionDeniedException, NotFoundException, IssuerClassNotFoundException, and AlreadyExistsException.\u003c/p\u003e\n"],["\u003cp\u003eEach error code has an explanation for the possible causes and suggestions for solutions, focusing on data structure validation, service account authorization, object and class ID verification, and using appropriate HTTP methods like GET, PATCH, or PUT.\u003c/p\u003e\n"],["\u003cp\u003eThe table provides example error messages to help with troubleshooting, along with links to relevant documentation for further assistance.\u003c/p\u003e\n"],["\u003cp\u003eFor 'Add to Google Wallet' links, web-based error messages are displayed for users with 'Developer' or 'Admin' roles to assist with debugging, offering insights into the issue.\u003c/p\u003e\n"]]],["The Google Wallet API returns specific error codes: 400 (BadRequestException) indicates an invalid argument, requiring checks on data structure. 403 (PermissionDeniedException) means the service account lacks authorization. 404 (NotFoundException) signals a missing Wallet Object or Class, needing a GET request before PATCH/PUT actions. 409 (AlreadyExistsException) indicates an existing class, suggesting a GET request and potential PATCH/PUT instead of creating it again. Web errors are displayed to developers and admins.\n"],null,["# Error codes and exceptions\n\nAPI error responses\n-------------------\n\nThe following table explains error codes that mayn be returned by the Google Wallet API, their possible causes, and solutions.\n\n| Exception | Example Message | Suggestion |\n|------------------------------------|---------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 400 - BadRequestException | Request contains an invalid argument. Invalid resource ID: {1234567891234567899 - ABCD1234567}. | Check the data structure for type, format and length and pass the correct argument. |\n| 403 - PermissionDeniedException | Permission Denied | Ensure the correct [Service Account](https://developers.google.com/wallet/retail/loyalty-cards/web/prerequisites#4.-authorize-the-service-account) email is an authorized user within your Business Pay and Wallet Console. |\n| 404 - NotFoundException | Wallet Object {1234567891234567899.SampleClubCardxf6a8edf-87ca-4022-a813-694cc57e9fd3} not found. | Perform a [GET](https://developers.google.com/wallet/generic/rest/v1/genericclass/get#http-request) on the Object ID before trying before a [PATCH](https://developers.google.com/wallet/generic/rest/v1/genericclass/patch#http-request) or [PUT](https://developers.google.com/wallet/generic/rest/v1/genericclass/update#http-request) request to ensure you have an object to update and that it's the latest. |\n| 404 - IssuerClassNotFoundException | Wallet Object Class {1234567891234567899.ABCD.1234567} not found. | When performing an update , ensure you do a [GET](https://developers.google.com/wallet/generic/rest/v1/genericclass/get#http-request) request before a [PATCH](https://developers.google.com/wallet/generic/rest/v1/genericclass/patch#http-request) or [PUT](https://developers.google.com/wallet/generic/rest/v1/genericclass/update#http-request) request to ensure you have a class to reference that it's the latest class. Also ensure the correct payload (object and class) is being used in the request correctly. |\n| 409 - AlreadyExistsException | Wallet Object Class {1234567891234567899.ABCD.1234567} already exists. | Perform a [GET](https://developers.google.com/wallet/generic/rest/v1/genericclass/get#http-request) on the Class ID before trying to create the same Class ID. If the resource exists you may want to use [PATCH](https://developers.google.com/wallet/generic/rest/v1/genericclass/patch#http-request) or [PUT.](https://developers.google.com/wallet/generic/rest/v1/genericclass/update#http-request) |\n\nWeb-based error messages\n------------------------\n\nIf something goes wrong when you attempt to save a pass using an 'Add to Google Wallet' link, you will be shown an informative error message to help you debug. These messages are only shown to users that have the 'Developer' or 'Admin' role for the associated Issuer account.\n\nHere is an example of the type of error message that might be displayed:"]]