Google Play Geliştirici API'si artık İşlemleri alternatif faturalandırmadan bildirme işlevi veya harici teklif sistemini kullanarak değiştirebilirsiniz. Bu kılavuzda, alternatiflerin nasıl bildirileceği açıklanmaktadır. faturalandırma veya harici teklif işlemleri olabilir.
Uygulama içi dönüşümleri yönetmek için gerekli olabilecek birkaç bileşen vardır. arka ucunuzdan satın alabilirsiniz. Bunları derlemek için arka ucunuzu ayarlamanız gerekir Google Play Geliştirici API'sini yapılandırma bölümünde gösterildiği gibi entegredir. Örneğin, alternatif faturalandırmaya özgü olmayan tüm geliştirici arka uç işlevleri veya harici teklif API'leri için Google Play faturalandırma sistemi belgeleri geçerlidir.
Yeni harici işlemleri Google Play'e bildirme
Externaltransactions APIs
ile entegrasyon
Google Play'in faturalandırma sistemi dışında gerçekleşen işlemleri bildirmek için
Desteklenen ülkelerde (ücretsiz denemeden kaynaklanan işlem ücreti yok dahil)
değeri için teklif verirsiniz. Alternatif faturalandırma veya harici teklif sistemlerindeki işlemler
izin verilen şekilde, yalnızca uygun kullanıcı ülkeleri için başlatılmalı ve raporlanmalıdır.
alternatif faturalandırma kapsamında veya
harici teklif programları içeriyorsa API çağrısı
reddedildi. Bu, yeni satın alma işlemleri, yenilemeler, satın alma işlemleri
para ekleme, yükseltme, düşürme vb.
Harici işlem raporlaması
Harici bir işlemi bildirmek için Externaltransactions API
numarasını aramalısınız.
Alternatif faturalandırma yoluyla ödeme yetkilendirildikten sonra veya
harici teklif sistemini
kullanabiliriz. Bu, ilk işlemler dahil olmak üzere tüm işlemler için geçerlidir.
ödemeler, yenilemeler, geri ödemeler vb. Tüm işlemlerin
İşlemin gerçekleşmesinden sonraki 24 saat içinde bildirilir.
Her harici işlem, harici bir işlem kimliğiyle raporlanır. Örneğin, (otomatik yenilenebilir abonelikler gibi) yinelenen satın alma işlemleri için yinelenen gruptaki ilk işlemle ilişkili harici işlem kimliği satın alma işlevini, geri ödemeler dahil sonraki işlemler için parametre olarak kullanabilirsiniz. Bu o satın alma işlemine yönelik işlem dizisini kaydeder. Yeni bir harici ürün değiştiğinde (ör. yükseltme veya abonelik alt sürüme geçirilmesi) ya da yinelenen işlemin iptal edilmesi veya süresinin dolması ve yine aynı işlemi daha sonra tekrar satın alındığından emin olun. Kimliği tanımlayabilecek herhangi bir bilgi eklememelisiniz. Google'a ait bu harici belgedeki bilgilerin, tescilli veya gizli işlem kimliği.
Yeni bir satın alma işlemi bildirin
Alternatif faturalandırmada gerçekleştirilen her yeni satın alma işlemi
veya harici teklif sistemindeyken Externaltransactions
API'ye yapılan bir çağrıdır.
gereklidir. Bu yeni satın alma işlemleri için benzersiz bir değer sağlamanız gerekir
Arka ucunuzda sorgu olarak satın alma işlemiyle ilişkilendirilen externalTransactionId
parametresinden sonra bir değer girin. Bu externalTransactionId
, aynı uygulamanın içinde tekrar kullanılamaz
paket kimliği.
Uygulamanın şu tarihlerle aldığı externalTransactionToken
:
UserChoiceBillingListener
AlternativeBillingOnlyReportingDetailsListener
,
veya ExternalOfferReportingDetailsListener
geri çağırma da
ve ilk kez satın alımlara yönelik istek gövdesi.
yinelenen satın alma (ör. abonelik) Her iki durumda da,
ilk işlem. İlk işlemden sonra
externalTransactionToken
artık gerekli değil. Bildirimde bulunmak için
işlem (örneğin abonelik yenilemeleri) için yeni bir benzersiz
externalTransactionId
. Bir satın alma işlemiyle ilgili sonraki işlemleri raporlama konusuna bakın.
.
Örnek:
- Bir geliştirici, uygulamasında alternatif faturalandırmayı yapılandırıp etkinleştirir.
- 1. Kullanıcı, desteklenen bir ülke olan Güney Kore'de ve satın alma girişiminde bulunuyor
product1
, bir ay ücretsiz deneme teklifiyle ayda 12.634, 10 KRW karşılığında. - Uygulama,
product1
içinProductDetails
ile satın alma akışını başlatır ve kullanıcının seçtiği teklif. - 1. kullanıcı, geliştiricinin alternatif faturalandırma sistemini seçer.
UserChoiceBillingListener
,my_token
değeriniexternalTransactionToken
.- Daha sonra geliştirici, ilgili bilgileri arka uca gönderir.
(
externalTransactionToken
değerinde ve satın alınan ürün). Sonra Alternatif faturalandırma sistemindeproduct1
için satın alma akışını başlatma. Bu işleme geliştirici tarafında benzersiz bir işlem kimliği atanır Google Play'e bildirmek için kullanılan: 123-456-789. İşlem kimliği Kullanıcı ücretsiz deneme hakkı alıyor olsa bile gereklidir. - Satın alma işlemi alternatif faturalandırmada gerçekleştikten sonra kullandığında, geliştirici, kullandığı takip edebilirsiniz. Başlangıçta sıfır dolar işlem olarak raporlanır çünkü kullanıcı bir ay ücretsiz.
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken": "my_token",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
Verginin değiştiği Hindistan'da ikamet eden bir kullanıcıyla işlem yapıyorsanız bölge (eyalet veya il gibi) içeriyorsa, işletmenizin bu userTaxAddress altını seçin. Şuradaki önceden tanımlanmış dize listesine bakın: Geçerli idari bölgeler için API başvuru kılavuzu.
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "INR"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "INR"
},
"transactionTime" : "2023-11-01T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken": "my_token",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
# Tax varies in India based on state, so include that information in
# administrativeArea
"regionCode": "IN"
"administrativeArea": "KERALA"
}
}
Bir satın alma işleminin sonraki işlemlerini raporlama
Bazı durumlarda, aynı öğeyle ilişkilendirilmiş birden fazla kullanıcı ödemesi olabilir.
Harici satın alma (ör. abonelik yenilemeleri veya ön ödemeli plana para ekleme)
Sonraki işlemleri aynı API'yi kullanarak bildirebilirsiniz:
Externaltransactions
Yeni bir satın alma işlemini bildirme konusunda açıklandığı gibi
externalTransactionToken
sonraki işlemler için gerekli değildir. Bunun yerine
Her kampanya için sorgu parametresi olarak yeni bir benzersiz externalTransactionId
gönderilir.
Yenileme veya para ekleme işlemi (ilk işlemin kimliği dahil)
initialExternalTransactionId
alanına girin.
Önceki örneğe göre:
- 1. kullanıcının ilk yenileme işlemi alternatif faturalandırma sisteminde gerçekleştirilir. İlk işlem kimliği 123-456-789 idi.
- Geliştirici, işlemin yinelenme durumunu URL sorgu parametresinde bildirir
için kullanılacak harici işlem kimliği olarak tanımlar ve
İlk işlemin harici işlem kimliği
initialExternalTransactionId
alanı boş bırakılamaz.
Örnek istek:
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
"originalPreTaxAmount" : {
"priceMicros": "12634000000",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "1263000000",
"currency": "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"initialExternalTransactionId": "123-456-789",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
Sürüm yükseltme veya düşürme
Kullanıcı bir aboneliğe sahip olduğunda yükseltme veya düşürme bildirmek için
aynı uç noktayı ve işlevi kullanıyorsanız,
Externaltransactions
API, gönderilen externalTransactionToken
yükseltme veya düşürme işlemi için uygulamaya sağlanır. Bu komut çalışır
yeni bir satın alma işlemini bildirmeye benzer.
Alternatif faturalandırma işlemlerinin manuel olarak raporlanmasından geçiş yapın
Alternatif bir yöntem sunduğunuz sırada başlatılan etkin abonelikleri taşımak için
otomatik raporlama olmadan yeni bir sıfır maliyetli işlem oluşturmak için
migratedTransactionProgram
alanı için bir değer belirtmek yerine
initialExternalTransactionId
veya externalTransactionToken
. Ayarlayın:
Kullanıcının her bir etkin için ilk kaydolduğu zamana kadar transactionTime
abonelik. Daha sonra, bu anahtar kelimelerle ilgili sonraki her işlemi
normal şekilde API'ler aracılığıyla aboneliklerine
Yenileme işlemlerini oluşturmak için yukarıda initialExternalTransactionId
kullanıldı.
Abonelik taşındıktan sonra artık manuel olarak bildirimde bulunmanız gerekmez.
abonelik için sonraki işlemlerde (bu bilgilerin gerçekten
bu sayfada açıklanan otomatik yöntemlerle raporlanır.
Abonelikleri taşırken aşağıdaki kota sınırlarını göz önünde bulundurun: Taşıma işleminin kota kesintisine neden olmamasını sağlar. Birçok aboneliğin birden fazla güne yaymalarını veya harcama sonrası kotada ,
migratedTransactionProgram
alanı yalnızca şuradan taşıma sırasında kullanılabilir:
manuel raporlama. Manuel raporlama kullanımdan kaldırıldığında bu çözüm de kullanımdan kaldırılacaktır
desteklenir.
Örnek istek:
# Note that the externalTransactionId specified here will used to report subsequent
# transactions.
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
# Be sure to set the price to 0 for this transaction since it does not reflect
# an actual subscription renewal.
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
# The transaction time should be set to when the user signed up for this
# subscription.
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"migratedTransactionProgram": "USER_CHOICE_BILLING",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
Play iş ortağı programlarını bildirme
Play Medya Oynatma Deneyimi Programı şunları sağlamalıdır:
Harici işlemleri bildirirken transaction_program_code
. Şu durumda:
hakkında daha fazla bilgi edinmek için lütfen İş Geliştirme Yöneticinizle iletişime geçin.
daha fazla bilgi edinebilirsiniz.
Satın alma işlemleriyle ilgili geri ödemeleri Google Play'e bildirme
Geri ödeme yapılan işlemleri bildirmek için Externaltransactions
API ile entegrasyon yapın.
Google Play'in faturalandırma sisteminin dışındaki kullanıcılar Bu şekilde, Play Store'un hangi
İşlemin geri ödemesi yapıldı. İlgili tutarı
externalTransactionId
URL parametreleri.
Abonelik satın alma işlemleriyle ilgili geri ödemeleri bildirirken
İlgili aboneliğin yinelenme sıklığının externalTransactionId
kadarı
geri ödeme yapılıyor.
Örnek: Bir aboneliğin aşağıdaki işlemlere sahip olduğunu varsayalım:
- Harici işlem kimliğine sahip ilk işlem ABC.1234-5678-9012-34567
- Harici işlem kimliğine sahip ilk yinelenen işlem ABC.1234-5678-9012-34567..0
- Harici işlem kimliğine sahip ikinci yinelenen işlem ABC.1234-5678-9012-34567..1
Abonelikle ilgili tüm işlemlerin geri ödemesini bildirmek için Üç ayrı geri ödeme isteği: biri ilk işlem, diğeri sonraki işlemler için de geçerlidir.
Bu yöntem hem tam geri ödemeleri kabul eder (Bu tutar, kullanıcının orijinal harici ödemede ödediği tutarla aynıdır) işlemi) ve kısmi geri ödemeler (tutar, orijinal harici ödeme kaynağında kullanıcının ödediği tutardan düşük olduğunda) işlemi) ekleyebilirsiniz. Kısmi geri ödemelerde vergi öncesi tutarı belirtmeniz gerekir. geri ödeme yapıldı.
API kotaları
Externaltransactions
API, günlük API kotalarına tabidir.
tüm çağrılar için geçerli olacaktır.
Ayrıca, Externaltransactions
API'nin Dakikada 1.200 Sorgusu vardır
Externaltransactions.createexternaltransaction
veya
Externaltransactions.refundexternaltransaction
. Çağrılar:
Externaltransactions.getexternaltransaction
,bu 1.200 QPM'ye dahil edilmez
limit.