İşlemler Merkezi platformu çeşitli yapılandırmaları destekler buna dahildir. İlgili içeriği oluşturmak için kullanılan Ödemeleri Etkinleştirme Kılavuzu, entegrasyonun Google tarafından sağlanan Aşağıdakiler dahil olmak üzere tüm ödeme entegrasyonlarında ortaktır:
- Feed'leri
tokenization_parameter
bilgilerini içerecek şekilde yapılandırma - Rezervasyon sunucusu
payment_method_token
kabul edilecek şekilde güncelleniyor nesneler - Kullanıcı, İşlem Merkezi, iş ortağı / satıcı ve ödeme işleyici.
Bu kılavuzda, bu politikaları nasıl uygulayacağınızı feed'lerinizi yapılandırarak Ödeme yapılandırmaları satıcılarınız ve hizmetleriniz için geçerli olmalıdır.
- Ödeme Yok / Girişte Ödeme
- Tam Ön Ödeme
- Rezervasyonu Kullanmama Ücreti / İptal Ücreti
- Ödeme
Ödemelere ilişkin kullanım alanlarının tümü, ödeme yapılmayan / varışta ödeme (ödeme yapılandırması gerektirmez) kullanım alanı, bu nedenle eğitim, bu yapılandırmayı açıklayarak ve diğer yapılandırmaları içerir.
Her bölüm, proje sırasında takip edilecek rezervasyon sunucusunu kullanarak belirli bir ödemeyi kabul edebilirsiniz. yapılandırma.
Ödeme Yok / Girişte Ödeme
Rezervasyon sırasında ödeme gerektirmeyen hizmetler için satıcı veya hizmette ödeme yapılandırması gerekmiyor seviyesinde olmalıdır. Ancak fiyat yine de gereklidir.
Bu, bir hizmetin temel yapılandırmasıdır. Yapılandırmada
adı, açıklaması ve fiyatı. Bu, tek bir Hizmet mesajıdır
bir
ServiceFeed
:
JSON
{ "merchant_id": "merchant-1", "service_id": "service-1-a", "name": "Men's haircut", "description": "One of our stylists will cut your hair", "price": { "price_micros": 15000000, "currency_code": "USD" } }
Standart uygulama dışında ek yapılandırma gerekmez ödeme seçeneği sunar.
Ön Ödeme
Bu yapılandırma, hizmetin tutarını belirtmek için kullanılır Rezervasyon sırasında eksiksiz ödenmelidir.
Ön ödeme, hizmet düzeyinde
prepayment_type
alanı
Service
Bir hizmet için ödeme alınmasını zorunlu kılmak için
değeri aşağıdaki örnekte gösterildiği gibi REQUIRED
olarak ayarlanmalıdır. Lütfen
Fiyat, varışta ödeme örneğindeki gibi belirtilir. Burada,
Ön ödeme türünü zorunlu olarak ayarladığımız için kredi kartı
tahsil edilir ve bu ücret ödeme sırasında tahsil edilebilir.
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": "200000000", "currency_code": "USD" } "prepayment_type": "REQUIRED" }
Rezervasyon Sunucusu
Ön ödeme kabul edilirken rezervasyonunuza bir ödeme jetonu iletilir
sunucusuna
Sahada CreateBooking
payment_processing_parameters.unparsed_payment_method_token
.
Tam olarak yukarıda belirtilen tutarda ödeme yapmanız gerekir:
feed'lerdeki fiyat alanını artırmak istiyorsanız para birimini
belirtilen değerlerdir. Bu ödemeler, belirtilen akışa uygun olmalıdır.
Ödeme Kılavuzu'nu Etkinleştirme.
Bir cihazı iade ederken
CreateBookingResponse
booking.payment_information
alanı doğru şekilde ayarlanmalıdır
ön ödemenin sağlandığını ve işlendiğini yansıtır.
İlgili içeriği oluşturmak için kullanılan
PaymentInformation
spesifikasyonu tam içeriğe sahip
belgelerinden faydalanabilirsiniz. Örneğin,
aşağıdaki bilgiler sunulmaktadır. Fiyat teklifinin
belirtilen fiyat alanında döndürülen değer
isteğinde bulunabilirsiniz. Ayrıca, feed'lerde/istekte vergi oranı belirtilmişse
tam olarak dahil edilmelidir.
Ayrıca bir işlem kimliği sağlamanız gerektiğini unutmayın. Bu işlem kimliği Söz konusu satıcıyla yapılan işlemler arasında en azından benzersiz olmalıdır. CEVAP işlem kimliği için iyi bir aday, söz konusu kullanıcıya ödeme işleyici tarafından size sunulur.
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } }
Rezervasyonu Kullanmama Ücreti
Etkinliğe katılmayan kullanıcılardan, rezervasyonu kullanmama ücreti alınabilir. veya daha sonra iptal ettikleri takdirde iptal için geçerlidir. İptal aralığı belirtilmezse zaman aralığının başlangıç zamanına varsayılan olarak ayarlanır.
Rezervasyonu kullanmama ücretini belirtmek için hizmet feed'ine şunu eklemeniz gerekir:
no_show_fee
alanı aşağıdaki örnekte gösterildiği gibidir:
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": 200000000, "currency_code": "USD" } "scheduling_rules": { "min_advance_online_canceling": 14400, } "no_show_fee": { "fee": { "price_micros": 25000000, "currency_code": "USD" } "fee_type": "FIXED_RATE_DEFAULT" } }
Yukarıdaki örnekte iş ortağı veya satıcı,
no_show_fee.fee.price_micros
alanı (randevu sahibi)
randevuya katılmaz. Bu ücret, kullanıcının
randevudan önceki 4 saat (14.400 saniye) içinde iptal edildiğinde
scheduling_rules.min_advance_online_canceling
içinde belirtilir
girin.
Rezervasyonu kullanmama ücretlerinin kullanılabilirlik düzeyinde nasıl tanımlanabileceğini öğrenmek için şuraya bakın: bu bölüme göz atın.
Rezervasyon Sunucusu
Rezervasyonu kullanmama ücreti, ödeme jetonu içeren bir isteği işlerken
Sahada CreateBooking
payment_processing_parameters.unparsed_payment_method_token
.
Bu jeton, ön ödemede ile aynı şekilde iletilir
dava açın. Ancak jeton yalnızca kısa bir süre için yetkilendirildiği için
için, ödeme işleyicinizin ilgili API'sini
Bu jetonu, daha sonra istediğiniz zaman kullanabileceğiniz bir sürüme yükseltin
daha sonra tekrar deneyin. Bu, Ödemeleri Etkinleştirme kılavuzu bölümünde açıklanmıştır
açık
Rezervasyon Yapmama Ücreti jeton akışı.
Bir cihazı iade ederken
CreateBookingResponse
booking.payment_information
alanı doğru şekilde ayarlanmalıdır
aşağıdaki örnekte gösterildiği gibi ayırma ücretinin durumunu tekrarlayın.
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } "no_show_fee": { "fee": { "price_micros": 25000000, "currency_code": "USD" } "fee_type": "FIXED_RATE_DEFAULT" } }
no_show_fee
öğesinin fiyatı yansıtacak şekilde ayarlandığını ve
net bir şekilde belirtmeniz gerekir. Ayrıca,
Örneğin, bu mesajda transaction_id
gereklidir.
Ayrıca,booking_id
CreateBookingResponse
şarj sırasında gönderilmesi gereken gerçek zamanlı güncellemeler için zorunlu bir alandır
rezervasyonu kullanmama ücreti alınır. Bu kimliğin, bilgilerin yanında depolanması beklenir
bilgi almalısınız.
Gerçek Zamanlı Güncellemeler
Kullanıcı planlanan rezervasyonuna gelmez veya rezervasyonunu iptal ederse İptal süresi geçtikten sonra (ör. doğrudan sizinle iletişime geçerek) isteğe bağlı olarak ödeme bilgilerini kullanarak belirtilen rezervasyonu kullanmama ücretini alabilir toplam depolama alanı değerini gösterir. Kullanmama ücreti talep ettiğinizde, Rezervasyonu kullanmama ücretinin alındığını belirten gerçek zamanlı güncelleme.
tarafından oluşturulan rezervasyonlar için
CreateBooking
,
notification.partners.bookings.patch
. Bu isteğin gövdesinde
güncellenmiş rezervasyonun durumu,
NO_SHOW_PENALIZED
Bu durum, bir ödemenin yapıldığını Google'a bildirir.
yapar.
Örneğin, bir istek şu adrese gönderilebilir:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status
İstek gövdesiyle:
JSON
{ "name": "partners/12345678/bookings/123123123" "merchantId": "merchant-1" "serviceId": "service-2-b" "status": "NO_SHOW_PENALIZED" }
Ödeme
Depozitolar, ödeme alınmadan önce ödenmesi gereken yardımcı olur. Depozitolar, rezervasyon sırasında veya daha sonra alınabilir gerekir. Bir depozitonun hangi şartlara göre geri ödenebileceğini tanımlamanız gerekebilir. hem de rezervasyonun internet üzerinden ne zaman iptal edilebileceğini öğrenin.
Ödemeyi belirtmek için hizmet feed'ine
deposit
alanı aşağıdaki örnekte gösterildiği gibidir:
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": 200000000, "currency_code": "USD" } "scheduling_rules": { "min_advance_online_canceling": 86400, } "deposit": { "deposit": { "price_micros": 25000000, "currency_code": USD, "min_advance_cancellation_sec": 14400, } "deposit_type": "FIXED_RATE_DEFAULT" } }
Bu örnekte
min_advance_online_canceling
, iptal aralığını ve
deposit.min_advance_cancellation_sec
depozitonun ne zaman geri ödenebileceğini tanımlar. Yukarıdaki örnekte ödeme tutarının,
geri ödeme şartlarından ayrı olarak iptal edebilmelisiniz. Bu durumda, kullanıcı
24 saat öncesine kadar (86.400 saniye) online olarak kullanılabilir. Bu, satıcının
bilgilendirileceksiniz. Ancak kullanıcı hâlâ
4 saat öncesine kadar geri ödeme alabilirler.
(14.400 saniye) önce (iptal için sizinle veya satıcıyla iletişime geçerek),
Ödeme sayfasında ve onay e-postasında yer alır.
Ödemelerin kullanılabilirlik düzeyinde nasıl tanımlanabileceğini öğrenmek için bkz. bu bölüme göz atın.
Rezervasyon Sunucusu
Ödeme içeren bir isteği işlerken ödeme jetonu,
,
Sahada CreateBooking
payment_processing_parameters.unparsed_payment_method_token
.
Bu simge, ön ödeme işleminde olduğu gibi iletilir. Şu durumda:
ödemeyi tahsil edebilir veya rezervasyon sırasında bekletmeyi kaldırabilirsiniz.
karar verebileceğinizi unutmayın.
Ödemeyi daha sonra almayı düşünüyorsanız kısa bir süre için yetkilendirilmişse ödeme işleyicinizin ilgili API'sini kullanarak bu jetonu, kullanmak için saklayabileceğiniz bir sürüm. Bu bkz. Ödemeleri Etkinleştirme kılavuzu bölümünde ödeme jetonu akışı.
Bir cihazı iade ederken
CreateBookingResponse
booking.payment_information
alanı şu şekilde olmalıdır:
depozitonun durumunu aşağıdaki örnekte gösterildiği gibi düzgün bir şekilde gönderin.
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } "deposit": { "deposit": { "price_micros": 25000000, "currency_code": USD, "min_advance_cancellation_sec": 28800, } "deposit_type": "FIXED_RATE_DEFAULT" } }
Ödemenin, ürünün fiyatını ve yapısını yansıtacak şekilde ayarlandığını unutmayın.
ödeme alınacak veya bekletilecek. Ayrıca,
Örneğin, bu mesajda transaction_id
gereklidir.
Gerçek Zamanlı Güncellemeler
Bir kullanıcı, depozito iptal süresinden önce rezervasyonunu iptal ederse, kullanıcı kartından tahsil ettiğiniz tüm depozitoları iade etmelidir. Zaman geri ödeme talep ediyorsanız Ödemenin geri ödendiğini belirten gerçek zamanlı güncelleme.
tarafından oluşturulan rezervasyonlar için
CreateBooking
,
notification.partners.bookings.patch
. Bu belgenin gövdesinde
isteği, durumu şu şekilde ayarlanmış şekilde güncellenmiş rezervasyon olmalıdır:
CANCELED
ve
paymentInformation.prepaymentStatus
alanı şuna ayarlandı:
PREPAYMENT_REFUNDED
. Bu, Google'a ödeme işleminin
geri ödendi.
Örneğin, bir istek şu adrese gönderilebilir:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status
İstek gövdesiyle:
JSON
{ "name": "partners/12345678/bookings/123123123" "merchantId": "merchant-1" "serviceId": "service-2-b" "status": "CANCELED" "paymentInformation": { "prepaymentStatus": "PREPAYMENT_REFUNDED" } }
Kredi Kartı İsteyin
Bir hizmet için ek olarak kredi kartı gerekebilir Kullanıcı kimliğinin doğrulanması. Ancak, bu metinlerin ön ödeme, depozito veya rezervasyonu kullanmama ücretleri olabilir. Bu kullanım alanları adımları kullanılarak açıkça yapılandırılmalıdır. bölümünü ziyaret edin. Ayrıca, kredi kartı istemenin genellikle rezervasyonları önemli ölçüde azaldı.
Ödeme sırasında kredi kartının sağlanmasını zorunlu kılmak için
require_credit_card
alanı
REQUIRE_CREDIT_CARD_ALWAYS
.
JSON
{ "merchant_id": "merchant-1", "service_id": "service-1-a", "name": "Men's haircut", "description": "One of our stylists will cut your hair", "price": { "price_micros": 15000000, "currency_code": "USD" }, "require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS" }
Rezervasyon Sunucusu
Kredi kartı şartı içeren bir isteği işleme koyduğunuzda,
kodu,
Sahada CreateBooking
payment_processing_parameters.unparsed_payment_method_token
.
Bu jeton, ön ödemeyle aynı şekilde iletilir
dava açın. Ancak jeton yalnızca kısa bir süre için yetkilendirildiği için
için, ödeme işleyicinizin ilgili API'sini
Bu jetonu, daha sonra istediğiniz zaman kullanabileceğiniz bir sürüme yükseltin
daha sonra tekrar deneyin.
Rezervasyon sunucusu yanıtında ek bilgi gerekmez kullanım alanına kıyasla 1 kat daha fazlasıdır.
Kullanılabilirlik Düzeyinde Fiyatlandırmayı Geçersiz Kılma
Yukarıdaki örneklerin tümünde fiyat / ücret yapısı belirtilmiştir kullanıcılara ulaşabiliyoruz. Çoğu durumda bu hizmet düzeyinde fiyatlandırma kullanılır. Ancak bazı durumlarda ödeme yapısını değiştirmek mantıklı olabilir. kullanabilirsiniz. Örneğin, aşağıdaki durumlarda Aşağıdaki durumlarda, kullanılabilirlik düzeyinde fiyatlar / ücretler geçersiz kılınarak işlenebilir:
- Fiyatlar salı günleri düşürülür, cumartesi günleri artar.
- 17:00-19:00 saatleri arasında müsaitlik durumu için rezervasyon ücreti uygulanmaz.
Aşağıdaki tabloda, her ödeme / ücret yöntemi için hangi alanın kullanımı hakkında daha fazla bilgi edinin.
Ödeme Türü | Ücret / Fiyat Tanımı | Geçersiz kılınabilir mi? |
---|---|---|
Varışta Öde | Service.price
|
Fiyat; şununla geçersiz kılınabilir:
Availability.payment_option_id referans
Merchant.payment_option
|
Ön Ödeme | Service.price
|
Fiyat, şunlar için geçersiz kılınabilir:
Availability.payment_option_id referans
Merchant.payment_option
|
Gösterim ücreti yok | Service.no_show_fee
|
Availability.no_show_fee
|
Ödeme | Service.deposit
|
Availability.deposit
|
Kredi kartı iste | Service.require_credit_card
|
Availability.require_credit_card
|
Fiyatı stok durumu düzeyinde geçersiz kılmak için önce ödeme seçeneği sunuyor. Buna ek olarak, hizmet düzeyi düzeyinde iptal aralıkları için lütfen Rehber'e bakın İptal aralıkları nasıl eklenir?