Tarifas a partir del 1° de julio de 2022
BUCEO 2 TANQUES EN LA ISLA DEL CAÑO |
155 $
|
BUCEO 3 TANQUES EN LA ISLA DEL CAÑO |
210 $
|
DISCOVER SCUBA 2 TANQUES EN LA ISLA DEL CAÑO |
210 $
|
SNORKELING EN LA ISLA DEL CAÑO |
95 $
|
___________________________________________________________________________________
Todos nuestros Tours incluyen todo el equipo necesario, tarifas del parque y un almuerzo típico costarricense.
No olvides preguntar por la disponibilidad.
TOUR AVISTAMIENTO DELFINES Y BALLENAS (SEGÚN TEMPORADA) |
125 $
|
TOUR TRILLO DE LA DANTA |
75 $
|
PARQUE NACIONAL DE CORCOVADO ESTACIÓN SIRENA |
110 $
|
PARQUE NACIONAL DE CORCOVADO ESTACIÓN SAN PEDRILLO |
95 $
|
___________________________________________________________________________________
Todos nuestros Tours incluyen todo el equipo necesario, tarifas del parque y un almuerzo típico costarricense.
No olvides preguntar por la disponibilidad.
Curso PADI Open Water Diver (Manual no incluido) |
430$
|
Manual PADI Open Water Diver e-book |
90$
|
Curso PADI Open Water Diver Referral con eLearning PADI + Aguas Confinadas + Aguas Abiertas |
405$
|
Curso PADI Open Water Diver Referral con eLearning PADI + Aguas Abiertas |
385$
|
Curso PADI Advanced Open Water Diver (Manual no incluido) |
390$
|
Manual PADI Advance Open Water Diver |
90$
|
Resort / Bautizo de Buceo |
210$
|
Curso de Refresco |
210$
|
___________________________________________________________________________________
*Los Manuales no están incluidos.
Reserva el tuyo con $20
// For a fully working example, please see:
// https://github.com/paypal-examples/docs-examples/tree/main/standard-integration
const { CLIENT_ID, APP_SECRET } = process.env;
// create a new order
app.post("/api/orders", async (req, res) => {
const order = await createOrder();
res.json(order);
});
// capture payment & store order information or fullfill order
app.post("/api/orders/:orderID/capture", async (req, res) => {
const { orderID } = req.params;
const captureData = await capturePayment(orderID);
// TODO: store payment information such as the transaction ID
res.json(captureData);
});
//////////////////////
// PayPal API helpers
//////////////////////
// use the orders api to create an order
async function createOrder() {
const accessToken = await generateAccessToken();
const url = `${base}/v2/checkout/orders`;
const response = await fetch(url, {
method: "post",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${accessToken}`,
},
body: JSON.stringify({
intent: "CAPTURE",
purchase_units: [
{
amount: {
currency_code: "USD",
value: "100.00",
},
},
],
}),
});
const data = await response.json();
return data;
}
// use the orders api to capture payment for an order
async function capturePayment(orderId) {
const accessToken = await generateAccessToken();
const url = `${base}/v2/checkout/orders/${orderId}/capture`;
const response = await fetch(url, {
method: "post",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${accessToken}`,
},
});
const data = await response.json();
return data;
}
// generate an access token using client id and app secret
async function generateAccessToken() {
const auth = Buffer.from(CLIENT_ID + ":" + APP_SECRET).toString("base64")
const response = await fetch(`${base}/v1/oauth2/token`, {
method: "post",
body: "grant_type=client_credentials",
headers: {
Authorization: `Basic ${auth}`,
},
});
const data = await response.json();
return data.access_token;
}