- طلب HTTP
- نص الطلب
- نص الاستجابة
- RequestHeader
- الإصدار
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- ResponseHeader
- GetOrderDetailsResultCode
- الطلب
- السلعة
- الضريبة
يمكنك الحصول على طلب يوفّر الأساس لشركاء Google لتحصيل رسوم المستخدمين من المستخدمين النهائيين.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، ستكون الاستجابة من نقطة النهاية هذه من النوع
.ErrorResponse
قد تكون الردود على هذا الاستعلام فارغة إذا لم تعرض هذه الطريقة الخطأ HTTP 200. نص الاستجابة فارغ في الحالات التي قد يُستخدم فيها
مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب وحدة تكامل الدفع الذي تتعامل معه الشركات الأخرى التي تُجري عملية الدمج. في هذه الحالات، حيث لا يتطابق مفتاح التوقيع، أو لم يتم العثور على معرّف عملية دمج الدفعات، أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 مع نص فارغ. إذا كان من الممكن التحقّق من توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.ErrorResponse
يظهر مثال على الطلب على النحو التالي:
{
"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 |
مطلوب: معرّف حساب تكامل عمليات الدفع الذي يحدّد المتصل والقيود التعاقدية المرتبطة به لهذا التفاعل. |
orderLookupCriteria |
مطلوب: المعايير التي تشير إلى الترتيب الذي سيتم البحث عنه. |
requestOriginator |
اختياري: معلومات حول المؤسسة أو المجموعة الفرعية التنظيمية التي أنشأت هذا الطلب (في حال كانت شركة الدمج تتصل بنا نيابةً عن مؤسسة أخرى). |
نص الاستجابة
حمولة الاستجابة لطريقة getOrderDetails
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
result |
مطلوب: نتيجة هذه المكالمة. |
order |
اختياري: معلومات عن الطلب الذي تم الدفع بموجبه. (لا يتم عرضها إلا إذا كانت قيمة السمة |
RequestHeader
كائن العنوان المحدَّد في جميع الطلبات المُرسَلة إلى الخادم.
تمثيل JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
الحقول | |
---|---|
requestId |
مطلوب: المعرّف الفريد لهذا الطلب. هذه سلسلة يبلغ الحد الأقصى للطول 100 حرف، وتحتوي فقط على الأحرف "a-z" و"A-Z" و"0-9" و"":" و"-" و"_". |
requestTimestamp |
مطلوب: الطابع الزمني لهذا الطلب الذي تم تمثيله بالمللي ثانية منذ البداية. يجب أن يتحقّق المستلِم من أنّ الطابع الزمني هذا هو ± 60 ثانية من "الآن". إنّ الطابع الزمني لهذا الطلب غير ثابت عند إعادة المحاولة. |
userLocale |
غير مفعَّلة: يتم اختيار رمز لغة مكوّن من حرفَين أو ثلاثة أحرف بتنسيق ISO 639-2 Alpha 3 متبوعًا بواصلة ورمز بلد بتنسيق ISO 3166-1 Alpha-2، مثل "pt" أو "pt-BR" أو "fil" أو "fil-PH". يمكنك استخدام هذه المعلومات للمساعدة في توجيه حقول |
protocolVersion |
مطلوب: نسخة هذا الطلب. |
الإصدار
كائن الإصدار الذي هو شكل منظَّم لبنية إصدار a.b.c
الكلاسيكي. وتضمن توافق الإصدارات الرئيسية من الرقم نفسه. لاحظ أنه قد يتم تغيير القاصرين والمراجعات بشكل متكرر وبدون إشعار. يجب أن تقدّم شركة الدمج طلبات للإصدار الرئيسي نفسه.
تمثيل JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
الحقول | |
---|---|
major |
مطلوب: رقم الإصدار الرئيسي. يتم وضع علامة على هذا الطلب توافقًا مع طلبات التوافق مع الإصدارات المختلفة. |
minor |
مطلوب: إصدار ثانوي. يشير هذا إلى أنه تم إصلاح أخطاء كبيرة. |
revision |
مطلوب: إصدار ثانوي. ويدل ذلك على إصلاح أخطاء بسيطة. |
OrderLookupCriteria
معايير البحث في الطلبات
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد يمكن أن تكون السمة " |
|
dcb3CorrelationId |
يمكنك البحث استنادًا إلى رقم تعريف ارتباط DCB الذي أنشأته Google والذي يحدّد الدفعة بشكل فريد. أنشأت Google هذه القيمة وتم إرسالها إلى الشركة التي تُجري عملية دمج دفعات الفوترة لدى مشغّل شبكة الجوّال أثناء مكالمة Auth. |
arnCriteria |
البحث استنادًا إلى الرقم المرجعي للزاهي (ARN) |
googleTransactionReferenceNumberCriteria |
يمكنك البحث استنادًا إلى الرقم المرجعي لمعاملات Google. |
ArnCriteria
معايير البحث عن الدفعات استنادًا إلى الرقم المرجعي للزاهي (ARN)
تمثيل JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
الحقول | |
---|---|
acquirerReferenceNumber |
مطلوب: الرقم المرجعي للمصرف (ARN) الذي يحدّد الدفعة بشكل فريد. يجب أن يتألف المعرّف الضريبي من 23 رقمًا. |
authorizationCode |
مطلوب: رمز التفويض للمعاملة. |
GoogleTransactionReferenceNumberCriteria
معايير البحث عن الدفعات استنادًا إلى الرقم المرجعي للمعاملة الذي أنشأته Google
تمثيل JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
الحقول | |
---|---|
googleTransactionReferenceNumber |
مطلوب: الرقم المرجعي للمعاملة الذي أنشأته Google والذي يحدّد الدفعة بشكل فريد. |
authorizationCode |
مطلوب: رمز التفويض للمعاملة. |
RequestOriginator
معلومات عن المؤسسة أو المجموعة الفرعية التنظيمية التي نشأ منها هذا الطلب. يسمح هذا الإجراء لشركة Google بتحديد المشاكل أو حالات إساءة الاستخدام وتنفيذ عناصر التحكّم على مستوى أكثر دقة من سياسة paymentIntegratorAccountId
. وهو أمر مهم خصوصًا عندما يكون المتصل مقدِّم خدمة وسيطًا يحصل على الطلبات من العديد من العملاء الخارجيين.
تمثيل JSON |
---|
{ "organizationId": string, "organizationDescription": string } |
الحقول | |
---|---|
organizationId |
مطلوب: معرّف الشركة أو المؤسسة أو المجموعة التنظيمية التي نشأ منها هذا الطلب. يجب أن يكون فريدًا داخل |
organizationDescription |
مطلوب: يجب إدخال اسم أو وصف للمؤسسة يمكن استخدامه لتسهيل التواصل بين موظفي Google والشركة المتعهّدة بشأن تلك المؤسسة. |
ResponseHeader
كائن العنوان الذي يتم تحديده على جميع الاستجابات المُرسَلة من الخادم
تمثيل JSON |
---|
{ "responseTimestamp": string } |
الحقول | |
---|---|
responseTimestamp |
مطلوب: الطابع الزمني لهذا الرد ممثلاً بالمللي ثانية منذ البداية. يجب أن يتحقّق المستلِم من أنّ الطابع الزمني هذا هو ± 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 ( |
الحقول | |
---|---|
timestamp |
اختياري: طابع زمني لوقت إجراء الطلب، ويتم تمثيله بالمللي ثانية منذ البداية. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
orderId |
اختياري: سلسلة تحدد هذا الترتيب بشكل فريد. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
currencyCode |
اختياري: رمز العملة المكوَّن من 3 أحرف بتنسيق ISO 4217 لجميع المبالغ في هذا الترتيب. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
subTotalAmount |
اختياري: إجمالي مبلغ هذا الطلب قبل الضريبة، ممثلًا بوحدات المايكرو من العملة المحدّدة في |
totalAmount |
اختياري: إجمالي مبلغ هذا الطلب شاملاً الضريبة، ممثلًا بوحدات المايكرو من العملة المحدّدة في |
items[] |
مطلوب: قائمة العناصر التي كانت جزءًا من هذا الطلب. |
taxes[] |
اختياري: قائمة الضرائب التي كانت جزءًا من هذا الطلب. |
المنتج/الخدمة
معلومات عن سلعة معيّنة في الطلب
تمثيل JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
الحقول | |
---|---|
description |
اختياري: وصف للسلعة التي تم شراؤها. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
merchant |
مطلوب: يشير إلى بائع السلعة أو الفنّان أو الجهة المصنّعة لها. |
quantity |
اختياري: الكمية التي تمّ طلبها من هذا العنصر سيتم حذف هذا الحقل إذا كانت كميات الأعداد الصحيحة غير قابلة للتطبيق على المنتج (قد تتضمّن المنتجات الخاضعة للقياس كميات كسرية على سبيل المثال). |
totalPrice |
اختياري: السعر الإجمالي لهذا العنصر، ممثلًا بوحدات المايكرو من العملة المحدّدة في |
googleProductName |
مطلوب: اسم خدمة منتج Google للعنصر. |
ضريبة
معلومات عن الضريبة التي تسري على هذا الطلب.
تمثيل JSON |
---|
{ "description": string, "amount": string } |
الحقول | |
---|---|
description |
مطلوب: وصف للضريبة. |
amount |
مطلوب: مبلغ الضريبة، ممثلًا بوحدات المايكرو من العملة المحدّدة في |