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 فقط.)

معايير البحث عن الدفعات

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

تمثيل JSON
{

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

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

لا يمكن أن يكون criteria سوى واحد مما يلي:

arnCriteria

object (ArnCriteria)

خطوة اختيارية: البحث عن الرقم استنادًا إلى الرقم المرجعي للمشتري (ARN)

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

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

captureRequestCriteria

object (CaptureRequestCriteria)

اختياري: ابحث عن التطبيق استنادًا إلى رقم تعريف طلب الالتقاط.

معايير الأرنب

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

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

string

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

authorizationCode

string

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

GoogleTransactionReferenceNumberNumbers

تعتمد معايير البحث عن الدفعات على الرقم المرجعي للمعاملة الذي أنشأته Google.

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

string

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

authorizationCode

string

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

معايير طلب الالتقاط

معايير البحث عن الدفعات استنادًا إلى طلب الالتقاط الأصلي

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

string

مطلوبة: معرّف فريد لهذه المعاملة هذه هي بطاقة requestId التي أنشأتها Google أثناء مكالمة capture التي يتم البحث عنها.

مصدر الطلب

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

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

string

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

organizationDescription

string

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

agentId

string

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

الحصول على الاعتراض على التقرير

نتيجة طلب الإجراء getDisputeInquiryReport

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

تقرير الشراء

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

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

object (CustomerAccount)

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

order

object (Order)

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

payment

object (Payment)

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

حساب العميل

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

تمثيل 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

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

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

administrativeAreaName

string

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

postalCodeNumber

string

اختياري: على الرغم من الاسم، غالبًا ما تكون قيم mailCodeNumber رقمية. على سبيل المثال: "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)

مطلوبة: مبلغ الضريبة الممثَّل micros للعملة المحدَّدة في 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)

مطلوب: مبلغ هذه الدفعة، يمثله micros من العملة المحدّدة في 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)

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

تفاصيل بطاقة الدفع

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

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

enum (AuthResult)

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

نتيجة المصادقة

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

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