Method: getOrderDetails

يمكنك الحصول على طلب يوفّر الأساس لشركاء Google لتحصيل الرسوم من المستخدمين النهائيين.

إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، سيكون الرد من نقطة النهاية هذه من النوع ErrorResponse.

قد تكون الردود على هذا الطلب فارغة إذا لم تعرض هذه الطريقة رمز HTTP 200. يكون نص الاستجابة فارغًا في الحالات التي قد يتم فيها استخدام ErrorResponse مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب شركة تكامل الدفع الخاص بالجهات المدمَجة الأخرى. في هذه الحالات، عندما يكون مفتاح التوقيع غير متطابق أو لم يتم العثور على معرّف وحدة تكامل الدفع أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 بدون نص. وإذا توفّرت إمكانية التحقّق من صحة توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.

إليك مثال على الطلب:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1519996751331"
  },
  "paymentIntegratorAccountId": "IntegratorFakeAccount",
  "orderLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City"
  }
}

يبدو الرد كمثال:


{
  "responseHeader": {
    "responseTimestamp": "1519996752221"
  },
  "result": "SUCCESS",
  "order": {
    "timestamp": "1517992525972",
    "orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
    "currencyCode": "USD",
    "subTotalAmount": "399000000",
    "totalAmount": "459000000",
    "taxes": [],
    "items": [
      {
        "description": "YouTube TV membership",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "399000000"
      },
      {
        "description": "Showtime",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "6000000"
      }
    ]
  }
}

طلب HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "orderLookupCriteria": {
    object (OrderLookupCriteria)
  },
  "requestOriginator": {
    object (RequestOriginator)
  }
}
الحقول
requestHeader

object (RequestHeader)

مطلوب: عنوان مشترك لجميع الطلبات.

paymentIntegratorAccountId

string

مطلوب: معرّف حساب وحدة تكامل الدفع الذي يحدّد المتصل والقيود التعاقدية ذات الصلة بهذا التفاعل.

orderLookupCriteria

object (OrderLookupCriteria)

مطلوب: المعايير التي تشير إلى الطلب الذي سيتم البحث فيه.

requestOriginator

object (RequestOriginator)

اختياري: معلومات عن المؤسسة أو المجموعة الفرعية التنظيمية التي أنشأت هذا الطلب (إذا كانت جهة الدمج تتصل بنا نيابةً عن مؤسسة أخرى)

نص الاستجابة

حمولة الاستجابة لطريقة getOrderDetails

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetOrderDetailsResultCode),
  "order": {
    object (Order)
  }
}
الحقول
responseHeader

object (ResponseHeader)

مطلوب: عنوان مشترك لجميع الردود.

result

enum (GetOrderDetailsResultCode)

REQUIRED: نتيجة هذه المكالمة.

order

object (Order)

اختياري: معلومات حول الطلب الذي تم إجراء الدفع وفقًا له. (تُعرض فقط إذا كان result ناجحًا فقط).

RequestHeader

كائن العنوان المحدَّد في جميع الطلبات المُرسَلة إلى الخادم

تمثيل JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
الحقول
requestId

string

مطلوب: المعرّف الفريد لهذا الطلب.

هذه سلسلة لا يزيد طولها عن 100 حرف، وتحتوي فقط على الأحرف "a-z" و"A-Z" و"0-9" و":" و"-" و"_".

requestTimestamp

string (int64 format)

مطلوب: يتم تمثيل الطابع الزمني لهذا الطلب بالمللي ثانية منذ تاريخ بدء حساب الفترة. من المفترض أن يتحقّق المُستلِم من أنّ هذا الطابع الزمني يتراوح بين 60 ثانية و"الآن". الطابع الزمني للطلب هذا غير ثابت عند إعادة المحاولة.

userLocale
(deprecated)

string

متوقف: رمز لغة مؤلف من حرفين أو ثلاثة أحرف بتنسيق ISO 639-2 Alpha 3، ويمكن اختياره بشكل اختياري متبوعًا بواصلة ورمز بلد بتنسيق ISO 3166-1 Alpha-2، مثل "pt" أو "pt-BR" أو "fil" أو "fil-PH". يمكنك استخدام هذه المعلومات لزيادة الحقول userMessage في الردّ.

protocolVersion

object (Version)

