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