- طلب HTTP
- نص الطلب
- نص الاستجابة
- RequestHeader
- الإصدار
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- الطلب
- العنوان
- السلعة
- الضريبة
- الدفع
- ردّ الأموال
- PaymentCardDetails
- AuthResult
يمكنك الحصول على تقرير يقدّم معلومات لتسهيل المحادثة مع أحد المستخدمين بشأن اعتراض محتمل على دفعة معيّنة.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، ستكون الاستجابة من نقطة النهاية هذه من النوع
.ErrorResponse
قد تكون الردود على هذا الاستعلام فارغة إذا لم تعرض هذه الطريقة الخطأ HTTP 200. نص الاستجابة فارغ في الحالات التي قد يُستخدم فيها
مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب وحدة تكامل الدفع الذي تتعامل معه الشركات الأخرى التي تُجري عملية الدمج. في هذه الحالات، حيث لا يتطابق مفتاح التوقيع، أو لم يتم العثور على معرّف عملية دمج الدفعات، أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 مع نص فارغ. إذا كان من الممكن التحقّق من توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.ErrorResponse
يظهر مثال على الطلب على النحو التالي:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA",
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
يظهر مثال على الرد على النحو التالي:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": "1517992525972",
"orderId": "SOP.8976-1234-1234-123456..99",
"currencyCode": "USD",
"subTotalAmount": "206990000",
"totalAmount": "212990000",
"shippingAddress": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": "6000000"
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": "198000000"
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": "8990000"
}
]
},
"payment": {
"billingAddress" : {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": "100000000",
"refunds": [
{
"amount": "9250000",
"initiatedTimestamp": "1518811245384"
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
طلب HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "requestHeader": { object ( |
الحقول | |
---|---|
requestHeader |
مطلوب: العنوان المشترك لجميع الطلبات. |
paymentIntegratorAccountId |
مطلوب: معرّف حساب تكامل عمليات الدفع الذي يحدّد المتصل والقيود التعاقدية المرتبطة به لهذا التفاعل. |
paymentLookupCriteria |
مطلوب: المعايير التي تشير إلى الدفعة التي سيتم البحث عنها في هذا الاستفسار. |
existingGoogleClaimId |
اختياري: سلسلة من إنشاء Google تم عرضها من خلال مكالمة سابقة إلى في حال عدم توفّر هذه المعلومات، سيتم إنشاء معرّف مطالبة جديد. قد يقدّم المتصل الرقم سيتم عرض رقم تعريف المطالبة الذي تتم تعبئته هنا أو تم إنشاؤه في حقل ليس صالحًا لتقديم |
requestOriginator |
مطلوب: معلومات عن المؤسسة أو المجموعة الفرعية التنظيمية التي أنشأت هذا الطلب. |
نص الاستجابة
حمولة الاستجابة لطريقة getDisputeInquiryReport
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
result |
مطلوب: نتيجة هذه المكالمة. |
googleClaimId |
اختياري: سلسلة من إنشاء Google وتُعرّف بشكل فريد اعتراض العميل هذا. (لا يتم عرضها إلا إذا كانت قيمة السمة إذا تمت تعبئة |
report |
اختياري: تفاصيل ذات صلة بالاعتراض على الدفعة المحدّدة في الطلب. (لا يتم عرضها إلا إذا كانت قيمة السمة |
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 |
مطلوب: إصدار ثانوي. ويدل ذلك على إصلاح أخطاء بسيطة. |
PaymentLookupCriteria
حاوية للمعايير التي يمكن أن تبحث عن دفعة بشكل فريد. يجب تعبئة حقل عضو واحد (وواحد فقط).
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد يمكن أن تكون السمة " |
|
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, "agentId": string } |
الحقول | |
---|---|
organizationId |
مطلوب: معرّف الشركة أو المؤسسة أو المجموعة التنظيمية التي نشأ منها هذا الطلب. يجب أن يكون فريدًا داخل |
organizationDescription |
مطلوب: يجب إدخال اسم أو وصف للمؤسسة يمكن استخدامه لتسهيل التواصل بين موظفي Google والشركة المتعهّدة بشأن تلك المؤسسة. |
agentId |
اختياري: معرّف فريد للوكيل المحدّد (الموظف) في المؤسسة الذي حدّده |
GetDisputeInquiryReportResultCode
نتيجة استدعاء الإجراء getDisputeInquiryReport
.
عمليات التعداد | |
---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية مطلقًا. |
SUCCESS |
تم العثور على الدفعة وتم تقديم تقرير. |
PAYMENT_NOT_FOUND |
لم يتم العثور على الدفعة المطلوبة. |
PAYMENT_TOO_OLD |
تم العثور على الدفعة المطلوبة، ولكن لم يتم تقديم تقرير بسبب المدة الزمنية للدفعة. |
ORDER_CANNOT_BE_RETURNED |
تنتمي الدفعة المطلوبة إلى طلب موجود ولكن لا يمكن إرجاعه. تشمل الأسباب الحالات التي تمت فيها إزالة الطلب بناءً على طلب مالكه. |
NO_ADDITIONAL_DETAILS |
تم العثور على الدفعة المطلوبة، ولكن لا يتوفر تقرير. |
PurchaseReport
تقرير يحتوي على التفاصيل ذات الصلة بعملية الشراء المرتبطة بالدفعة المطلوبة.
تمثيل JSON |
---|
{ "customerAccount": { object ( |
الحقول | |
---|---|
customerAccount |
مطلوب: معلومات حول العميل وحسابه. |
order |
مطلوب: معلومات تتعلق بالطلب الذي تم إجراء الدفع به. |
payment |
اختياري: معلومات تتعلّق بالدفع ملاحظة: يمكن تسديد عدة دفعات على طلب واحد، ولكن لن يتضمّن هذا القسم سوى معلومات الدفعة التي تم تحديدها في الطلب الأصلي. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
CustomerAccount
معلومات عن حساب العميل
تمثيل JSON |
---|
{ "customerEmail": string, "customerName": string } |
الحقول | |
---|---|
customerEmail |
مطلوب: عنوان البريد الإلكتروني المرتبط بحساب العميل على Google. |
customerName |
مطلوب: اسم العميل. |
طلب
معلومات عن الطلب
تمثيل JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
الحقول | |
---|---|
timestamp |
اختياري: طابع زمني لوقت إجراء الطلب، ويتم تمثيله بالمللي ثانية منذ البداية. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
orderId |
اختياري: سلسلة تحدد هذا الترتيب بشكل فريد. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
currencyCode |
اختياري: رمز العملة المكوَّن من 3 أحرف بتنسيق ISO 4217 لجميع المبالغ في هذا الترتيب. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
subTotalAmount |
اختياري: إجمالي مبلغ هذا الطلب قبل احتساب الضريبة، ويتمثل في ميكرو من العملة المحدّدة في |
totalAmount |
اختياري: إجمالي مبلغ هذا الطلب شاملاً الضريبة، ممثلًا في صورة ميكرو من العملة المحددة في |
shippingAddress |
اختياري: عنوان شحن السلع المادية في هذا الطلب |
items[] |
مطلوب: قائمة العناصر التي كانت جزءًا من هذا الطلب. |
taxes[] |
مطلوب: قائمة العناصر التي كانت جزءًا من هذا الطلب. قد تكون هذه القائمة فارغة. |
العنوان
هيكل معلومات حول العنوان.
تمثيل JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
الحقول | |
---|---|
name |
اختياري: اسم العميل الكامل. |
addressLine[] |
اختياري: يؤدي ذلك إلى الاحتفاظ بنص غير منظَّم. |
localityName |
اختياري: يُعدّ هذا اسمًا غير واضح، ولكنه يشير بشكل عام إلى جزء المدينة/البلدة من العنوان. في مناطق العالم التي لم يتم تعريف المناطق المحلية فيها بشكل جيد أو لا تتناسب مع هذا الهيكل جيدًا (مثل اليابان والصين)، اترك localName فارغًا واستخدم addressLine. أمثلة: مدينة في الولايات المتحدة، بلدية تكنولوجيا المعلومات، مدينة البريد في المملكة المتحدة. |
administrativeAreaName |
اختياري: قسم فرعي إداري عالي المستوى في هذا البلد" أمثلة: ولاية أمريكية أو منطقة تكنولوجيا المعلومات أو مقاطعة كولومبيا أو محافظة اليابان". |
postalCodeNumber |
اختياري: على الرغم من الاسم، غالبًا ما تكون قيم الرمز البريدي أحرف أبجدية رقمية. أمثلة: "94043"، "SW1W"، "SW1W 9TQ". |
countryCode |
اختياري: رمز بلد عنوان العميل، ومن المتوقّع أن يكون ISO-3166-1 Alpha-2. |
المنتج/الخدمة
معلومات عن سلعة معيّنة في الطلب
تمثيل JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
الحقول | |
---|---|
description |
اختياري: وصف للسلعة التي تم شراؤها. لا تتوفر هذه الخدمة لجميع أنواع الطلبات. |
merchant |
مطلوب: يشير إلى بائع السلعة أو الفنّان أو الجهة المصنّعة لها. |
quantity |
اختياري: الكمية التي تمّ طلبها من هذا العنصر سيتم حذف هذا الحقل إذا كانت كميات الأعداد الصحيحة غير قابلة للتطبيق على المنتج (قد تتضمّن المنتجات الخاضعة للقياس كميات كسرية على سبيل المثال). |
totalPrice |
اختياري: السعر الإجمالي لهذا العنصر، ممثلًا على شكل ميكرو من العملة المحدّدة في |
googleProductName |
مطلوب: اسم خدمة منتج Google للعنصر. |
ضريبة
معلومات عن الضريبة التي تسري على هذا الطلب.
تمثيل JSON |
---|
{ "description": string, "amount": string } |
الحقول | |
---|---|
description |
مطلوب: وصف للضريبة. |
amount |
مطلوبة: مبلغ الضريبة، ممثلة في صورة ميكرو من العملة المحدّدة في |
الدفع
معلومات عن الدفعة
تمثيل JSON |
---|
{ "billingAddress": { object ( |
الحقول | |
---|---|
billingAddress |
مطلوب: عنوان إرسال الفواتير لهذه الدفعة. |
amount |
مطلوب: مبلغ هذه الدفعة، كـ ميكرو من العملة المحدّدة في |
refunds[] |
مطلوب: قائمة بردّ الأموال المدفوعة في هذه الدفعة. قد تكون هذه القائمة فارغة. |
حقل الاتحاد يمكن أن تكون السمة " |
|
cardDetails |
اختياري: تفاصيل دفع خاصة بخيارات دفع بطاقات الائتمان والسحب الآلي. |
ردّ الأموال
معلومات عن ردّ الأموال المدفوعة في عملية دفع
تمثيل JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
الحقول | |
---|---|
amount |
مطلوب: المبلغ الذي تم رده، وهو عدد موجب من الميكرو بالعملة المحدّدة في |
initiatedTimestamp |
مطلوب: الطابع الزمني لوقت بدء عملية ردّ الأموال، ويتم تمثيله بالمللي ثانية منذ البداية. |
PaymentCardDetails
تفاصيل الدفع الخاصة ببطاقات الائتمان وبطاقات السحب الآلي
تمثيل JSON |
---|
{
"authResult": enum ( |
الحقول | |
---|---|
authResult |
مطلوب: مصادقة نتيجة الدفع. |
AuthResult
نتائج مصادقة الدفع
عمليات التعداد | |
---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية مطلقًا. |
APPROVED |
تمت الموافقة على المصادقة. |
DENIED |
تم رفض المصادقة. |
NOT_ATTEMPTED |
لم تتم محاولة المصادقة. |