REQUIRED: نسخة هذا الطلب.

الإصدار

كائن الإصدار، وهو شكل منظَّم لبنية إصدار a.b.c الكلاسيكية. نضمن لك توافق الإصدارات الرئيسية التي لها الرقم نفسه. لاحظ أن المراجعات الثانوية والمراجعات يمكن أن تتغير بشكل متكرر وبدون إشعار. يجب أن تقدّم شركة الدمج جميع الطلبات الخاصة بالإصدار الرئيسي نفسه.

تمثيل JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
الحقول
major

integer

مطلوب: رقم الإصدار الرئيسي. ويتم وضع علامة على هذا الخيار بأنّه لا يمكن ضمان توافق طلبات التوافق مع الإصدارات المختلفة.

minor

integer

REQUIRED: الإصدار الثانوي. ويدل هذا على إصلاحات كبيرة للأخطاء.

revision

integer

REQUIRED: الإصدار الثانوي. يشير هذا إلى إصلاحات أخطاء بسيطة.

OrderLookupCriteria

معايير البحث عن الطلبات

تمثيل JSON
{

  // Union field criteria can be only one of the following:
  "dcb3CorrelationId": string,
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  }
  // End of list of possible types for union field criteria.
}
الحقول

حقل الاتحاد criteria.

يمكن أن يكون criteria واحدًا فقط مما يلي:

dcb3CorrelationId

string

ابحث استنادًا إلى معرّف ارتباط "الفوترة المباشرة لمشغِّل شبكة الجوَّال" الذي تُنشئه Google والذي يعرِّف الدفعة بشكلٍ فريد. أنشأت Google هذه القيمة وتم إرسالها إلى وحدة تكامل عمليات الدفع لمشغّل شبكة الجوّال أثناء مكالمة المصادقة.

arnCriteria

object (ArnCriteria)

