Google 예약의 엔드투엔드 통합의 일환으로 사용자가 예약 또는 예약을 할 때 사용자로부터 대금을 지급받도록 선택할 수 있습니다. Google은 결제 대행업체와 협력하여 토큰화를 설정합니다. 그런 다음 결제 대행업체가 고유 토큰을 사용하여 판매자에게 안전하게 지불합니다.
결제 보안 예약의 경우 결제 과정에서 결제 정보 모듈이 렌더링됩니다. 이렇게 하면 사용자가 신용카드 정보를 입력할 수 있습니다.
3DS1 및 3DS2가 지원됩니다. 구현에 대해서는 이 튜토리얼을 참고하세요.
자격요건
판매자가 Google 예약을 통해 대금을 수령하려면 다음 요구사항을 충족해야 합니다.
- 지원되는 결제 대행업체를 사용합니다. 지원되는 대행업체의 최신 목록은 Google Pay 웹사이트에서 확인할 수 있습니다.
- 대행업체에 따라 토큰화된 결제를 수락합니다.
- 비동기 확인 이 필요한 예약에는 결제를 사용 설정할 수 없습니다.
결제를 위한 피드 및 예약 서버 변경
결제는 판매자 수준에서 선택 과정을 통해 이루어집니다. 서비스 대금을 수령해야 하는 판매자에 대한 결제를 사용 설정해야 합니다. 결제를 사용 설정하려면 피드와 예약 서버를 변경해야 합니다.
피드
- 판매자 피드:
tokenization_config
필드에 설정된tokenization_parameter
를 통해 결제 정보를 지정합니다. 세트는 선택한 결제 대행업체에 따라 다릅니다. 이 세트는 Google Pay와 통합할 경우 Google Pay에 전달되는 것과 동일한paymentMethodTokenizationParameters.parameters
집합입니다. - 서비스/이용 가능 여부 피드: 적절한 사용 사례에 따라 결제 요구사항을 지정합니다. 자세한 내용은 결제 사용 사례를 참고하세요.
예약 서버
- 사용자의 결제 유형에 따라
CreateBooking
메서드를 구현합니다. - Google은
CreateBookingRequest
의 일부로payment_processing_parameters.unparsed_payment_method_token
필드에 결제 토큰을 전송합니다. Google Pay 통합의 콜백에서 수신하는 것과 동일한paymentData
입니다. CreateBookingResponse
에 결제 유형, 상태, 거래 ID, 가격 / 수수료 구조를 지정하는 PaymentInformation 메시지를 포함합니다.CreateBookingResponse
에서payment_information.payment_processed_by
필드를PROCESSED_BY_PARTNER
로 설정합니다.
결제 사용 사례
각 사용 사례에 대한 결제 여부를 결정할 때 결제 정책을 검토하고 모든 관련 정책을 준수할 수 있는지 확인하세요.
결제 사용 사례는 다음과 같습니다.
이러한 각 사용 사례를 구현하는 방법에 대한 자세한 내용은 결제 구성 가이드를 참조하세요.
선불 예약 완료
그림 1은 사용자, 예약 파트너, Google, 결제 대행업체 간의 활동 흐름을 보여줍니다.
- 결제 금액은 서비스 비용의 100%여야 합니다. 즉, 예약 시점에 전액 지불해야 합니다.
-
해당 서비스의
prepayment_type
필드를REQUIRED
로 설정합니다. - 해당 서비스의
require_credit_card
필드를REQUIRE_CREDIT_CARD_CONDITIONAL
로 설정합니다.
보증금 및 예약 불이행 수수료
보증금과 예약 불이행 수수료는 비슷한 방식으로 설정됩니다. 그림 2는 사용자, 예약 파트너, Google, 결제 대행업체 간의 이러한 활동 흐름을 보여줍니다.
보증금과 예약 불이행 수수료는 사용자가 예약 시간에 표시되도록 할 수 있습니다.
- 보증금은 미리 또는 나중에 사용자의 신용카드로 청구할 수 있습니다.
- 예약 불이행 수수료는 사용자가 예약 시간에 나타나지 않는 경우 사용자에게 청구할 수 있습니다.
- 필요한 경우 예약 시 보증금과 예약 불이행 수수료를 모두 적용할 수 있습니다.
- 선불 결제가 필요하지 않더라도 예약 서버는 고유한
payment_transaction_id
를 포함하는PaymentInformation
로 CreateBooking 요청에 응답해야 합니다.payment_transaction_id
은 결제 대행업체가 제공할 필요는 없지만 대신 예약 서버에서 생성할 수 있습니다.
보증금과 예약 불이행 수수료는 판매자의 서비스 수준 또는 이용 가능 여부 슬롯 수준에서 지정할 수 있습니다. 이용 가능 시간대 수준에서 지정하면 서비스 수준 정의가 재정의됩니다.
- 입금을 사용 설정하려면 서비스 또는 이용 가능 시간대 수준에서
deposit
필드를 설정하세요. - 예약 불이행 수수료를 사용 설정하려면 서비스 또는 이용 가능
시간대 수준에서
no_show_fee
필드를 설정합니다. require_credit_card
필드를 서비스 또는 이용 가능 시간대 수준에서REQUIRE_CREDIT_CARD_CONDITIONAL
로 설정합니다.- (선택사항)
prepayment_type
를REQUIRED
또는OPTIONAL
로 설정합니다.
신용카드 필요
예약 시 신용카드가 필요한 다른 사용 사례가 있을 수 있습니다.
취소 및 환불
취소 및 환불은 파트너 (귀하) 또는 사용자가 Google 예약을 통해 시작합니다. 두 경우 모두 서비스 수준에서
설정된 CancellationPolicy
를
준수해야 하며, 예약 시 사용자에게 이를 알려야 합니다.
CancellationPolicy
를 제공하지 않으면 서비스 수준에서 설정한 min_advance_online_canceling
로 정의된 취소 기간 내에서 취소가 환불된다고 가정합니다.
min_advance_online_canceling
가 정의되지 않은 경우 0 (언제든지 취소할 수 있음)입니다.
Google 예약 측에서 취소를 사용 중지해야 하는 경우 Google 담당자에게 문의하세요.
RTU 변경사항- 사용자에게 환불한 후 업데이트 RTU를 전송하여 예약의 결제 상태를 변경해야 합니다.
update_mask
를status,payment_information.prepayment_status
로 설정하고payment_information.prepayment_status = PREPAYMENT_REFUNDED
및status = CANCELED
를 설정합니다.- 새
BookingStatus = CANCELED
및PrepaymentStatus = PREPAYMENT_REFUNDED
를 사용합니다. 열거형 값CANCELED_AUTOMATIC_REFUND
는 Maps Booking API 및 gRPC 템플릿에서 모두 지원 중단되었습니다.
- 새
- Google 예약에서
UpdateBookingRequest
를 전송했으며 이때 사용자에게 환불되는 경우UpdateBookingResponse
에서booking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
을 설정합니다.