Method: captureResultNotification

capture veya asynchronousCapture yöntem çağrısı yapıldıktan sonra, yakalama işleminin sonucunu Google'a bildirin.

captureResult değeri, bu captureRequestId için aynı olmadığından, bu yönteme yapılan bir sonraki çağrıyla değeri değiştirilemez.

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": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "awNaC510cefae3IJdNEvW2",
  "captureResult": {
    "captureResultCode": "SUCCESS"
  }
}

Örnek bir yanıt:


{
  "responseHeader": {
    "responseTimestamp": "1481852928324"
  },
  "result": "SUCCESS"
}

HTTP isteği

POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/: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,
  "captureRequestId": string,
  "captureResult": {
    object (CaptureResult)
  },
  "paymentIntegratorTransactionId": string
}
Alanlar
requestHeader

object (RequestHeader)

ZORUNLU: Tüm istekler için ortak üstbilgi.

paymentIntegratorAccountId

string

GEREKLİ: Yakalamanın gerçekleştiği ödeme entegratörü hesap tanımlayıcısı.

captureRequestId

string

GEREKLİ: Bu işlem için benzersiz bir tanımlayıcıdır. Bu, Google'ın bu isteğin ilişkili olduğu capture veya asynchronousCapture çağrısı sırasında oluşturulan requestId.

Bu, en fazla 100 karakter uzunluğunda bir dizedir ve yalnızca "a-z", "A-Z", "0-9", ":", "-" ve "_" karakterlerini içerir.

captureResult

object (CaptureResult)

GEREKLİ: Bu yakalamanın sonucu.

paymentIntegratorTransactionId

string

İSTEĞE BAĞLI: Bu tanımlayıcı, entegratöre özeldir ve entegratör tarafından oluşturulur. Bu, entegre edicinin bu işlemi bildiği tanımlayıcıdır.

Bu tanımlayıcı, size kolaylık sağlamak için havale ayrıntılarına dahil edilmiştir

Yanıt gövdesi

captureResultNotification yöntemi için yanıt nesnesi.

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

JSON gösterimi
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (CaptureResultNotificationResultCode)
}
Alanlar
responseHeader

object (ResponseHeader)

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

result

enum (CaptureResultNotificationResultCode)

GEREKLİ: Bu aramanın sonucu.

YakalamaSonuçu

Bir yakalamanın nihai sonucuyla ilgili bilgiler.

