Method: getDisputeInquiryReport

Dapatkan laporan yang memberikan informasi untuk memfasilitasi percakapan dukungan pelanggan dengan pengguna terkait potensi sengketa pembayaran.

Jika endpoint mengalami error saat memproses permintaan, respons dari endpoint ini akan berjenis ErrorResponse.

Respons untuk kueri ini boleh kosong jika metode ini tidak menampilkan HTTP 200. Isi respons kosong dalam situasi saat ErrorResponse dengan deskripsi yang jelas dapat digunakan untuk membantu penyerang memahami ID akun integrator pembayaran dari integrator lain. Dalam situasi ini, saat kunci penandatanganan tidak cocok, ID integrator pembayaran tidak ditemukan, atau kunci enkripsi tidak diketahui, metode ini akan menampilkan HTTP 404 dengan isi kosong. Jika tanda tangan permintaan dapat diverifikasi, informasi tambahan terkait error tersebut akan dikirimkan dalam isi respons.

Contoh permintaan terlihat seperti:


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

Contoh respons akan terlihat seperti ini:


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

Permintaan HTTP

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

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Kolom
requestHeader

object (RequestHeader)

WAJIB: Header umum untuk semua permintaan.

paymentIntegratorAccountId

string

WAJIB: ID akun integrator pembayaran yang mengidentifikasi pemanggil dan batasan kontraktual terkait untuk interaksi ini.

paymentLookupCriteria

object (PaymentLookupCriteria)

WAJIB: Kriteria yang menunjukkan pembayaran yang akan dicari untuk pertanyaan ini.

existingGoogleClaimId

string

OPSIONAL: String yang dibuat Google yang ditampilkan oleh panggilan sebelumnya ke getDisputeInquiryReport yang mengidentifikasi klaim sengketa pelanggan ini secara unik.

Jika ini tidak ada, ID klaim baru akan dibuat. Pemanggil dapat memberikan googleClaimId yang ditampilkan oleh panggilan sebelumnya ke getDisputeInquiryReport jika ini merupakan kelanjutan dari sengketa pelanggan yang sama.

ID klaim yang diisi di sini atau dibuat akan ditampilkan di kolom googleClaimId respons.

Memberikan googleClaimId yang tidak ditampilkan oleh panggilan sebelumnya ke getDisputeInquiryReport tidak valid. Jika hal ini terjadi, HTTP 400 Bad Request akan ditampilkan.

requestOriginator

object (RequestOriginator)

WAJIB: Informasi tentang organisasi atau subgrup organisasi yang menghasilkan permintaan ini.

Isi respons

Payload respons untuk metode getDisputeInquiryReport.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Kolom
responseHeader

object (ResponseHeader)

WAJIB: Header umum untuk semua respons.

result

enum (GetDisputeInquiryReportResultCode)

WAJIB: Hasil dari panggilan ini.

googleClaimId

string

OPSIONAL: String yang dibuat Google yang mengidentifikasi sengketa pelanggan ini secara unik. (Tampilkan jika dan hanya jika result BERHASIL.)

Jika existingGoogleClaimId diisi dalam permintaan, ini akan memiliki nilai yang sama. Jika tidak, nilai tersebut akan menjadi nilai yang baru dihasilkan. Nilai ini dapat diberikan dalam permintaan getDisputeInquiryReport mendatang jika merupakan bagian dari sengketa pelanggan yang sama.

report

object (PurchaseReport)

OPSIONAL: Detail yang relevan dengan sengketa pembayaran yang diidentifikasi dalam permintaan. (Tampilkan jika dan hanya jika result BERHASIL.)

PaymentLookupCriteria

Penampung untuk kriteria yang dapat mencari pembayaran secara unik. Kolom satu (dan hanya satu) anggota harus diisi.

Representasi 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.
}
Kolom

Kolom union criteria.

criteria hanya dapat berupa salah satu dari yang berikut:

arnCriteria

object (ArnCriteria)

