Method: getDisputeInquiryReport

Ödemeyle ilgili olası bir anlaşmazlık konusunda kullanıcıyla müşteri desteği görüşmesini kolaylaştırmak için bilgi sağlayan 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 bir HTTP 200 döndürmezse bu sorguya verilen yanıtlar boş olabilir. Saldırganın, diğer entegratörlerin ödeme entegratörü hesap tanımlayıcılarını anlamasına yardımcı olmak için açık bir ErrorResponse açıklaması kullanılabileceği yanıt gövdesi boş. Bu durumlarda, imzalama anahtarının eşleşmediği, ödeme entegratör tanımlayıcısının bulunmadığı veya şifreleme anahtarının bilinmediği durumlarda bu yöntem boş gövdeye sahip 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 bir 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:


{
  "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 veriler 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 üstbilgi.

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 gösteren ölçütler.

existingGoogleClaimId

string

İSTEĞE BAĞLI: Bu müşteri itiraz hak talebini benzersiz şekilde tanımlayan önceki getDisputeInquiryReport çağrısıyla döndürülen, Google tarafından oluşturulan bir dize.

Mevcut değilse yeni bir hak talebi kimliği oluşturulur. Arayan, aynı müşteri itirazının devam etmesi durumunda önceki getDisputeInquiryReport çağrısıyla döndürülen bir googleClaimId sağlayabilir.

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

Önceki bir getDisputeInquiryReport çağrısıyla döndürülmeyen bir googleClaimId sağlamak için geçerli değildir. Böyle bir durumda, HTTP 400 Hatalı İsteği döndürülür.

requestOriginator

object (RequestOriginator)

GEREKLİ: Bu isteği gönderen kuruluş veya kuruluş alt grubu ile 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)

GEREKLİ: Bu aramanın sonucu.

googleClaimId

string

İSTEĞE BAĞLI: Bu müşteri itirazını benzersiz şekilde tanımlayan ve Google tarafından oluşturulan bir dize. (Yalnızca result BAŞARILI olduğunda sunulur.)

İstekte existingGoogleClaimId doldurulduysa bu değer aynı olur. Aksi takdirde yeni oluşturulan bir değer olur. Bu değer, aynı müşteri itirazının parçası olması durumunda gelecekteki getDisputeInquiryReport isteklerinde sağlanabilir.

report

object (PurchaseReport)

İSTEĞE BAĞLI: İstekte belirtilen ödemenin itirazıyla ilgili ayrıntılar. (Yalnızca result BAŞARILI olduğunda sunulur.)

ÖdemeAramaKriterleri

Ödemeleri benzersiz bir şekilde arayabilen ölçütler için kapsayıcı. Bir (ve yalnızca bir) üye alanının doldurulması gerekir.

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

Birlik alanı criteria.

criteria aşağıdakilerden yalnızca biri olabilir:

arnCriteria

object (ArnCriteria)

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

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 İstek Kimliği'ne göre arama yapın.

ArnÖlçütleri

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

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

string

GEREKLİ: Ödemeyi benzersiz şekilde tanımlayan, alıcı referans numarası (ARN). 23 haneli olmalıdır.

authorizationCode

string

GEREKLİ: İşlemin Yetkilendirme Kodu.

GoogleTransactionReferenceNumberÖlçütleri

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

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

string

GEREKLİ: Ödemeyi benzersiz şekilde tanımlayan ve Google tarafından oluşturulan işlem referans numarası.

authorizationCode

string

GEREKLİ: İşlemin Yetkilendirme Kodu.

Yakalamaİstek Kriterleri

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

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

string

GEREKLİ: Bu işlem için benzersiz bir tanımlayıcıdır. Bu, aranmakta olan capture çağrısı sırasında Google tarafından oluşturulan requestId.

İstek Oluşturucu

Kuruluş veya kuruluş alt grubu ve isteğe bağlı olarak bu isteğin geldiği çalışan hakkında bilgi. Bu sayede Google, sorunları ya da kötüye kullanımları tespit edebilir ve paymentIntegratorAccountId ürününden daha ayrıntılı düzeyde kontroller uygulayabilir. Bu, özellikle arayan kullanıcının birden çok harici müşteriden kaynak sağlayan bir aracı hizmet sağlayıcı olduğu durumlarda yararlıdır.

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

string

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

organizationDescription

string

ZORUNLU: Google'ın çalışanları ve söz konusu kuruluşla ilgili entegratör arasındaki iletişimi kolaylaştırmak için kullanılabilecek, kuruluşun okuyabileceği bir ad veya açıklama.

agentId

string

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

Anlaşmazlık RaporuSonuç Kodu Alın

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

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlama!
SUCCESS Ödeme bulundu ve bir rapor gönderildi.
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 edilemiyor. Bu nedenler arasında, sahibinin talebi üzerine siparişin kaldırılmasına neden olan durumlar yer alır.
NO_ADDITIONAL_DETAILS İstenen ödeme bulundu ancak rapor mevcut değil.