JSON gösterimi
{
  "captureResultCode": enum (CaptureResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string,
  "currentBalance": string
  // End of list of possible types for union field FailureDetail.
}
Alanlar
captureResultCode

enum (CaptureResultCode)

GEREKLİ: Bu yakalamanın sonuç kodu.

rawResult

object (RawResult)

İSTEĞE BAĞLI: Bu yakalamanın ham sonucu. Google'ın risk motorunu ve analizlerini bilgilendirmeye yardımcı olması için kullanılır. Reddetme kod eşleme durumlarında veriler bazen kaybolabilir. Entegratör, Google'a ham kod vermeyi tercih edebilir. Örneğin, kredi kartı ağ geçidi (entegratör), VISA ağından alınan tam reddetme kodunu Google'a bildirmek için bu alanı kullanabilir. Bu durumda, scope "vize", rawCode ise VISA ağının döndürdüğü değer olur.

result SUCCESS değilse bu değer gereklidir.

Birlik alanı FailureDetail.

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

transactionMaxLimit

string (Int64Value format)

İSTEĞE BAĞLI: captureResultCode CHARGE_EXCEEDS_TRANSACTION_LIMIT ise bu, izin verilen maksimum işlemin değeridir. Bu, yapılandırılmış, kullanıcılara yönelik mesajlaşma ve reddetme oranı analizi için kullanılır.

Bu tutar, orijinal capture veya asynchronousCapture yöntem çağrısıyla aynı currencyCode mikronun mikrodur.

transactionMinLimit

string (Int64Value format)

İSTEĞE BAĞLI: captureResultCode CHARGE_UNDER_TRANSACTION_LIMIT ise bu, izin verilen minimum işlemin değeridir. Bu, yapılandırılmış, kullanıcılara yönelik mesajlaşma ve reddetme oranı analizi için kullanılır.

Bu tutar, orijinal capture veya asynchronousCapture yöntem çağrısıyla aynı currencyCode mikronun mikrodur.

currentBalance

string (Int64Value format)

İSTEĞE BAĞLI: Sonuç INSUFFICIENT_FUNDS ise bu, kullanıcının hesabındaki mevcut bakiyedir (mikro olarak). Bu, yapılandırılmış, kullanıcılara yönelik mesajlar için kullanılır.

Bu değer, istekteki currencyCode ile aynı para biriminde olmalıdır.

YakalamaSonuçKodu

Bir yakalamanın sonuç kodları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlama!
SUCCESS Yakalama başarılı.
CHARGE_UNDER_TRANSACTION_LIMIT İstenen yakalama tutarı, entegratörün işlem başına minimum tutarını karşılamıyor. Bu kod kullanılıyorsa transactionMinLimit alanını, kullanıcı mesajları için minimum işlem tutarı ile doldurun.
CHARGE_EXCEEDS_TRANSACTION_LIMIT İstenen yakalama miktarı, entegratörün işlem başına maksimum sınırını aşıyor. Bu kod kullanılıyorsa transactionMaxLimit alanına kullanıcı mesajlarıyla ilgili işlemler için işlem sınırı girin.
CHARGE_EXCEEDS_DAILY_LIMIT Kullanıcının hesabı, günlük sınırını aştığından şu anda satın alma işlemleri için kullanılamıyor.
CHARGE_EXCEEDS_MONTHLY_LIMIT Kullanıcının hesabı, aylık sınırını aştığından şu anda satın alma işlemleri için kullanılamıyor.
INSUFFICIENT_FUNDS Bu hesapta, bu yakalamayı garantileyecek yeterli para yok.
SUSPECTED_FRAUD Düzenleyen kişi, bu işlemin sahte olduğundan şüpheleniyor.
ACCOUNT_CLOSED Kullanıcının entegratörle ilişkili olduğu hesap kapatıldı. Bu iade değeri, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı yeni bir araç eklemek zorunda kalacaktır.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER Kullanıcının entegratörle hesabı kapatıldı. Hesabın ele geçirildiğinden şüpheleniliyor. Bu iade değeri, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı yeni bir araç eklemek zorunda kalacaktır.
ACCOUNT_CLOSED_FRAUD Kullanıcının entegratörle paylaştığı hesap, sahtekarlık nedeniyle kapatıldı. Bu iade değeri, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı yeni bir araç eklemek zorunda kalacaktır.
ACCOUNT_ON_HOLD Kullanıcının hesabı beklemede.
OTP_NOT_MATCHED OTP, entegratörün gönderdiği kodla eşleşmedi.
OTP_ALREADY_USED OTP zaten kullanılıyordu.
CAPTURE_REQUEST_EXPIRED Entegre edenin kullanıcının parasını yakalaması çok uzun sürdü. Google bu reddi nihai durum olarak kabul eder. Dolayısıyla entegratör, kullanıcının parasının daha sonra tahsil edilmemesini veya yakalama başarılı olursa kullanıcıya otomatik olarak geri ödeme yapılmasını sağlamalıdır.
INVALID_PIN Kullanıcı geçersiz bir PIN sağladı.
OS_LOCK_FAILED Bu ödeme akışı, OS kilit sorgulaması gerektiriyor ve kullanıcı cihazın kilidini açamıyor.
PIN_ENTRY_ATTEMPTS_EXHAUSTED Bu ödeme akışı için kullanıcı PIN'inin girilmesi gerekiyor. Kullanıcı, yeniden deneme süresi tükendiğinde PIN girişi başarısız oldu.
USER_EXITED_PAYMENT_FLOW Kullanıcı, ödeme girişiminin tamamını (OS kilidi veya PIN giriş ekranında) iptal etti.
MONTHLY_FREQUENCY_LIMIT_EXCEEDED Kullanıcının hesabı, aylık işlem denemesi sayısı sınırını aştığı için şu anda satın alma işlemlerinde kullanılamıyor.
DECLINED_BY_ISSUER

Bu ret kodu asla sabit durumda kullanılmamalıdır. Entegrasyon aracı, kullanıcının enstrümanını veren kuruluşun bilinmeyen bir reddetme koduyla karşılaştığında geçici bir tümünü yakalama kodu olarak kullanılır. Bu sonuç kodu, entegratör kullanılacak daha uygun bir sonuç kodu belirler veya bu spesifikasyona yeni bir sonuç kodu eklenmesi için pazarlık yaparken kullanılabilir.

Daha da önemlisi, bu reddetme kodu çok gerçek bir rettir. Google, bu konuyu kalıcı olarak reddeder. Entegre edenin bu kodu döndürmesi durumunda, kod verenin kodunun gerçekten ne olduğunu takip etmek ve kodun gerçekten SUCCESS anlamına geldiği ortaya çıkarsa kullanıcıya geri ödeme yapmak gerekir.

Bu reddetme kodu, belirli bir ret kodundan belirli bir süre boyunca kullanılırsa Google bu kodu hata olarak değerlendirir ve hataları düzeltmeyle ilgili sözleşmeye dayalı tüm cezalara uygun şekilde kodu izler.

Ham Sonuçlar

Ham sonuç nesnesi.

JSON gösterimi
{
  "scope": string,
  "rawCode": string
}
Alanlar
scope

string

İSTEĞE BAĞLI: hamCode'un kapsamı boş olabilir.

rawCode

string

GEREKLİ: Entegratörden veya içindeki alt sistemlerden alınan ham kod.

YakalamaSonuçBildirimSonuçKodu

captureResultNotification yönteminin sonuç kodları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlama!
SUCCESS Yakalama sonucu bildirimi başarıyla işlendi.