OPSIONAL: Pencarian berdasarkan Nomor Referensi Acquirer (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

OPSIONAL: Pencarian berdasarkan Nomor Referensi Transaksi Google.

captureRequestCriteria

object (CaptureRequestCriteria)

OPSIONAL: Pencarian berdasarkan ID Permintaan Pengambilan.

ArnCriteria

Kriteria pencarian pembayaran berdasarkan Nomor Referensi Acquirer (ARN).

Representasi JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Kolom
acquirerReferenceNumber

string

WAJIB: Nomor Referensi Acquirer (ARN) yang mengidentifikasi pembayaran secara unik. Panjangnya harus 23 digit.

authorizationCode

string

WAJIB: Kode Otorisasi untuk transaksi.

GoogleTransactionReferenceNumberCriteria

Kriteria pencarian pembayaran berdasarkan Nomor Referensi Transaksi yang dibuat oleh Google.

Representasi JSON
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
Kolom
googleTransactionReferenceNumber

string

WAJIB: Nomor Referensi Transaksi yang dibuat Google yang mengidentifikasi pembayaran secara unik.

authorizationCode

string

WAJIB: Kode Otorisasi untuk transaksi.

CaptureRequestCriteria

Kriteria pencarian pembayaran berdasarkan permintaan pengambilan asli.

Representasi JSON
{
  "captureRequestId": string
}
Kolom
captureRequestId

string

WAJIB: ID unik untuk transaksi ini. Ini adalah requestId yang dibuat oleh Google selama panggilan capture yang sedang dicari.

RequestOriginator

Informasi tentang organisasi atau subgrup organisasi, dan jika perlu, karyawan, tempat permintaan ini berasal. Hal ini memungkinkan Google mengidentifikasi masalah atau penyalahgunaan dan menerapkan kontrol pada tingkat yang lebih terperinci daripada paymentIntegratorAccountId. Hal ini sangat berguna jika pemanggil adalah penyedia layanan perantara yang mendapatkan permintaan dari beberapa klien eksternal.

Representasi JSON
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
Kolom
organizationId

string

WAJIB: ID perusahaan, organisasi, atau grup organisasi tempat permintaan ini berasal. Harus unik dalam paymentIntegratorAccountId ini.

organizationDescription

string

WAJIB: Nama atau deskripsi organisasi yang dapat dibaca manusia, yang dapat digunakan untuk memudahkan komunikasi antara karyawan Google dan integrator terkait organisasi tersebut.

agentId

string

OPSIONAL: ID unik untuk agen tertentu (karyawan) organisasi yang diidentifikasi oleh organizationId tempat permintaan ini berasal. Harus unik dalam organizationId ini.

GetDisputeInquiryReportResultCode

Hasil dari panggilan metode getDisputeInquiryReport.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini!
SUCCESS Pembayaran ditemukan dan laporan diberikan.
PAYMENT_NOT_FOUND Pembayaran yang diminta tidak ditemukan.
PAYMENT_TOO_OLD Pembayaran yang diminta ditemukan, tetapi laporan tidak diberikan karena usia pembayaran.
ORDER_CANNOT_BE_RETURNED Pembayaran yang diminta adalah milik pesanan yang sudah ada, tetapi tidak dapat dikembalikan. Alasannya mencakup kasus saat pesanan dihapus atas permintaan pemiliknya.
NO_ADDITIONAL_DETAILS Pembayaran yang diminta ditemukan, tetapi laporan tidak tersedia.

PurchaseReport

Laporan yang berisi detail pembelian yang relevan yang terkait dengan pembayaran yang diminta.

Representasi JSON
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Kolom
customerAccount

object (CustomerAccount)

WAJIB: Informasi mengenai pelanggan dan akun mereka.

order

object (Order)

WAJIB: Informasi mengenai urutan pembayaran yang dilakukan.

payment

object (Payment)

OPSIONAL: Informasi mengenai pembayaran. Catatan: Beberapa pembayaran dapat dilakukan pada satu pesanan, tetapi ini hanya akan berisi info untuk pembayaran yang diidentifikasi dalam permintaan awal. Hanya tersedia untuk jenis pesanan tertentu.

CustomerAccount

Informasi tentang akun pelanggan

Representasi JSON
{
  "customerEmail": string,
  "customerName": string
}
Kolom
customerEmail

string

WAJIB: Alamat email yang terkait dengan Akun Google pelanggan.

customerName

string

WAJIB: Nama pelanggan.

Pesan

Informasi tentang pesanan.

Representasi JSON
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
Kolom
timestamp

string (int64 format)

OPSIONAL: Stempel waktu saat pesanan dibuat, direpresentasikan sebagai milidetik sejak epoch. Hanya tersedia untuk jenis pesanan tertentu.

orderId

string

OPSIONAL: String yang mengidentifikasi urutan ini secara unik. Hanya tersedia untuk jenis pesanan tertentu.

currencyCode

string

OPSIONAL: Kode mata uang 3 huruf ISO 4217 untuk semua jumlah dalam pesanan ini. Hanya tersedia untuk jenis pesanan tertentu.

subTotalAmount

string (Int64Value format)

OPSIONAL: Jumlah total pesanan ini sebelum pajak, yang diwakili sebagai mikro mata uang yang ditentukan dalam order.currencyCode. Ini sama dengan SUM(items.totalPrice). Hanya tersedia untuk jenis pesanan tertentu.

totalAmount

string (Int64Value format)

OPSIONAL: Jumlah total pesanan ini termasuk pajak, yang direpresentasikan sebagai mikro mata uang yang ditentukan dalam order.currencyCode. Ini sama dengan subTotalAmount + SUM(taxes.amount). Hanya tersedia untuk jenis pesanan tertentu.

shippingAddress

object (Address)

OPSIONAL: Alamat pengiriman untuk item fisik dalam pesanan ini.

items[]

object (Item)

WAJIB: Daftar item yang merupakan bagian dari pesanan ini.

taxes[]

object (Tax)

WAJIB: Daftar item yang merupakan bagian dari pesanan ini. Daftar ini mungkin kosong.

Alamat

Struktur yang menyimpan informasi tentang alamat.

Representasi JSON
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
Kolom
name

string

OPSIONAL: Nama lengkap pelanggan.

addressLine[]

string

OPSIONAL: Kolom ini menyimpan teks Alamat yang tidak terstruktur.

localityName

string

OPSIONAL: Istilah ini samar-samar, tetapi umumnya mengacu pada bagian kota dari suatu alamat. Di wilayah dunia dengan lokalitas yang tidak didefinisikan dengan baik atau tidak cocok dengan struktur ini (misalnya, Jepang dan China), biarkan localityName kosong dan gunakan addressLine.

Contoh: US city, IT comune, UK post city.

administrativeAreaName

string

OPSIONAL: Subdivisi administratif tingkat teratas negara ini" Contoh: Negara bagian AS, wilayah IT, provinsi CN, prefektur Jepang.

postalCodeNumber

string

OPSIONAL: Terlepas dari namanya, nilai posCodeNumber sering kali berupa alfanumerik. Contoh: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

OPSIONAL: Kode negara alamat pelanggan, diharapkan sesuai dengan ISO-3166-1 Alpha-2.

Item

Informasi tentang item dalam pesanan.

Representasi JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
Kolom
description

string

OPSIONAL: Deskripsi item yang dibeli. Hanya tersedia untuk jenis pesanan tertentu.

merchant

string

WAJIB: Penjual, artis, atau pembuat item.

quantity

string (Int64Value format)

OPSIONAL: Jumlah yang dipesan untuk item ini.

Kolom ini akan dihapus jika kuantitas bilangan bulat tidak berlaku untuk produk tersebut (misalnya, produk yang diukur mungkin memiliki kuantitas pecahan).

totalPrice

string (Int64Value format)

OPSIONAL: Harga total item ini, yang dinyatakan sebagai mikro mata uang yang ditentukan dalam order.currencyCode. Jika quantity diisi, hal ini mencerminkan harga total untuk seluruh jumlah. Hanya tersedia untuk jenis pesanan tertentu.

googleProductName

string

WAJIB: Nama layanan produk Google untuk item.

Pajak

Informasi tentang pajak yang berlaku untuk pesanan ini.

Representasi JSON
{
  "description": string,
  "amount": string
}
Kolom
description

string

WAJIB: Deskripsi pajak.

amount

string (Int64Value format)

WAJIB: Jumlah pajak, yang dinyatakan dalam mikro mata uang yang ditentukan dalam order.currencyCode.

Pembayaran

Informasi tentang pembayaran.

Representasi 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.
}
Kolom
billingAddress