يتم البحث استنادًا إلى الرقم المرجعي لصاحب الملكية (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

ابحث استنادًا إلى الرقم المرجعي لمعاملات Google.

ArnCriteria

معايير البحث عن الدفعات استنادًا إلى الرقم المرجعي للمستلم (ARN)

تمثيل JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
الحقول
acquirerReferenceNumber

string

مطلوب: الرقم المرجعي لمستلم الدفعة (ARN) الذي يعرّف الدفعة بشكل فريد. يجب أن يتألف المعرّف الضريبي من 23 رقمًا.

authorizationCode

string

مطلوب: رمز التفويض الخاص بالمعاملة.

GoogleTransactionReferenceNumberCriteria

معايير البحث عن الدفعات استنادًا إلى الرقم المرجعي للمعاملة الذي تنشئه Google

تمثيل JSON
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
الحقول
googleTransactionReferenceNumber

string

مطلوب: الرقم المرجعي للمعاملة الذي تنشئه Google، والذي يعرّف الدفعة بشكل فريد.

authorizationCode

string

مطلوب: رمز التفويض الخاص بالمعاملة.

RequestOriginator

معلومات عن المؤسسة أو المجموعة الفرعية التي نشأ منها هذا الطلب. ويتيح ذلك لشركة Google رصد المشاكل أو إساءة الاستخدام وتنفيذ عناصر التحكّم على مستوى أكثر دقة من paymentIntegratorAccountId. وتكون ذات قيمة خاصة عندما يكون المتصل مقدّم خدمة وسيطًا يصدر الطلبات من عدة عملاء خارجيين.

تمثيل JSON
{
  "organizationId": string,
  "organizationDescription": string
}
الحقول
organizationId

string

مطلوب: معرّف للشركة أو المؤسسة أو المجموعة التنظيمية التي نشأ منها هذا الطلب. يجب أن يكون فريدًا ضمن paymentIntegratorAccountId.

organizationDescription

string

مطلوب: هو اسم أو وصف سهل القراءة للمستخدم يمكن استخدامه لتسهيل التواصل بين موظفي Google والشركة المتعهّدة في ما يتعلّق بتلك المؤسسة.

ResponseHeader

كائن العنوان المحدَّد في جميع الاستجابات المُرسَلة من الخادم

تمثيل JSON
{
  "responseTimestamp": string
}
الحقول
responseTimestamp

string (int64 format)

مطلوب: يتم تمثيل الطابع الزمني لهذه الاستجابة بالمللي ثانية منذ تاريخ بدء حساب الفترة. من المفترض أن يتحقّق المُستلِم من أنّ هذا الطابع الزمني يتراوح بين 60 ثانية و"الآن".

GetOrderDetailsResultCode

نتيجة استدعاء طريقة getOrderDetails.

عمليات التعداد
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN لا تضبط هذه القيمة التلقائية على الإطلاق.
SUCCESS تم العثور على الطلب وإعادته.
ORDER_CANNOT_BE_RETURNED

الطلب المطلوب موجود ولكن لا يمكن إرجاعه. وتشمل الأسباب الحالات التي تتم فيها إزالة الطلب بناءً على طلب مالكه.

PAYMENT_TOO_OLD تم العثور على الدفعة المطلوبة، ولكن لم يتم تقديم تفاصيل الطلب بسبب انتهاء مدة الدفع.
PAYMENT_NOT_FOUND لم يتم العثور على الدفعة المطلوبة.
NO_ADDITIONAL_DETAILS تم العثور على الدفعة المطلوبة، ولكن تفاصيل الطلب غير متوفّرة.

طلب

معلومات حول الطلب

تمثيل JSON
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
الحقول
timestamp

string (int64 format)

OPTIONAL: الطابع الزمني لوقت تقديم الطلب، ويتم تمثيله بالملي ثانية منذ الحقبة غير متوفّر لبعض أنواع الطلبات.

orderId

string

OPTIONAL: سلسلة تعرّف على هذا الترتيب بشكلٍ فريد. غير متوفّر لبعض أنواع الطلبات.

currencyCode

string

اختياري: رمز العملة المكوَّن من 3 أحرف وفقًا لمعيار ISO 4217 لجميع المبالغ بهذا الترتيب. غير متوفّر لبعض أنواع الطلبات.

subTotalAmount

string (Int64Value format)

OPTIONAL: إجمالي مبلغ هذا الطلب قبل الضريبة، ويتم تمثيله بالميكروبات المحدَّدة في order.currencyCode. يساوي ذلك SUM(items.totalPrice). غير متوفّر لبعض أنواع الطلبات.

totalAmount

string (Int64Value format)

اختياري: إجمالي مبلغ هذا الطلب بما في ذلك الضريبة، والذي يتم تمثيله بالمايكرو للعملة المحدَّدة في order.currencyCode يساوي ذلك subTotalAmount + SUM(taxes.amount). غير متوفّر لبعض أنواع الطلبات.

items[]

object (Item)

مطلوب: قائمة بالعناصر التي كانت جزءًا من هذا الطلب.

taxes[]

object (Tax)

اختياري: قائمة الضرائب التي كانت جزءًا من هذا الطلب

المنتج/الخدمة

تمثّل هذه السمة معلومات حول سلعة متوفّرة في الطلب.

تمثيل JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
الحقول
description

string

اختياري: وصف للسلعة التي تم شراؤها. غير متوفّر لبعض أنواع الطلبات.

merchant

string

مطلوب: البائع أو الفنان أو صانع السلعة.

quantity

string (Int64Value format)

OPTIONAL: الكمية التي تم طلبها من هذه السلعة

سيتم حذف هذا الحقل إذا لم تكن الكميات الصحيحة سارية على المنتج (على سبيل المثال، قد تحتوي المنتجات التي تفرض تكلفة استخدام على كميات كسور).

totalPrice

string (Int64Value format)

اختياري: السعر الإجمالي لهذه السلعة، ويتم تمثيله بوحدات المايكرو للعملة المحددة في order.currencyCode. إذا تمّت تعبئة السمة quantity، يمثّل ذلك السعر الإجمالي للكمية بأكملها. غير متوفّر لبعض أنواع الطلبات.

googleProductName

string

مطلوب: اسم خدمة منتج Google للعنصر.

الضريبة

تشير هذه السمة إلى معلومات حول الضريبة التي تنطبق على هذا الطلب.

تمثيل JSON
{
  "description": string,
  "amount": string
}
الحقول
description

string

مطلوب: وصف الضريبة.

amount

string (Int64Value format)

مطلوبة: مبلغ الضريبة، ويتم تمثيله بوحدات المايكرو من العملة المحدّدة في order.currencyCode.