Actions Center의 예약 엔드 투 엔드 통합의 일환으로 개발자는 사용자가 예약, 약속 또는 예약을 할 때 판매자로부터 대금을 받도록 선택할 수 있습니다. Google은 결제 대행업체와 협력하여 토큰화를 설정합니다. 그런 다음 결제 대행업체가 고유 토큰을 사용하여 판매자에게 안전하게 지불합니다.
결제 보안 예약의 경우 결제 과정에서 결제 정보 모듈이 렌더링됩니다. 이렇게 하면 사용자가 신용카드 정보를 입력할 수 있습니다.
3DS1 및 3DS2 지원을 사용할 수 있습니다. 구현에 관한 이 가이드를 참조하세요.
자격 요건
판매자가 Actions Center를 통해 대금을 받으려면 다음 요구사항을 충족해야 합니다.
- 지원되는 결제 대행업체를 사용합니다. 지원되는 대행업체의 최신 목록은 Google Pay 웹사이트에서 확인할 수 있습니다.
- 대행업체에 따라 토큰화된 결제를 수락합니다.
- 여기에 설명된 신원 확인 및 비즈니스 인증 절차를 완료합니다.
- 비동기 확인 이 필요한 예약에는 결제를 사용 설정할 수 없습니다.
결제를 위한 피드 및 예약 서버 변경
결제는 판매자 수준에서 선택 과정을 통해 이루어집니다. 서비스에 대한 대금을 받아야 하는 모든 판매자에 대해 결제를 사용 설정해야 합니다. 결제를 사용 설정하려면 피드와 예약 서버를 변경해야 합니다.
피드
- 판매자 피드:
tokenization_config
필드에 설정된tokenization_parameter
를 통해 결제 정보를 지정합니다. 세트는 선택한 결제 대행업체에 따라 다릅니다. 이 세트는 통합할 경우 Google Pay에 전달되는paymentMethodTokenizationParameters.parameters
의 집합과 동일합니다. - 서비스/이용 가능 여부 피드: 적절한 사용 사례에 따라 결제 요구사항을 지정하세요. 자세한 내용은 결제 사용 사례를 참조하세요.
예약 서버
- 사용자의 결제 유형에 따라
CreateBooking
메서드를 구현합니다. - Google은
CreateBookingRequest
의 일부로payment_processing_parameters.unparsed_payment_method_token
필드에 결제 토큰을 전송합니다. Google Pay 통합에서 콜백이 수신하는 것과 동일한paymentData
입니다. CreateBookingResponse
에 결제 유형, 상태, 거래 ID, 가격 / 수수료 구조를 지정하는 PaymentInfo 메시지를 포함합니다.CreateBookingResponse
에서payment_information.payment_processed_by
필드를PROCESSED_BY_PARTNER
로 설정합니다.
결제 사용 사례
각 사용 사례의 결제 금액을 받을지 결정할 때 Google의 결제 정책을 검토하고 모든 관련 정책을 준수할 수 있는지 확인하세요.
결제의 사용 사례는 다음과 같습니다.
이러한 각 사용 사례를 구현하는 방법에 대한 자세한 내용은 결제 구성 튜토리얼을 참조하세요.
선불 예약 완료
그림 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
로 설정합니다.
신용카드 필요
예약 시 신용카드가 필요한 다른 사용 사례가 있을 수 있습니다.
취소 및 환불
취소 및 환불은 파트너 (개발자) 또는 사용자가 작업 센터를 통해 시작합니다. 두 경우 모두
서비스 수준에서 설정되고
예약 결제 시 사용자에게 전달된 CancellationPolicy
를
준수해야 합니다.
CancellationPolicy
를 제공하지 않으면 서비스 수준에서 설정된 min_advance_online_canceling
에 의해 정의된 취소 기간 내의 모든 취소가 환불되는 것으로 간주됩니다.
min_advance_online_canceling
가 정의되어 있지 않으면 0 (언제든지 취소 가능을 의미함)입니다.
Actions Center 측에서 취소를 사용 중지해야 하는 경우 Google POC와 상의하세요.
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 템플릿 모두에서 지원 중단되었습니다.
- 새
- 작업 센터에서
UpdateBookingRequest
를 전송하고 이로 인해 사용자의 환불이 트리거되는 경우UpdateBookingResponse
에서booking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
를 설정합니다.