object (Address)

WAJIB: Alamat penagihan untuk pembayaran ini.

amount

string (Int64Value format)

WAJIB: Jumlah pembayaran ini, yang diwakili sebagai mikro mata uang yang ditentukan dalam order.currencyCode. Catatan: Nilai ini mungkin tidak cocok dengan order.totalAmount jika pesanan dibayar melalui beberapa kali pembayaran.

refunds[]

object (Refund)

WAJIB: Daftar pengembalian dana yang dilakukan untuk pembayaran ini. Daftar ini mungkin kosong.

Kolom union fopDetails.

fopDetails hanya dapat berupa salah satu dari yang berikut:

cardDetails

object (PaymentCardDetails)

OPSIONAL: Detail pembayaran khusus untuk kredit & FoP kartu debit.

Pengembalian Dana

Informasi tentang pengembalian dana yang dilakukan pada pembayaran.

Representasi JSON
{
  "amount": string,
  "initiatedTimestamp": string
}
Kolom
amount

string (Int64Value format)

WAJIB: Jumlah yang dikembalikan, jumlah positif mikro mata uang yang ditentukan dalam order.currencyCode.

initiatedTimestamp

string (int64 format)

WAJIB: Stempel waktu saat pengembalian dana dimulai, diwakili sebagai milidetik sejak epoch.

PaymentCardDetails

Detail pembayaran khusus untuk kredit & kartu debit.

Representasi JSON
{
  "authResult": enum (AuthResult)
}
Kolom
authResult

enum (AuthResult)

WAJIB: Hasil autentikasi pembayaran.

AuthResult

Hasil autentikasi pembayaran.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini!
APPROVED Otorisasi Disetujui.
DENIED Otorisasi ditolak.
NOT_ATTEMPTED Otorisasi tidak dicoba.