- HTTP isteği
- İstek gövdesi
- Yanıt metni
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
Bir müşterinin Google'daki hesabı ile ödeme işleyici arasında para transferi başlatır. Başlık içindeki requestId
ve paymentIntegratorAccountId
kombinasyonu idepotluk anahtarıdır ve bu işlemi benzersiz bir şekilde tanımlar. Bu işlemdeki tüm değişiklikler (geri ödemeler), captureRequestId
alanındaki requestId
değerini doldurur.
Uç nokta, isteği işlerken bir hatayla karşılaşırsa bu uç noktadaki yanıt gövdesi
türünde olmalıdır.ErrorResponse
Örnek istek:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
Örnek bir yanıt aşağıdaki gibidir:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP isteği
POST https://www.integratorhost.example.com/v1/capture
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:
JSON gösterimi |
---|
{ "requestHeader": { object ( |
Alanlar | |
---|---|
requestHeader |
ZORUNLU: Tüm istekler için ortak başlık. |
paymentIntegratorAccountId |
ZORUNLU: Bu işlemle ilgili sözleşmeden doğan kısıtlamaları tanımlayan ödeme entegratörü hesap tanımlayıcısıdır. |
transactionDescription |
ZORUNLU: Müşterinin ekstresine eklenebilecek işlem açıklamasıdır. |
currencyCode |
ZORUNLU: ISO 4217 3 harfli para birimi kodu |
amount |
ZORUNLU: Para biriminin mikro cinsinden satın alma tutarı. |
captureContext |
ZORUNLU: Bu yakalamayla ilgili bağlam bilgisi. |
Birleştirme alanı fopDetails . ZORUNLU: Bu yakalama işlemi için ödeme yöntemi ayrıntıları. fopDetails şunlardan yalnızca biri olabilir: |
|
googlePaymentToken |
İki şirketin de birbirleri arasındaki satın alma işlemlerinde hesabı tanımlamak için kullanacağı jeton. |
mandateDetails |
Talimatlara özel ödeme ayrıntıları. |
mandateWithNotificationDetails |
|
Birleştirme alanı
|
|
authenticationRequestId |
İSTEĞE BAĞLI: İlişkili kimlik doğrulama isteğinin Bu durum mevcutsa kullanıcının kimliği bu aramadan hemen önce veya otomatik bir ödeme planı ayarlandığında kimlik doğrulaması yapılmış demektir. |
otpVerification |
İSTEĞE BAĞLI: |
Yanıt gövdesi
Yakalama yönteminin yanıt nesnesi.
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
JSON gösterimi |
---|
{ "responseHeader": { object ( |
Alanlar | |
---|---|
responseHeader |
ZORUNLU: Tüm yanıtlar için ortak başlık. |
paymentIntegratorTransactionId |
İSTEĞE BAĞLI: Bu tanımlayıcı, entegratöre özeldir ve entegratör tarafından oluşturulur. Bu, entegrasyon uzmanının bu işlemi bildiği tanımlayıcıdır. Kolaylık sağlaması açısından bu tanımlayıcı, havale ayrıntılarında belirtilmiştir |
userMessage |
KULLANIMDAN KALDIRILDI: Sonuç |
result |
ZORUNLU: Bu yakalamanın sonucu. |
rawResult |
İSTEĞE BAĞLI: Bu yakalamanın ham sonucu. Google'ın risk motorunu ve analizlerini bilgilendirmek için kullanılır. Reddetme kodu eşleme durumlarında veriler bazen kaybolur. Entegratör, Google'a ham kod vermeyi tercih edebilir. Örneğin, bir kredi kartı ağ geçidi (entegratör) bu alanı, VISA ağından alınan ret kodunu tam olarak Google'a iletmek için kullanabilir. Bu durumda,
|
transactionLimit |
İSTEĞE BAĞLI: Sonuç Bu, istekteki |
currentBalance |
İSTEĞE BAĞLI: Sonuç Bu değer, istekteki |
MandateDetails
Alınacak talimatla ilgili ayrıntılar.
JSON gösterimi |
---|
{ "mandateId": string } |
Alanlar | |
---|---|
mandateId |
ZORUNLU: Google tarafından oluşturulmuş, |
MandateWithNotificationDetails
Alınacak talimatla ilgili ayrıntılar ve gerekli bildirim ayrıntıları.
JSON gösterimi |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
Alanlar | |
---|---|
mandateId |
ZORUNLU: Google tarafından oluşturulmuş, |
upcomingTransactionNotificationId |
ZORUNLU: Bu işlemle ilgili ön bildirimde bulunmak için yapılan |
CaptureContext
Bu nesne, yakalamanın nasıl istendiği hakkında bağlam sağlar.
JSON gösterimi |
---|
{ "userIpAddress": string } |
Alanlar | |
---|---|
userIpAddress |
İSTEĞE BAĞLI: Satın alma işlemi oturumdaki bir kullanıcı tarafından yapıldıysa kullanıcının cihazının IP adresidir. Kullanıcı oturumda değilse bu alan boş bırakılır. Söz konusu sözleşmede bu alana ihtiyaç duyulmazsa alan her zaman boş olacaktır. |
CaptureResultCode
Yakalama için sonuç kodları.
Sıralamalar | |
---|---|
UNKNOWN_RESULT |
Bu varsayılan değeri asla ayarlamayın. |
SUCCESS |
Başarılı çekim, ürünleri teslim edin. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
Bu yakalama isteğinin amount değeri, işlem başına sınırı aşıyor. Bu kod kullanılıyorsa kullanıcı mesajlaşması için transactionLimit alanını doldurun. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Bu hesap, günlük sınırlarını aştığından şu anda satın alma işlemleri için kullanılamaz. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Bu hesap, aylık sınırlarını aştığından şu anda satın alma işlemlerinde kullanılamaz. |
CHARGE_UNDER_LIMIT |
Bu yakalama isteğinin amount değeri, minimum işlem tutarını karşılamıyor. |
INSUFFICIENT_FUNDS |
Bu hesapta bu yakalamayı garanti edecek yeterli bakiye yok. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
Bu hesap, istenen para birimini desteklemiyor. |
ACCOUNT_CLOSED |
Kullanıcının entegrasyon uzmanındaki hesabı kapatıldı. Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Kullanıcının entegrasyon uzmanındaki hesabı kapatıldı ve şüpheli hesap devralındı. Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır. |
ACCOUNT_ON_HOLD |
Hesap askıya alındı. |
ACCOUNT_CLOSED_FRAUD |
Kullanıcının entegrasyon uzmanındaki hesabı sahtekarlık nedeniyle kapatıldı. Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
Hesap etkin ancak GPT, entegratör tarafında kullanıcı tarafından geçersiz kılındı. Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır. |
TOKEN_REFRESH_REQUIRED |
Bunun döndürülmesi için kullanıcının yenileme akışından geçmesi gerekir. |
OTP_NOT_MATCHED |
OTP, entegrasyon uzmanının gönderdiği değerle eşleşmedi. |
OTP_ALREADY_USED |
OTP zaten kullanıldı. |
RISK_DECLINED |
İşlem, entegrasyon uzmanı tarafında yapılan risk kontrolü nedeniyle reddedildi. Bu durum, söz konusu ödemeyle ilgili kalıcı bir hatadır ancak kullanıcının ödeme aracının Google'da kapatılmasına neden olmaz. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
Kullanıcının hesabında, işlem için ödeme yapabilecek, etkin bir ödeme kaynağı yapılandırılmamış. |
FUNDING_SOURCE_UNAVAILABLE |
Temel kartı veren kuruluş veya para kaynağı kullanılamıyor. Bu ödeme yeniden denenecekse ödeme işlemi başarılı olmaz. Google, bir iş ortağı tarafından 4xx veya 5xx yanıt kodu döndürüldüğünde ödeme işlemlerini yeniden dener. Bu nedenle, temel ödeme kaynağı tekrar kullanılabilir hâle geldiğinde aynı ödemenin yeniden denenmesi başarılı olursa iş ortakları normalde söz konusu yanıt kodlarından birini döndürmelidir. Bununla birlikte, Google'ın ödemeyi yeniden denemesinin başarısız olmasına yol açan teknik nedenler varsa iş ortağı "FUNDING_SOURCE_UNAVAILABLE" değerini döndürebilir. Böylece, Google'a aynı ödemeyi tekrar denememesi gerektiğini bildirmiş olursunuz. Not: Google yine de farklı bir requestId kullanarak bu ödemeyi tekrar deneyebilir, ancak bu ödeme isteği Reddedildi olarak işaretlenir. |
MANDATE_NOT_ACTIVE |
Bu yakalama için kullanılan talimat artık etkin değil. Bu döndürülen değer, kullanıcının talimat aracının Google ile kapatılmasına neden olur. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
Yinelenen bir talimat ödemesi için kullanıcıya gönderilen bildirimin süresi dolmuştur. |