Farklı Ödeme Türleri Belirleyin

İş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:

  1. Feed'leri tokenization_parameter bilgilerini içerecek şekilde yapılandırma
  2. Rezervasyon sunucusu payment_method_token kabul edilecek şekilde güncelleniyor nesneler
  3. 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.

  1. Ödeme Yok / Girişte Ödeme
  2. Tam Ön Ödeme
  3. Rezervasyonu Kullanmama Ücreti / İptal Ücreti
  4. Ö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?