- المورد: الطلب
- الولاية
- BuyerAddress
- OrderDetails
- LineItem
- OneTimePurchaseDetails
- PreorderDetails
- RentalDetails
- SubscriptionDetails
- OfferPhase
- OfferPhaseDetails
- FreeTrialDetails
- IntroductoryPriceDetails
- BaseDetails
- ProrationPeriodDetails
- PaidAppDetails
- OrderHistory
- ProcessedEvent
- CancellationEvent
- RefundEvent
- RefundDetails
- RefundReason
- PartialRefundEvent
- الولاية
- PointsDetails
- الطُرق
المورد: Order
يحتوي مورد "الطلب" على معلومات شاملة عن معاملة تم إجراؤها على Google Play. وتتضمّن مجموعة متنوّعة من السمات التي توفّر تفاصيل حول الطلب نفسه والمنتجات التي تم شراؤها وسجلّ الأحداث المرتبطة بالطلب.
توفّر واجهات برمجة التطبيقات الخاصة بالطلبات إمكانية الوصول في الوقت الفعلي إلى بيانات طلباتك ضِمن منظومة Google Play المتكاملة. يمكنك استرداد معلومات وبيانات وصفية مفصّلة لكلّ من الطلبات لمرة واحدة والطلبات المتكرّرة، بما في ذلك تفاصيل المعاملات مثل الرسوم والضرائب وعمليات ردّ الأموال، بالإضافة إلى البيانات الوصفية مثل مراحل التسعير للاشتراكات. تتيح لك واجهات برمجة التطبيقات الخاصة بالطلبات إمكانية إعداد مهام مبرمَجة ذات صلة بإدارة الطلبات، ما يقلّل الحاجة إلى إجراء عمليات تحقّق يدوية من خلال Play Console.
في ما يلي بعض حالات استخدام واجهة برمجة التطبيقات هذه:
استرداد بيانات الطلبات في الوقت الفعلي: يمكنك الحصول على تفاصيل الطلبات وبياناتها الوصفية فور إتمام عملية الشراء باستخدام معرّف الطلب.
مزامنة تعديلات الطلبات: تتم مزامنة تعديلات الطلبات بشكل دوري للحفاظ على سجلّ محدّث لمعلومات الطلبات.
ملاحظة:
يتم احتساب عدد طلبات البيانات من واجهة Orders API ضمن حصة Play Developer API، والتي تبلغ تلقائيًا 200 ألف طلب يوميًا، وقد لا تكون كافية لمزامنة سجلات الطلبات الكبيرة.
يمكن استرداد 1,000 طلب كحدّ أقصى لكل مكالمة. ننصح باستخدام أحجام صفحات أكبر لتقليل استخدام الحصة. تحقَّق من حصتك في Cloud Console واطلب المزيد إذا لزم الأمر.
| تمثيل JSON |
|---|
{ "lineItems": [ { object ( |
| الحقول | |
|---|---|
lineItems[] |
العناصر الفردية التي يتألف منها هذا الطلب |
orderId |
معرّف الطلب |
purchaseToken |
الرمز المميز الذي يتم تقديمه إلى جهاز المستخدم عند شراء الاشتراك أو المنتج |
state |
تمثّل هذه السمة حالة الطلب. |
createTime |
الوقت الذي تم فيه إنشاء الطلب يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
lastEventTime |
تمثّل هذه السمة وقت وقوع آخر حدث في الطلب. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
buyerAddress |
معلومات العنوان الخاصة بالعميل، لاستخدامها في احتساب الضريبة عندما تكون Google هي التاجر المسؤول عن معالجة الطلب، يتم عرض البلد فقط. |
total |
المبلغ النهائي الذي يدفعه العميل، مع الأخذ في الاعتبار الخصومات والضرائب |
tax |
إجمالي الضريبة المدفوعة كجزء من هذا الطلب. |
orderDetails |
معلومات مفصّلة حول الطلب عند إنشائه. |
orderHistory |
تفاصيل حول الأحداث التي عدّلت الطلب. |
developerRevenueInBuyerCurrency |
يشير إلى أرباحك من هذا الطلب بعملة المشتري، بما في ذلك الخصومات من عمليات ردّ الأموال جزئيًا والضرائب والرسوم. تخصم Google من كل عملية بيع رسوم المعاملة العادية والرسوم التي تفرضها الجهات الخارجية، بما في ذلك ضريبة القيمة المضافة في بعض المناطق. |
pointsDetails |
نقاط Play Points المطبَّقة على الطلب، بما في ذلك معلومات العرض الترويجي ونسبة الخصم وقيم النقاط |
ولاية
تمثّل هذه السمة حالة الطلب.
| عمليات التعداد | |
|---|---|
STATE_UNSPECIFIED |
لم يتم تحديد الولاية. لا يتم استخدام هذه القيمة. |
PENDING |
تم إنشاء الطلب وهو في انتظار المعالجة. |
PROCESSED |
تمت معالجة الطلب بنجاح. |
CANCELED |
تم إلغاء الطلب قبل معالجته. |
PENDING_REFUND |
طلب استرداد الأموال في انتظار المعالجة. |
PARTIALLY_REFUNDED |
تم ردّ جزء من المبلغ المدفوع للطلب. |
REFUNDED |
تم ردّ المبلغ الكامل للطلب. |
BuyerAddress
معلومات العنوان الخاصة بالعميل، لاستخدامها في احتساب الضريبة
| تمثيل JSON |
|---|
{ "buyerState": string, "buyerCountry": string, "buyerPostcode": string } |
| الحقول | |
|---|---|
buyerState |
التقسيم الإداري الأعلى مستوى في بلد عنوان المشتري. لا يتم تضمين هذه المعلومات عندما تكون Google هي "التاجر المسجّل" في الطلب. |
buyerCountry |
رمز البلد المكوّن من حرفَين استنادًا إلى معيار ISO-3166-1 Alpha-2 (رموز البلدان التابعة للأمم المتحدة) |
buyerPostcode |
الرمز البريدي للعنوان لا يتم تضمين هذه المعلومات عندما تكون Google هي "التاجر المسجّل" في الطلب. |
OrderDetails
معلومات مفصّلة حول الطلب عند إنشائه.
| تمثيل JSON |
|---|
{ "taxInclusive": boolean } |
| الحقول | |
|---|---|
taxInclusive |
تشير هذه السمة إلى ما إذا كان السعر المُدرَج يشمل الضريبة أم لا. |
LineItem
تفاصيل عنصر
| تمثيل JSON |
|---|
{ "productTitle": string, "productId": string, "listingPrice": { object ( |
| الحقول | |
|---|---|
productTitle |
تمثّل هذه السمة اسم المنتج الذي حدّده المطوِّر. ويتم عرضها بلغة المشتري. مثال: العملات المعدنية والاشتراك الشهري وما إلى ذلك |
productId |
معرّف المنتج الذي تم شراؤه أو رمز التخزين التعريفي داخل التطبيق (على سبيل المثال، monthly001 أو com.some.thing.inapp1). |
listingPrice |
سعر العنصر المُدرَج على "متجر Play"، وقد يشمل الضريبة أو لا يشملها. يُستثنى من هذا السعر أي خصومات أو عروض ترويجية. |
total |
المبلغ الإجمالي الذي دفعه المستخدم مقابل هذا العنصر، مع الأخذ في الاعتبار الخصومات والضريبة |
tax |
الضريبة المدفوعة مقابل هذا العنصر |
حقل الدمج يمكن أن تكون |
|
oneTimePurchaseDetails |
تفاصيل عملية شراء لمرة واحدة |
subscriptionDetails |
تفاصيل عملية شراء اشتراك |
paidAppDetails |
تفاصيل عملية شراء تطبيق مدفوع |
OneTimePurchaseDetails
تفاصيل عملية شراء لمرة واحدة
| تمثيل JSON |
|---|
{ "quantity": integer, "offerId": string, "purchaseOptionId": string, "preorderDetails": { object ( |
| الحقول | |
|---|---|
quantity |
عدد السلع التي تمّ شراؤها (لعمليات شراء السلع بكميات متعدّدة). |
offerId |
معرّف العرض الترويجي للمنتج الذي يتم تحصيل سعره مرة واحدة. |
purchaseOptionId |
معرّف خيار الشراء يتم ضبط هذا الحقل لكل من خيارات الشراء وعروض الأسعار المتغيرة. بالنسبة إلى خيارات الشراء، يحدّد هذا المعرّف خيار الشراء نفسه. بالنسبة إلى عروض خيارات المنتج، يشير هذا المعرّف إلى خيار الشراء المرتبط، ويحدّد عرض خيار المنتج بالاشتراك مع offerId. |
preorderDetails |
تمثّل هذه السمة تفاصيل الطلب المُسبَق. يجب ضبط هذا الحقل فقط إذا كانت عملية الشراء عبارة عن طلب مُسبَق. |
rentalDetails |
تمثّل هذه السمة تفاصيل عملية شراء استئجار. يتم ضبط هذا الحقل فقط إذا كانت عملية الشراء عبارة عن استئجار. |
PreorderDetails
لا يتضمّن هذا النوع أي حقول.
تعرض هذه السمة تفاصيل عملية شراء طلب مُسبق.
RentalDetails
لا يتضمّن هذا النوع أي حقول.
تفاصيل عملية شراء تأجير
SubscriptionDetails
تفاصيل عملية شراء اشتراك
| تمثيل JSON |
|---|
{ "basePlanId": string, "offerId": string, "offerPhase": enum ( |
| الحقول | |
|---|---|
basePlanId |
معرّف الاشتراك في الخطة الأساسية. |
offerId |
معرّف العرض الترويجي للاشتراك الحالي. |
offerPhase |
مرحلة التسعير لمدّة الفوترة التي يتم تمويلها من خلال هذا الطلب تمّ الإيقاف. استخدِم offerPhaseDetails بدلاً من ذلك. |
offerPhaseDetails |
تفاصيل مرحلة التسعير لفترة الاستحقاق التي يموّلها هذا الطلب |
servicePeriodStartTime |
تمثّل هذه السمة بداية مدة الفوترة التي يتم تمويلها من خلال هذا الطلب. هذا هو الوقت الذي تبدأ فيه فترة الفوترة/الخدمة عند معالجة الطلب، ويجب استخدامه فقط لأغراض المحاسبة. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
servicePeriodEndTime |
تمثّل هذه السمة نهاية مدة الفوترة التي يموّلها هذا الطلب. هذا هو الوقت النهائي لفترة الفوترة/الخدمة في لحظة معالجة الطلب، ويجب استخدامه فقط لأغراض المحاسبة. للحصول على وقت انتهاء فترة خدمة الاشتراك الحالية، استخدِم purchases.subscriptionsv2.get. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
OfferPhase
مرحلة الأسعار لفترة الاستحقاق التي يموّلها هذا الطلب
| عمليات التعداد | |
|---|---|
OFFER_PHASE_UNSPECIFIED |
لم يتم تحديد مرحلة العرض. لا يتم استخدام هذه القيمة. |
BASE |
يوفّر الطلب الأموال اللازمة لفترة السعر الأساسي. |
INTRODUCTORY |
يوفّر الطلب أموالاً لفترة السعر التمهيدي. |
FREE_TRIAL |
يوفّر الطلب فترة تجريبية مجانية. |
OfferPhaseDetails
تفاصيل مرحلة التسعير لفترة الاشتراك التي يموّلها هذا الطلب
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الدمج phase_details تفاصيل مرحلة التسعير يمكن أن تكون phase_details إحدى القيم التالية فقط: |
|
freeTrialDetails |
يوفّر الطلب فترة تجريبية مجانية. |
introductoryPriceDetails |
يوفّر الطلب أموالاً لفترة السعر التمهيدي. |
baseDetails |
يوفّر الطلب الأموال اللازمة لفترة السعر الأساسي. |
prorationPeriodDetails |
يوفّر الطلب الأموال لفترة التوزيع النسبي. |
FreeTrialDetails
لا يتضمّن هذا النوع أي حقول.
تفاصيل مرحلة التسعير الخاصة بالفترة التجريبية المجانية
IntroductoryPriceDetails
لا يتضمّن هذا النوع أي حقول.
تفاصيل مرحلة السعر التمهيدي
BaseDetails
لا يتضمّن هذا النوع أي حقول.
تفاصيل مرحلة التسعير بالسعر الأساسي
ProrationPeriodDetails
تفاصيل فترة التناسب
يمكن أن تكون فترة التسوية فترة يتم احتسابها أثناء تغيير الخطة لتغطية الاستحقاقات الحالية (لمزيد من المعلومات، اطّلِع على السماح للمستخدمين بالترقية أو الرجوع إلى إصدار أقدم أو تغيير اشتراكهم)، أو فترة تسوية لمواءمة تواريخ تجديد الحزمة الإضافية مع تاريخ تجديد الخطة الأساسية (لمزيد من المعلومات، اطّلِع على القواعد السارية على السلع في عملية الشراء).
| تمثيل JSON |
|---|
{
"originalOfferPhase": enum ( |
| الحقول | |
|---|---|
originalOfferPhase |
تمثّل هذه السمة مرحلة العرض الترويجي الأصلية من العنصر الذي تم شراؤه إذا كانت فترة التوزيع النسبي تتضمّن أيًا منها. على سبيل المثال، قد تؤدي فترة التسوية النسبية من تغيير الخطة CHARGE_FULL_PRICE إلى دمج المرحلة الأولى من عرض الاشتراك في المنتج الجديد الذي اشتراه المستخدم. في هذه الحالة، سيتم ضبط مرحلة العرض الترويجي الأصلية هنا. |
linkedOrderId |
معرّف الطلب الأخير لعملية شراء الاشتراك الأصلية قبل تغيير الخطة. لا يتم ملء هذا الحقل إلا إذا كانت فترة التقسيم النسبي هذه ناتجة عن ترقية أو خفض مستوى اشتراك سابق، وتحمل مرحلة العرض الترويجي المتبقية من الطلب المرتبط بالاشتراك السابق. |
PaidAppDetails
لا يتضمّن هذا النوع أي حقول.
تفاصيل عملية شراء تطبيق مدفوع
OrderHistory
تفاصيل حول الأحداث التي عدّلت الطلب.
| تمثيل JSON |
|---|
{ "partialRefundEvents": [ { object ( |
| الحقول | |
|---|---|
partialRefundEvents[] |
تفاصيل أحداث ردّ جزء من الأموال لهذا الطلب |
processedEvent |
تفاصيل حول وقت معالجة الطلب |
cancellationEvent |
تفاصيل وقت إلغاء الطلب |
refundEvent |
تفاصيل الوقت الذي تم فيه ردّ الأموال المدفوعة في الطلب بالكامل |
ProcessedEvent
تفاصيل حول وقت معالجة الطلب
| تمثيل JSON |
|---|
{ "eventTime": string } |
| الحقول | |
|---|---|
eventTime |
الوقت الذي تمت فيه معالجة الطلب يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
CancellationEvent
تفاصيل وقت إلغاء الطلب
| تمثيل JSON |
|---|
{ "eventTime": string } |
| الحقول | |
|---|---|
eventTime |
الوقت الذي تم فيه إلغاء الطلب يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
RefundEvent
تفاصيل الوقت الذي تم فيه ردّ الأموال المدفوعة في الطلب بالكامل
| تمثيل JSON |
|---|
{ "eventTime": string, "refundDetails": { object ( |
| الحقول | |
|---|---|
eventTime |
الوقت الذي تم فيه ردّ الأموال المدفوعة في الطلب بالكامل يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
refundDetails |
تفاصيل ردّ الأموال بالكامل |
refundReason |
سبب ردّ الأموال المدفوعة في الطلب |
RefundDetails
تفاصيل حول ردّ جزء من الأموال أو كامل المبلغ
| تمثيل JSON |
|---|
{ "total": { object ( |
| الحقول | |
|---|---|
total |
المبلغ الإجمالي الذي تم ردّه، بما في ذلك الضريبة |
tax |
مبلغ الضريبة الذي تم ردّه |
RefundReason
سبب ردّ الأموال المدفوعة في الطلب
| عمليات التعداد | |
|---|---|
REFUND_REASON_UNSPECIFIED |
orders.refund reason unspecified. لا يتم استخدام هذه القيمة. |
OTHER |
تم ردّ أموال الطلب لسبب آخر غير الأسباب المدرَجة هنا. |
CHARGEBACK |
تمت المطالبة بالدفعة. |
PartialRefundEvent
تفاصيل أحداث ردّ جزء من الأموال لهذا الطلب
| تمثيل JSON |
|---|
{ "createTime": string, "processTime": string, "state": enum ( |
| الحقول | |
|---|---|
createTime |
الوقت الذي تم فيه إنشاء ردّ جزء من الأموال يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
processTime |
الوقت الذي تم فيه ردّ جزء من الأموال يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
state |
حالة ردّ جزء من الأموال |
refundDetails |
تفاصيل ردّ جزء من الأموال |
ولاية
حالة ردّ جزء من الأموال
| عمليات التعداد | |
|---|---|
STATE_UNSPECIFIED |
لم يتم تحديد الولاية. لا يتم استخدام هذه القيمة. |
PENDING |
تم إنشاء ردّ جزء من الأموال، ولكن لم تتم معالجته بعد. |
PROCESSED_SUCCESSFULLY |
تمّت معالجة عملية ردّ جزء من الأموال بنجاح. |
PointsDetails
تفاصيل تتعلّق بأي نقاط Play Points تم تطبيقها على طلب
| تمثيل JSON |
|---|
{
"pointsOfferId": string,
"pointsCouponValue": {
object ( |
| الحقول | |
|---|---|
pointsOfferId |
معرّف فريد لعرض Play Points المستخدَم في هذا الطلب. |
pointsCouponValue |
القيمة النقدية لقسيمة Play Points هذا هو الخصم الذي تقدّمه القسيمة، وقد لا يكون المبلغ الإجمالي. يتم ضبط هذا الحقل فقط عند استخدام قسائم Play Points. على سبيل المثال، إذا كانت القسيمة تمنح 100 نقطة مقابل دولارَين أمريكيَّين، تكون القيمة هي دولارَين أمريكيَّين. |
pointsDiscountRateMicros |
النسبة المئوية التي يخفّض بها العرض الترويجي في Play Points التكلفة. على سبيل المثال، إذا كانت القسيمة تمنح 100 نقطة مقابل دولارَين أمريكيَّين، يكون هذا الرقم 500,000. بما أنّ قيمة 2 دولار أمريكي تقدّر بـ 200 نقطة، ولكن النقاط الفعلية المطلوبة هي 100 نقطة، أي% 50 من هذا المبلغ، و% 50 من الميكرو هو 500,000. بين 0 و1,000,000 |
pointsSpent |
عدد نقاط Play Points المستخدَمة في هذا الطلب على سبيل المثال، إذا كانت القسيمة تمنح 100 نقطة مقابل دولارَين أمريكيَّين، تكون القيمة 100. بالنسبة إلى القسيمة المجمّعة مع العرض الأساسي، يشير هذا الحقل إلى إجمالي النقاط التي تمّ إنفاقها على كليهما. |
الطُرق |
|
|---|---|
|
الحصول على تفاصيل الطلبات لقائمة من الطلبات |
|
الحصول على تفاصيل طلب واحد |
|
يردّ هذا الإجراء الأموال المدفوعة مقابل اشتراك المستخدم أو طلب الشراء داخل التطبيق. |
رموز الخطأ
تعرض عمليات هذا المورد رموز خطأ HTTP التالية:
| رمز الخطأ | السبب | الدقة |
|---|---|---|
5xx |
حدث خطأ عام في خادم Google Play. | أعِد محاولة إرسال طلبك.
إذا استمرت المشكلة، يُرجى التواصل مع مدير حسابك على Google Play أو إرسال طلب دعم. ننصحك بالاطّلاع على لوحة البيانات الخاصة بحالة Play لمعرفة ما إذا كان هناك أي انقطاع معروف في الخدمة. |
409 |
حدث خطأ في تعديل التزامن.
حدثت محاولة لتعديل عنصر قيد التعديل. على سبيل المثال، يتم الإقرار بعملية شراء من خلال استدعاء الطريقة |
أعِد محاولة إرسال طلبك. |