Satın Alma Raporu

İ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)

GEREKLİ: Müşteri ve müşterinin hesabı hakkında bilgiler.

order

object (Order)

GEREKLİ: Ö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 ilk istekte belirtilen ödemeyle ilgili bilgileri içerir. Tüm sipariş türleri için kullanılamaz.

MüşteriHesabı

Müşterinin hesabıyla ilgili bilgiler

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

string

GEREKLİ: Müşterinin Google hesabıyla ilişkili e-posta adresi.

customerName

string

GEREKLİ: 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 ne zaman verildiğini gösteren zaman damgası, dönemden beri milisaniye olarak gösterilir. 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 vergiden önceki toplam tutarı (order.currencyCode ile belirtilen para birimi cinsinden mikro olarak gösterilir). Bu, SUM(items.totalPrice) değerine eşittir. Tüm sipariş türleri için kullanılamaz.

totalAmount

string (Int64Value format)

İSTEĞE BAĞLI: order.currencyCode dahil olmak üzere bu siparişin toplam tutarı (vergi dahil) mikro olarak gösterilir. Bu, subTotalAmount + SUM(taxes.amount) değerine eşittir. Tüm sipariş türleri için kullanılamaz.

shippingAddress

object (Address)

İSTEĞE BAĞLI: Bu siparişteki fiziksel öğelerin gönderim adresi.

items[]

object (Item)

GEREKLİ: Bu siparişte yer alan öğelerin listesi.

taxes[]

object (Tax)

GEREKLİ: Bu siparişte yer alan öğelerin listesi. Bu liste boş olabilir.

Adres

Adresle ilgili bilgileri muhafaza etme yapısı

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: Bu, yapılandırılmamış Adres metnini içerir.

localityName

string

İSTEĞE BAĞLI: Bulanık terimdir ancak genellikle adresin şehir/kent bölümünü belirtir. Şehirlerin iyi tanımlanmadığı veya bu yapıya uygun olmadığı dünya bölgelerinde (örneğin, Japonya ve Çin), localityName alanını boş bırakın ve addressLine'ı kullanın.

Örnekler: ABD şehri, BT topluluğu, Birleşik Krallık'ın 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 ili, Japonya vilayeti."

postalCodeNumber

string

İSTEĞE BAĞLI: Adına rağmen, postaCodeNumber değerleri genellikle alfanümeriktir. Ö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

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

quantity

string (Int64Value format)

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

Ürün için tam sayı miktarı geçerli değilse bu alan atlanır (örneğin, ölçülen ürünlerde kesirli miktarlar olabilir).

totalPrice

string (Int64Value format)

İSTEĞE BAĞLI: Bu öğenin toplam fiyatı olup order.currencyCode içinde belirtilen para biriminin mikro cinsinden gösterilir. quantity doldurulursa bu değer, miktarın toplam fiyatını yansıtır. Tüm sipariş türleri için kullanılamaz.

googleProductName

string

ZORUNLU: Öğe için 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

GEREKLİ: Verginin açıklaması.

amount

string (Int64Value format)

GEREKLİ: order.currencyCode cinsinden belirtilen para biriminin mikro cinsinden 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)

GEREKLİ: Bu ödemenin fatura adresi.

amount

string (Int64Value format)

GEREKLİ: Bu ödemenin, order.currencyCode cinsinden belirtilen para biriminin mikro cinsinden gösterimi. Not: Sipariş birden fazla ödemeyle ödendiyse bu tutar order.totalAmount ile eşleşmeyebilir.

refunds[]

object (Refund)

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

Birlik alanı fopDetails.

fopDetails aşağıdakilerden yalnızca biri olabilir:

cardDetails

object (PaymentCardDetails)

İSTEĞE BAĞLI: Kredi ve banka kartı ödeme şekillerine özgü ödeme ayrıntıları.

Geri ödeme

Bir ödemeyle ilgili geri ödeme bilgileri.

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

string (Int64Value format)

GEREKLİ: Geri ödemenin tutarı. order.currencyCode ile belirtilen para biriminin pozitif mikro değeri.

initiatedTimestamp

string (int64 format)

GEREKLİ: Geri ödemenin ne zaman başladığını gösteren zaman damgası. Dönemden beri milisaniye olarak gösterilir.

Ödeme Kartı Ayrıntıları

Kredi ve banka kartlarına özel ödeme ayrıntıları.

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

enum (AuthResult)

ZORUNLU: Ödeme yetkilendirmesi sonucu.

AuthSonuç

Ödeme kimlik doğrulama sonuçları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlama!
APPROVED Kimlik Doğrulama Onaylandı.
DENIED Yetkilendirme reddedildi.
NOT_ATTEMPTED Kimlik doğrulaması yapılmadı.