Method: getDisputeInquiryReport

Ödemeyle ilgili olası anlaşmazlıklar hakkında kullanıcıyla yapacağınız müşteri desteği görüşmelerini kolaylaştıran bilgiler sunan bir rapor alın.

Uç nokta, isteği işlerken bir hatayla karşılaşırsa bu uç noktadan gelen yanıt ErrorResponse türünde olur.

Bu yöntem HTTP 200 döndürmezse bu sorguya verilen yanıtlar boş olabilir. Açık açıklamaya sahip bir ErrorResponse, saldırganların diğer entegratörlerin ödeme entegrasyon hesap tanımlayıcılarını anlamasına yardımcı olmak için kullanılabileceği durumlarda yanıt gövdesi boştur. İmzalama anahtarının eşleşmediği, ödeme entegratörü tanımlayıcısının bulunamadığı veya şifreleme anahtarının bilinmediği durumlarda bu yöntem, gövdesi boş bir HTTP 404 döndürür. İstek imzası doğrulanabilirse yanıt gövdesinde hatayla ilgili ek bilgiler döndürülür.

Örnek istek:


{
  "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"
  }
}

Örnek bir yanıt aşağıdaki gibidir:


{
  "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 isteği

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

İstek içeriği

İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:

JSON gösterimi
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Alanlar
requestHeader

object (RequestHeader)

ZORUNLU: Tüm istekler için ortak başlık.

paymentIntegratorAccountId

string

ZORUNLU: Arayanı ve bu etkileşim için ilişkili sözleşme kısıtlamalarını tanımlayan ödeme entegratörü hesap tanımlayıcısı.

paymentLookupCriteria

object (PaymentLookupCriteria)

ZORUNLU: Bu sorgu için aranacak ödemeyi belirten kriterler.

existingGoogleClaimId

string

İSTEĞE BAĞLI: Bu müşteri itirazı hak talebini benzersiz şekilde tanımlayan ve daha önce getDisputeInquiryReport için yapılan bir çağrı tarafından döndürülen, Google tarafından oluşturulmuş bir dize.

Mevcut değilse yeni bir hak talebi kimliği oluşturulur. Arayan kişi, aynı müşteri itirazının devamıysa getDisputeInquiryReport numaralı telefona daha önce yapılan bir aramanın döndürdüğü bir googleClaimId bilgisini verebilir.

Burada doldurulan veya oluşturulan hak talebi kimliği, yanıtın googleClaimId alanında döndürülür.

getDisputeInquiryReport numaralı telefona daha önce yapılan bir çağrı tarafından döndürülmeyen bir googleClaimId sağlamak geçerli değil. Bu durumda, HTTP 400 Hatalı İstek döndürülür.

requestOriginator

object (RequestOriginator)

ZORUNLU: Bu isteğin kaynağı olan kuruluş veya kuruluş alt grubuyla ilgili bilgiler.

Yanıt gövdesi

getDisputeInquiryReport yöntemi için yanıt yükü.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Alanlar
responseHeader

object (ResponseHeader)

ZORUNLU: Tüm yanıtlar için ortak başlık.

result

enum (GetDisputeInquiryReportResultCode)

ZORUNLU: Bu çağrının sonucu.

googleClaimId

string

İSTEĞE BAĞLI: Bu müşteri anlaşmazlığını benzersiz şekilde tanımlayan, Google tarafından oluşturulmuş bir dize. (Yalnızca result BAŞARILI ise ve bu durumda sunulur.)

İstekte existingGoogleClaimId doldurulmuşsa bu değer aynı olur. Aksi takdirde, yeni oluşturulmuş bir değer olacaktır. Bu değer, aynı müşteri anlaşmazlığının bir parçası olan gelecekteki getDisputeInquiryReport taleplerinde sağlanabilir.

report

object (PurchaseReport)

İSTEĞE BAĞLI: Talepte belirtilen ödeme itirazıyla ilgili ayrıntılar. (Yalnızca result BAŞARILI ise ve bu durumda sunulur.)

PaymentLookupCriteria

Benzersiz bir ödeme arayabilen ölçütlerin kapsayıcısıdır. Bir (yalnızca bir) üye alanı doldurulmalıdır.

JSON gösterimi
{

  // 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.
}
Alanlar

Birleştirme alanı criteria.

criteria şunlardan yalnızca biri olabilir:

arnCriteria

object (ArnCriteria)

İSTEĞE BAĞLI: Alıcı Referans Numarası'na (ARN) göre arama.

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

İSTEĞE BAĞLI: Google İşlem Referans Numarası'na göre arama yapın.

captureRequestCriteria

object (CaptureRequestCriteria)

İSTEĞE BAĞLI: Yakalama İsteği Kimliğine göre arama yapın.

ArnCriteria

Alıcı Referans Numarası'na (ARN) dayalı ödeme arama ölçütleri.

JSON gösterimi
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Alanlar
acquirerReferenceNumber

string

ZORUNLU: Ödemeyi benzersiz şekilde tanımlayan Alıcı Referans Numarası (ARN). 23 haneli olmalıdır.

authorizationCode

string

ZORUNLU: İşlem için Yetkilendirme Kodu.

GoogleTransactionReferenceNumberCriteria

Google tarafından oluşturulan İşlem Referans Numarası'na dayalı ödeme arama ölçütleri.

JSON gösterimi
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
Alanlar
googleTransactionReferenceNumber

string

ZORUNLU: Google tarafından oluşturulan ve ödemeyi benzersiz bir şekilde tanımlayan İşlem Referans Numarası'dır.

authorizationCode

string

ZORUNLU: İşlem için Yetkilendirme Kodu.

CaptureRequestCriteria

Orijinal yakalama isteğine dayalı ödeme arama ölçütleri.

JSON gösterimi
{
  "captureRequestId": string
}
Alanlar
captureRequestId

string

ZORUNLU: Bu işlem için benzersiz bir tanımlayıcı. Bu, aranmakta olan capture araması sırasında Google tarafından oluşturulan requestId'tir.

RequestOriginator

Bu talebin kaynağı olan kuruluş veya kuruluş alt grubu ve isteğe bağlı olarak çalışanla ilgili bilgiler. Bu sayede Google, sorunları veya kötüye kullanımı tespit edip paymentIntegratorAccountId'ye kıyasla daha ayrıntılı denetimler uygulayabilir. Bu, özellikle arayan kişinin, birden fazla harici istemciden gelen istekleri sağlayan bir aracı servis sağlayıcı olması durumunda kullanışlıdır.

JSON gösterimi
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
Alanlar
organizationId

string

ZORUNLU: Bu isteğin geldiği şirket, kuruluş veya kuruluş grubunun tanımlayıcısı. Bu paymentIntegratorAccountId içinde benzersiz olmalıdır.

organizationDescription

string

ZORUNLU: Kuruluşla ilgili olarak Google çalışanları ve entegrasyon uzmanı arasındaki iletişimi kolaylaştırmak için kullanılabilecek, kuruluşun kullanıcılar tarafından okunabilen adı veya açıklaması.

agentId

string

İSTEĞE BAĞLI: Bu isteğin kaynağı olan organizationId tarafından tanımlanan kuruluşun belirli aracısı (çalışan) için benzersiz bir tanımlayıcı. Bu organizationId içinde benzersiz olmalıdır.

GetDisputeInquiryReportResultCode

getDisputeInquiryReport yöntem çağrısının sonucu.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri asla ayarlamayın.
SUCCESS Ödeme bulundu ve bir rapor sağlanır.
PAYMENT_NOT_FOUND İstenen ödeme bulunamadı.
PAYMENT_TOO_OLD İstenen ödeme bulundu, ancak ödemenin yaşı nedeniyle rapor sağlanmadı.
ORDER_CANNOT_BE_RETURNED İstenen ödeme, mevcut bir siparişe ait, ancak iade edilemez. Nedenler arasında, sahibinin talebi üzerine mahkeme emrinin kaldırıldığı durumlar yer alır.
NO_ADDITIONAL_DETAILS İstenen ödeme bulundu, ancak rapor yok.

PurchaseReport

İstenen ödemeyle ilişkili satın alma işlemiyle ilgili ayrıntıları içeren bir rapor.

JSON gösterimi
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Alanlar
customerAccount

object (CustomerAccount)

ZORUNLU: Müşteri ve hesabıyla ilgili bilgiler.

order

object (Order)

ZORUNLU: Ödemenin yapıldığı siparişle ilgili bilgiler.

payment

object (Payment)

İSTEĞE BAĞLI: Ödemeyle ilgili bilgiler. Not: Tek bir siparişte birden çok ödeme yapılabilir. Ancak bu ödeme, yalnızca orijinal istekte belirtilen ödeme bilgilerini içerir. Tüm sipariş türleri için kullanılamaz.

CustomerAccount

Müşterinin hesabıyla ilgili bilgiler

JSON gösterimi
{
  "customerEmail": string,
  "customerName": string
}
Alanlar
customerEmail

string

ZORUNLU: Müşterinin Google hesabıyla ilişkilendirilmiş e-posta adresi.

customerName

string

ZORUNLU: Müşterinin adı.

Sipariş

Siparişle ilgili bilgiler.

JSON gösterimi
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
Alanlar
timestamp

string (int64 format)

İSTEĞE BAĞLI: Siparişin verildiği zamanı gösteren zaman damgası. Zaman damgasından bu yana geçen milisaniye cinsinden belirtilir. Tüm sipariş türleri için kullanılamaz.

orderId

string

İSTEĞE BAĞLI: Bu siparişi benzersiz şekilde tanımlayan bir dize. Tüm sipariş türleri için kullanılamaz.

currencyCode

string

İSTEĞE BAĞLI: Bu siparişteki tüm tutarlar için ISO 4217 3 harfli para birimi kodu. Tüm sipariş türleri için kullanılamaz.

subTotalAmount

string (Int64Value format)

İSTEĞE BAĞLI: Bu siparişin vergi öncesi toplam tutarı. order.currencyCode için belirtilen para biriminin mikro boyutu olarak gösterilir. Bu değer SUM(items.totalPrice) değerine eşit. Tüm sipariş türleri için kullanılamaz.

totalAmount

string (Int64Value format)

İSTEĞE BAĞLI: Bu siparişin vergi dahil toplam tutarı. order.currencyCode için belirtilen para biriminin mikros olarak gösterilir. Bu değer subTotalAmount + SUM(taxes.amount) değerine eşit. Tüm sipariş türleri için kullanılamaz.

shippingAddress

object (Address)

İSTEĞE BAĞLI: Bu siparişteki fiziksel ürünlerin gönderim adresi.

items[]

object (Item)

ZORUNLU: Bu siparişin bir parçası olan öğelerin listesi.

taxes[]

object (Tax)

ZORUNLU: Bu siparişin bir parçası olan öğelerin listesi. Bu liste boş olabilir.

Adres

Bir adresle ilgili bilgilerin bulunduğu yapı.

JSON gösterimi
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
Alanlar
name

string

İSTEĞE BAĞLI: Müşterinin tam adı.

addressLine[]

string

İSTEĞE BAĞLI: Yapılandırılmamış adres metni içerir.

localityName

string

İSTEĞE BAĞLI: Bu kesin olmayan bir terimdir, ancak genellikle adresin şehir/ilçe bölümünü belirtir. Dünyada konumların iyi tanımlanmadığı veya bu yapıya uygun olmadığı bölgelerde (örneğin, Japonya ve Çin), localityName'i boş bırakın ve addressLine'ı kullanın.

Örnekler: ABD şehri, BT komünü, Birleşik Krallık posta şehri.

administrativeAreaName

string

İSTEĞE BAĞLI: Bu ülkenin üst düzey idari alt bölümü" Örnekler: ABD eyaleti, BT bölgesi, CN eyaleti, JP idari bölgesi."

postalCodeNumber

string

İSTEĞE BAĞLI: Adına rağmen mailCodeNumber değerleri genellikle alfasayısaldır. Örnekler: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

İSTEĞE BAĞLI: ISO-3166-1 Alpha-2 olması beklenen müşteri adresi ülke kodu.

Öğe

Siparişteki bir öğeyle ilgili bilgiler.

JSON gösterimi
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
Alanlar
description

string

İSTEĞE BAĞLI: Satın alınan öğenin açıklaması. Tüm sipariş türleri için kullanılamaz.

merchant

string

ZORUNLU: Öğenin satıcısı, sanatçısı veya üreticisi.

quantity

string (Int64Value format)

İSTEĞE BAĞLI: Bu öğenin sipariş edilen miktar.

Tam sayı miktarları ürün için geçerli değilse bu alan atlanır (örneğin, sayaçlı ürünlerin kesirli miktarları olabilir).

totalPrice

string (Int64Value format)

İSTEĞE BAĞLI: Bu öğenin, order.currencyCode ile belirtilen para biriminin mikro boyutu olarak gösterilen toplam fiyatıdır. quantity doldurulursa tüm miktarın toplam fiyatını yansıtır. Tüm sipariş türleri için kullanılamaz.

googleProductName

string

ZORUNLU: Öğeyle ilgili Google ürün hizmetinin adı.

Vergi

Bu sipariş için geçerli olan vergiyle ilgili bilgiler.

JSON gösterimi
{
  "description": string,
  "amount": string
}
Alanlar
description

string

ZORUNLU: Vergiyle ilgili açıklama.

amount

string (Int64Value format)

ZORUNLU: order.currencyCode politikasında belirtilen para biriminin mikro olarak gösterilen vergi tutarı.

Ödeme

Ödemeyle ilgili bilgiler.

JSON gösterimi
{
  "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.
}
Alanlar
billingAddress

object (Address)

ZORUNLU: Bu ödeme için fatura adresi.

amount

string (Int64Value format)

ZORUNLU: Bu ödemenin, order.currencyCode içinde belirtilen para biriminin mikro olarak gösterilen tutarı. Not: Siparişin ödemesi birden fazla ödemeyle yapıldıysa bu tutar order.totalAmount ile eşleşmeyebilir.

refunds[]

object (Refund)

ZORUNLU: Bu ödemeye yapılan geri ödemelerin listesi. Bu liste boş olabilir.

Birleştirme alanı fopDetails.

fopDetails şunlardan yalnızca biri olabilir:

cardDetails

object (PaymentCardDetails)

İSTEĞE BAĞLI: Krediye özel ödeme ayrıntıları ve banka kartı FoP'leri.

Geri ödeme

Ödemede yapılan geri ödeme hakkında bilgi.

JSON gösterimi
{
  "amount": string,
  "initiatedTimestamp": string
}
Alanlar
amount

string (Int64Value format)

ZORUNLU: Geri ödenen tutar, order.currencyCode içinde belirtilen para biriminin pozitif mikro sayısıdır.

initiatedTimestamp

string (int64 format)

ZORUNLU: Geri ödemenin başlatıldığı zaman damgası (dönemden beri geçen milisaniye cinsinden belirtilir).

PaymentCardDetails

Krediye özel ödeme ayrıntıları banka kartları.

JSON gösterimi
{
  "authResult": enum (AuthResult)
}
Alanlar
authResult

enum (AuthResult)

ZORUNLU: Ödeme kimlik doğrulamasının sonucu.

AuthResult

Ödeme kimlik doğrulaması sonuçları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri asla ayarlamayın.
APPROVED Kimlik Doğrulama Onaylandı.
DENIED Yetkilendirme reddedildi.
NOT_ATTEMPTED Kimlik doğrulama girişiminde bulunulmadı.