Method: getDisputeInquiryReport

يمكنك الحصول على تقرير يقدّم معلومات لتسهيل المحادثة مع أحد المستخدمين بشأن اعتراض محتمل على دفعة معيّنة.

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

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

يظهر مثال على الطلب على النحو التالي:


{
  "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": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
الحقول
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

paymentLookupCriteria

object (PaymentLookupCriteria)

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

existingGoogleClaimId

string

اختياري: سلسلة من إنشاء Google تم عرضها من خلال مكالمة سابقة إلى getDisputeInquiryReport تحدد بشكل فريد مطالبة هذا العميل باعتراضها.

في حال عدم توفّر هذه المعلومات، سيتم إنشاء معرّف مطالبة جديد. قد يقدّم المتصل الرقم googleClaimId بعد أن تم الرد عليه من خلال مكالمة سابقة إلى الرقم getDisputeInquiryReport، وذلك إذا كان هذا الطلب استمرارًا للاعتراض نفسه الذي قدّمه العميل.

سيتم عرض رقم تعريف المطالبة الذي تتم تعبئته هنا أو تم إنشاؤه في حقل googleClaimId للرد.

ليس صالحًا لتقديم googleClaimId والتي لم يتم عرضها من خلال مكالمة سابقة إلى getDisputeInquiryReport. في حال حدوث ذلك، سيتم عرض HTTP 400 طلب غير صالح.

requestOriginator

object (RequestOriginator)

مطلوب: معلومات عن المؤسسة أو المجموعة الفرعية التنظيمية التي أنشأت هذا الطلب.

نص الاستجابة

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

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

تمثيل JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
الحقول
responseHeader

object (ResponseHeader)

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

result

enum (GetDisputeInquiryReportResultCode)

مطلوب: نتيجة هذه المكالمة.

googleClaimId

string

اختياري: سلسلة من إنشاء Google وتُعرّف بشكل فريد اعتراض العميل هذا. (لا يتم عرضها إلا إذا كانت قيمة السمة result هي "ناجح").

إذا تمت تعبئة existingGoogleClaimId في الطلب، ستكون هذه القيمة هي نفسها. وبخلاف ذلك، ستكون قيمة تم إنشاؤها حديثًا. يمكن تقديم هذه القيمة في طلبات getDisputeInquiryReport المستقبلية إذا كانت جزءًا من اعتراض العميل نفسه.

report

object (PurchaseReport)

اختياري: تفاصيل ذات صلة بالاعتراض على الدفعة المحدّدة في الطلب. (لا يتم عرضها إلا إذا كانت قيمة السمة 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)

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

الإصدار

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

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

integer

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

minor

integer

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

revision

integer

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

PaymentLookupCriteria

حاوية للمعايير التي يمكن أن تبحث عن دفعة بشكل فريد. يجب تعبئة حقل عضو واحد (وواحد فقط).

تمثيل JSON
{

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

حقل الاتحاد criteria

يمكن أن تكون السمة "criteria" واحدة فقط مما يلي:

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,
  "agentId": string
}
الحقول
organizationId

string

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

organizationDescription

string

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

agentId

string

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

GetDisputeInquiryReportResultCode

نتيجة استدعاء الإجراء getDisputeInquiryReport.

عمليات التعداد
UNKNOWN_RESULT لا تضبط هذه القيمة التلقائية مطلقًا.
SUCCESS تم العثور على الدفعة وتم تقديم تقرير.
PAYMENT_NOT_FOUND لم يتم العثور على الدفعة المطلوبة.
PAYMENT_TOO_OLD تم العثور على الدفعة المطلوبة، ولكن لم يتم تقديم تقرير بسبب المدة الزمنية للدفعة.
ORDER_CANNOT_BE_RETURNED تنتمي الدفعة المطلوبة إلى طلب موجود ولكن لا يمكن إرجاعه. تشمل الأسباب الحالات التي تمت فيها إزالة الطلب بناءً على طلب مالكه.
NO_ADDITIONAL_DETAILS تم العثور على الدفعة المطلوبة، ولكن لا يتوفر تقرير.

PurchaseReport

تقرير يحتوي على التفاصيل ذات الصلة بعملية الشراء المرتبطة بالدفعة المطلوبة.

تمثيل JSON
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
الحقول
customerAccount

object (CustomerAccount)

مطلوب: معلومات حول العميل وحسابه.

order

object (Order)

مطلوب: معلومات تتعلق بالطلب الذي تم إجراء الدفع به.

payment

object (Payment)

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

CustomerAccount

معلومات عن حساب العميل

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

string

مطلوب: عنوان البريد الإلكتروني المرتبط بحساب العميل على Google.

customerName

string

مطلوب: اسم العميل.

طلب

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

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

string (int64 format)

اختياري: طابع زمني لوقت إجراء الطلب، ويتم تمثيله بالمللي ثانية منذ البداية. لا تتوفر هذه الخدمة لجميع أنواع الطلبات.

orderId

string

اختياري: سلسلة تحدد هذا الترتيب بشكل فريد. لا تتوفر هذه الخدمة لجميع أنواع الطلبات.

currencyCode

string

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

subTotalAmount

string (Int64Value format)

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

totalAmount

string (Int64Value format)

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

shippingAddress

object (Address)

اختياري: عنوان شحن السلع المادية في هذا الطلب

items[]

object (Item)

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

taxes[]

object (Tax)

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

العنوان

هيكل معلومات حول العنوان.

تمثيل JSON
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
الحقول
name

string

اختياري: اسم العميل الكامل.

addressLine[]

string

اختياري: يؤدي ذلك إلى الاحتفاظ بنص غير منظَّم.

localityName

string

اختياري: يُعدّ هذا اسمًا غير واضح، ولكنه يشير بشكل عام إلى جزء المدينة/البلدة من العنوان. في مناطق العالم التي لم يتم تعريف المناطق المحلية فيها بشكل جيد أو لا تتناسب مع هذا الهيكل جيدًا (مثل اليابان والصين)، اترك localName فارغًا واستخدم addressLine.

أمثلة: مدينة في الولايات المتحدة، بلدية تكنولوجيا المعلومات، مدينة البريد في المملكة المتحدة.

administrativeAreaName

string

اختياري: قسم فرعي إداري عالي المستوى في هذا البلد" أمثلة: ولاية أمريكية أو منطقة تكنولوجيا المعلومات أو مقاطعة كولومبيا أو محافظة اليابان".

postalCodeNumber

string

اختياري: على الرغم من الاسم، غالبًا ما تكون قيم الرمز البريدي أحرف أبجدية رقمية. أمثلة: "94043"، "SW1W"، "SW1W 9TQ".

countryCode

string

اختياري: رمز بلد عنوان العميل، ومن المتوقّع أن يكون ISO-3166-1 Alpha-2.

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

معلومات عن سلعة معيّنة في الطلب

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

string

اختياري: وصف للسلعة التي تم شراؤها. لا تتوفر هذه الخدمة لجميع أنواع الطلبات.

merchant

string

مطلوب: يشير إلى بائع السلعة أو الفنّان أو الجهة المصنّعة لها.

quantity

string (Int64Value format)

اختياري: الكمية التي تمّ طلبها من هذا العنصر

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

totalPrice

string (Int64Value format)

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

googleProductName

string

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

ضريبة

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

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

string

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

amount

string (Int64Value format)

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

الدفع

معلومات عن الدفعة

تمثيل JSON
{
  "billingAddress": {
    object (Address)
  },
  "amount": string,
  "refunds": [
    {
      object (Refund)
    }
  ],

  // Union field fopDetails can be only one of the following:
  "cardDetails": {
    object (PaymentCardDetails)
  }
  // End of list of possible types for union field fopDetails.
}
الحقول
billingAddress

object (Address)

مطلوب: عنوان إرسال الفواتير لهذه الدفعة.

amount

string (Int64Value format)

مطلوب: مبلغ هذه الدفعة، كـ ميكرو من العملة المحدّدة في order.currencyCode. ملاحظة: قد لا يتطابق هذا الرقم مع order.totalAmount إذا تم دفع رسوم الطلب من خلال عدة دفعات.

refunds[]

object (Refund)

مطلوب: قائمة بردّ الأموال المدفوعة في هذه الدفعة. قد تكون هذه القائمة فارغة.

حقل الاتحاد fopDetails

يمكن أن تكون السمة "fopDetails" واحدة فقط مما يلي:

cardDetails

object (PaymentCardDetails)

اختياري: تفاصيل دفع خاصة بخيارات دفع بطاقات الائتمان والسحب الآلي.

ردّ الأموال

معلومات عن ردّ الأموال المدفوعة في عملية دفع

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

string (Int64Value format)

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

initiatedTimestamp

string (int64 format)

مطلوب: الطابع الزمني لوقت بدء عملية ردّ الأموال، ويتم تمثيله بالمللي ثانية منذ البداية.

PaymentCardDetails

تفاصيل الدفع الخاصة ببطاقات الائتمان وبطاقات السحب الآلي

تمثيل JSON
{
  "authResult": enum (AuthResult)
}
الحقول
authResult

enum (AuthResult)

مطلوب: مصادقة نتيجة الدفع.

AuthResult

نتائج مصادقة الدفع

عمليات التعداد
UNKNOWN_RESULT لا تضبط هذه القيمة التلقائية مطلقًا.
APPROVED تمت الموافقة على المصادقة.
DENIED تم رفض المصادقة.
NOT_ATTEMPTED لم تتم محاولة المصادقة.