Dans le cadre de l'intégration de bout en bout de Réserver avec Google, vous pouvez autoriser vos marchands à recevoir des paiements des utilisateurs lorsqu'ils effectuent une réservation ou un rendez-vous. Google collabore avec les sociétés de traitement des paiements pour configurer la tokenisation. Les sociétés de traitement des paiements utilisent ensuite des jetons uniques pour payer les marchands en toute sécurité.
Pour les réservations avec paiement sécurisé, nous affichons un module Informations de paiement lors du règlement. Cela permet à l'utilisateur de saisir les informations de sa carte de crédit.
Les versions 3DS1 et 3DS2 sont compatibles. Veuillez consulter ce tutoriel pour en savoir plus sur la mise en œuvre.
Éligibilité
Pour que vos marchands puissent recevoir des paiements via Réserver avec Google, vous devez remplir les conditions suivantes:
- Utiliser une société de traitement des paiements compatible La liste la plus récente des processeurs compatibles est disponible sur le site Web Google Pay.
- Accepter les paiements tokenisés en fonction de votre accord avec la société de traitement des paiements
- Impossible d'activer le paiement pour les réservations nécessitant une confirmation asynchrone.
Modifications à apporter aux flux et au serveur de réservation pour les paiements
Les paiements sont effectués à l'aide d'un processus d'activation au niveau du marchand. Vous devez activer les paiements pour tout marchand qui doit recevoir un paiement pour l'un de ses services. Pour activer les paiements, vous devez modifier les flux et le serveur de réservation.
Flux
- Flux marchands:spécifiez les informations de paiement via le
tokenization_parameter
défini dans le champtokenization_config
. L'ensemble dépend de la société de traitement des paiements choisie. Il s'agit du même ensemble depaymentMethodTokenizationParameters.parameters
que celui qui serait transmis à Google Pay si vous deviez l'intégrer. - Flux de services/disponibilité:spécifiez les exigences de paiement en fonction de votre cas d'utilisation. Pour en savoir plus, consultez Cas d'utilisation des paiements.
Serveur de réservation
- En fonction du type de paiement effectué par les utilisateurs, implémentez la méthode
CreateBooking
. - Google enverra des jetons de paiement dans le champ
payment_processing_parameters.unparsed_payment_method_token
dans le cadre duCreateBookingRequest
. Il s'agit de la même valeurpaymentData
que votre rappel recevrait dans une intégration de Google Pay. - Dans la
CreateBookingResponse
, incluez un message PaymentInformation qui spécifie le type de paiement, l'état, l'ID de transaction et la structure de prix / frais. - Définissez le champ
payment_information.payment_processed_by
surPROCESSED_BY_PARTNER
dansCreateBookingResponse
.
Cas d'utilisation de paiements
Lorsque vous décidez d'accepter ou non les paiements pour chacun de ces cas d'utilisation, veuillez consulter nos Règles relatives aux paiements et vous assurer que vous pouvez les respecter.
Il existe plusieurs cas d'utilisation pour les paiements:
- Créer des réservations prépayées
- Acompte requis pour la réservation
- Frais de non-présentation si l'utilisateur ne se présente pas à la réservation
- Carte de crédit requise au moment de la réservation
Pour en savoir plus sur la mise en œuvre de chacun de ces cas d'utilisation, consultez le tutoriel Configurer les paiements.
Créer des réservations prépayées
La figure 1 montre le flux d'activités entre les utilisateurs, vous (le partenaire de planification), Google et la société de traitement des paiements.
- Un paiement doit correspondre à 100 % du coût du service. En d'autres termes, les services doivent être payés intégralement au moment de la réservation.
-
Définissez le champ
prepayment_type
surREQUIRED
pour ce service. - Définissez le champ
require_credit_card
surREQUIRE_CREDIT_CARD_CONDITIONAL
pour ce service.
Acomptes et frais de non-présentation
Les acomptes et les frais de non-présentation sont configurés de la même manière. La figure 2 montre le flux de ces activités entre les utilisateurs, vous (le partenaire de planification), Google et la société de traitement des paiements.
Les acomptes et frais de non-présentation permettent de s'assurer qu'un utilisateur s'affiche pour sa réservation.
- Un acompte peut être débité sur la carte de crédit de l'utilisateur soit à l'avance, soit ultérieurement.
- Des frais de non-présentation peuvent être facturés à l'utilisateur s'il ne se présente pas à sa réservation.
- Si nécessaire, vous pouvez appliquer à la fois le dépôt et les frais de non-présentation pour une réservation.
- Même si aucun paiement n'est requis à l'avance, le serveur de réservation doit répondre à la requête CreateBooking avec un identifiant
PaymentInformation
contenant un identifiantpayment_transaction_id
, qui doit être unique. La société de traitement des paiements n'a pas besoin de fournir l'identifiantpayment_transaction_id
, mais il peut être généré à la place par le serveur de réservation.
Les marchands et les frais de non-présentation peuvent être spécifiés au niveau du service ou du créneau de disponibilité pour un marchand. Si vous les spécifiez au niveau du créneau de disponibilité, cela remplace les définitions au niveau du service.
- Pour activer les dépôts, définissez le champ
deposit
au niveau du service ou du créneau de disponibilité. - Pour activer les frais de non-présentation, définissez le champ
no_show_fee
au niveau du service ou du créneau de disponibilité. - Définissez le champ
require_credit_card
surREQUIRE_CREDIT_CARD_CONDITIONAL
au niveau du service ou du créneau de disponibilité. - (Facultatif) Définissez
prepayment_type
surREQUIRED
ouOPTIONAL
.
Carte de crédit requise
D'autres cas d'utilisation peuvent nécessiter une carte de crédit au moment de la réservation.
- Définissez le champ
require_credit_card
surREQUIRE_CREDIT_CARD_ALWAYS
au niveau du service ou du emplacement pour un marchand.
Annulations et remboursements
Les annulations et les remboursements sont effectués par le partenaire (vous) ou par l'utilisateur via Réserver avec Google. Dans les deux cas, vous devez respecter la valeur CancellationPolicy
définie au niveau de service et communiquée à l'utilisateur lors de la réservation.
Si vous ne fournissez pas CancellationPolicy
, nous partons du principe que toute annulation dans le délai d'annulation défini par min_advance_online_canceling
défini au niveau de service est remboursable.
Si min_advance_online_canceling
n'est pas défini, la valeur est 0 (ce qui signifie qu'il peut être annulé à tout moment).
Si vous devez désactiver l'annulation côté Réserver avec Google, veuillez en discuter avec votre contact Google.
Modifications apportées aux RTU- Après avoir remboursé l'utilisateur, vous devez envoyer une mise à jour de la réservation de réservation à jour pour modifier l'état du paiement de la réservation. Définissez
update_mask
surstatus,payment_information.prepayment_status
, puis définissezpayment_information.prepayment_status = PREPAYMENT_REFUNDED
etstatus = CANCELED
.- Utilisez les nouvelles valeurs
BookingStatus = CANCELED
etPrepaymentStatus = PREPAYMENT_REFUNDED
. La valeur d'énumérationCANCELED_AUTOMATIC_REFUND
est obsolète pour les modèles d'API Maps Booking et gRPC.
- Utilisez les nouvelles valeurs
- Lorsque Réserver avec Google envoie un
UpdateBookingRequest
et déclenche un remboursement pour l'utilisateur, définissezbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
dansUpdateBookingResponse
.