Method: getDisputeInquiryReport

Ödemeyle ilgili olası bir anlaşmazlık hakkında kullanıcı ile müşteri desteği görüşmesini kolaylaştırmak için bilgiler içeren 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. Net bir açıklamaya sahip ErrorResponse, bir saldırganın diğer entegratörlerin ödeme entegratörü hesap tanımlayıcısı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 bu durumlarda bu yöntem, gövdesi boş olan bir HTTP 404 döndürür. İstek imzası doğrulanabildiyse yanıt gövdesinde hatayla ilgili ek bilgiler döndürülür.

Örnek bir istek şu şekilde görünür:


{
  "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 şöyle görünür:


{
  "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ıyla birlikte 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 başlık.

paymentIntegratorAccountId

string

ZORUNLU: Arayanı tanımlayan ödeme entegratörü hesap tanımlayıcısı ve bu etkileşimle ilgili sözleşme kısıtlamaları.

paymentLookupCriteria

object (PaymentLookupCriteria)

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

existingGoogleClaimId

string

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

Bu bilgi mevcut değilse yeni bir hak talebi kimliği oluşturulur. Arayan, getDisputeInquiryReport numaralı telefona yapılan önceki aramayla iade edilen googleClaimId numarasını sağlayabilir (bu, aynı müşteri anlaşmazlığının devamıysa).

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

getDisputeInquiryReport numarasına yapılan önceki bir çağrı tarafından döndürülmeyen bir googleClaimId sağlamak geçerli değildir. Bu durumda, HTTP 400 Hatalı İsteği döndürülür.

requestOriginator

object (RequestOriginator)

ZORUNLU: Bu isteği gönderen 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: Google tarafından oluşturulan ve bu müşteri anlaşmazlığını benzersiz şekilde tanımlayan bir dize. (Yalnızca result BAŞARILIysa sunun.)

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

report

object (PurchaseReport)

İSTEĞE BAĞLI: İstekte belirtilen ödeme anlaşmazlığıyla ilgili ayrıntılar. (Yalnızca result BAŞARILIysa sunun.)

RequestHeader

Sunucuya gönderilen tüm isteklerde tanımlanan başlık nesnesi.

JSON gösterimi
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Alanlar
requestId

string

ZORUNLU: Bu isteğin benzersiz tanımlayıcısı.

Bu dize en fazla 100 karakter uzunluğunda olup yalnızca "a-z", "A-Z", "0-9", ":", "-" ve "_" karakterlerinden oluşur.

requestTimestamp

string (int64 format)

ZORUNLU: Bu isteğin epoch'tan beri geçen milisaniye cinsinden zaman damgası. Alıcı, bu zaman damgasının "şimdi" ± 60 saniyesi olduğunu doğrulamalıdır. Bu istek zaman damgası yeniden denemelerden sonra eş değerde değil.

userLocale
(deprecated)

string

KULLANIMDAN KALDIRILDI: İsteğe bağlı olarak, kısa çizgi ve ISO 3166-1 Alpha-2 ülke kodundan oluşan iki veya üç harfli ISO 639-2 Alfa 3 dil kodu (ör. "pt", "pt-BR", "fil" veya "fil-PH"). Yanıttaki userMessage alanlarını artırmak için bunu kullanın.

protocolVersion

object (Version)

ZORUNLU: Bu isteğin sürümü.

Sürüm

Klasik a.b.c sürüm yapısının yapılandırılmış bir biçimi olan sürüm nesnesi. Aynı numaranın ana sürümlerinin uyumlu olması garanti edilir. Küçük çaplı ayarların ve düzeltmelerin sık sık ve önceden haber verilmeksizin değişebileceğini unutmayın. Entegre edici, aynı ana sürüme yönelik tüm istekleri desteklemelidir.

JSON gösterimi
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Alanlar
major

integer

ZORUNLU: Ana sürüm. Bu, farklı sürümlere sahip uyumluluk isteklerinin uyumlu olacağı garanti edilmediği için işaretlenir.

minor

integer

ZORUNLU: Alt sürüm. Bu, önemli hata düzeltmelerinin olduğunu gösterir.

revision

integer

ZORUNLU: Alt sürüm. Bu, küçük hata düzeltmelerini belirtir.

PaymentLookupCriteria

Bir ödemeyi benzersiz bir şekilde 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)
  }
  // End of list of possible types for union field criteria.
}
Alanlar

criteria alanı.

criteria şunlardan yalnızca biri olabilir:

arnCriteria

object (ArnCriteria)

İSTEĞE BAĞLI: Acquirer Reference Number (ARN) Temelli Arama.

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

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

ArnCriteria

Edinme Referans Numarası'na (ARN) dayalı ödeme arama kriterleri.

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

string

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

authorizationCode

string

ZORUNLU: İşlemin 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ı.

