Solicita precios en una moneda soportada y conoce qué importe debes cobrar.
Monedas soportadas
EUR, USD, INR, CHF, JPY, GBP, AUD, CAD, CNY, SGD, NZD, MXNSe aceptan valores en minúsculas y se normalizan a mayúsculas.
Dónde se envía
- En endpoints
POST,currencyva en el body. - En endpoints
GETyDELETE,currencyva en la query string.
Cómo se elige una moneda
Una búsqueda nueva usa USD por defecto si omites currency. A partir de ahí, pricing, booking, las consultas de reserva y la cancelación heredan la moneda de la oferta, así que puedes omitir el campo en el resto del flujo.
Si envías currency en una llamada posterior, debe coincidir con la oferta o la cotización. Una discrepancia se rechaza con transfer_currency_mismatch, no se convierte en silencio.
El importe a cobrar
Cobra exactamente el finalPrice.amount devuelto por POST /pricing, en la finalPrice.currency devuelta junto a él.
No le añadas nada y no recompongas un total desde la respuesta de búsqueda ni desde los datos de amenities. El totalAmount de una oferta de búsqueda es indicativo: sirve para ordenar y mostrar opciones, pero solo pricing produce el importe que puedes cobrar.
Si el precio de la oferta seleccionada ya no es válido, el booking responde 409 transfer_price_changed. Vuelve a pedir pricing y cobra el nuevo importe.
Errores
{
"statusCode": 400,
"code": "transfer_invalid_currency",
"message": "Unsupported public transfer currency: COP"
}| HTTP | Código | Significado |
|---|---|---|
400 | transfer_invalid_currency | La moneda está fuera de la lista soportada. |
400 | transfer_currency_mismatch | La moneda no coincide con la oferta, la cotización o la reserva. |
503 | El precio no pudo confirmarse en este momento. Reintenta más tarde; no reserves ni cobres. |