authorizationCode

string

ZORUNLU: İşlemin Yetkilendirme Kodu.

RequestOriginator

Bu isteğin kaynağı olan kuruluş veya kuruluş alt grubu ve isteğe bağlı olarak çalışan hakkında bilgiler. Bu sayede Google, sorunları veya kötüye kullanımı tanımlayabilir ve paymentIntegratorAccountId düzeyinden daha ayrıntılı denetimler uygulayabilir. Arayan kişi, birden fazla harici müşteriden gelen istekleri sağlayan bir aracı servis sağlayıcı olduğunda özellikle değerlidir.

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 çalışanları ile kuruluşla ilgili entegratör arasındaki iletişimi kolaylaştırmak için kullanılabilen, kuruluşla ilgili, kullanıcıların okuyabileceği bir ad veya açıklama.

agentId

string

İSTEĞE BAĞLI: Bu isteğin kaynağı olan organizationId tarafından tanımlanan, kuruluşun temsilcisinin (çalışan) benzersiz tanımlayıcısı. 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 hiçbir zaman ayarlamayın.
SUCCESS Ödeme bulundu ve bir rapor gönderildi.
PAYMENT_NOT_FOUND İstenen ödeme bulunamadı.
PAYMENT_TOO_OLD İstenen ödeme bulundu, ancak ödemenin tarihi nedeniyle rapor sağlanmadı.
ORDER_CANNOT_BE_RETURNED İstenen ödeme mevcut bir siparişe ait, ancak iade edilemez. Nedenler arasında, sahibinin talebi üzerine siparişin kaldırıldığı durumlar da bulunur.
NO_ADDITIONAL_DETAILS İstenen ödeme bulundu, ancak rapor mevcut değil.

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 yapmak mümkündür, ancak bu sipariş yalnızca ilk 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ş verin

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ın zaman damgası. Dönemden bu yana geçen milisaniye cinsinden 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 vergi hariç toplam tutarı (order.currencyCode cinsinden belirtilen para biriminin mikro değeri olarak gösterilir). Bu tutar 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 cinsinden belirtilen para biriminin mikro olarak şeklinde gösterilir). Bu tutar 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 bilgileri içeren 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: Bu, yapılandırılmamış Adres metnini içerir.

localityName

string

İSTEĞE BAĞLI: Bu, belirsiz bir terimdir, ancak genellikle adresin şehir/ilçe bölümünü ifade eder. Dünyanın konum bilgilerinin iyi tanımlanmadığı veya bu yapıya tam olarak uymadığı bölgelerde (ör. Japonya ve Çin) localityName'i boş bırakın ve addressLine'ı kullanın.

Örnekler: ABD şehri, BT topluluğu, 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 bölgesi, Japonya vilayeti."

postalCodeNumber

string

İSTEĞE BAĞLI: Ada rağmen mailCodeNumber değerleri genellikle alfanümerik olur. Örnekler: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

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

Öğ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: Ürünün satıcısı, sanatçısı veya üreticisi.

quantity

string (Int64Value format)

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

Tam sayı miktarları ürün için geçerli değilse bu alan atlanır (ör. ölçülen ürünlerde kesirli sayılar olabilir).

totalPrice

string (Int64Value format)

İSTEĞE BAĞLI: Bu öğenin, order.currencyCode içinde belirtilen para biriminin mikroları olarak gösterilen toplam fiyatı. quantity doldurulursa bu, tüm 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

ZORUNLU: Verginin açıklaması.

amount

string (Int64Value format)

ZORUNLU: order.currencyCode içinde belirtilen para biriminin mikro değeri 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 ödemenin fatura adresi.

amount

string (Int64Value format)

ZORUNLU: order.currencyCode içinde belirtilen para biriminin mikroları olarak gösterilen bu ödemenin tutarı. Not: Siparişin ödemesi birden fazla ödeme yöntemiyle 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.

fopDetails alanı.

fopDetails şunlardan yalnızca biri olabilir:

cardDetails

object (PaymentCardDetails)

İSTEĞE BAĞLI: Kredi ve banka kartı ödeme yöntemlerine özel ödeme ayrıntıları.

Geri ödeme

Ödemede yapılan geri ödemeyle ilgili bilgiler.

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ı.

initiatedTimestamp

string (int64 format)

ZORUNLU: Geri ödemenin başlatıldığı zaman damgası. Dönemden beri geçen sürenin milisaniye cinsinden değeri gösterilir.

PaymentCardDetails

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

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

enum (AuthResult)

ZORUNLU: Ödeme yetkilendirmesinin sonucu.

AuthResult

Ödeme yetkilendirme sonuçları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlamayın.
APPROVED Yetkilendirme Onaylandı.
DENIED Yetkilendirme reddedildi.
NOT_ATTEMPTED Yetkilendirme işlemi denenmedi.