/** * The API for operations with orders. * * @package WooCommerce\PayPalCommerce\Api * * @phpcs:disable Squiz.Commenting.FunctionCommentThrowTag */ declare (strict_types=1); namespace WooCommerce\PayPalCommerce\Api; use Exception; use InvalidArgumentException; use RuntimeException; use WC_Order; use WooCommerce\PayPalCommerce\ApiClient\Endpoint\OrderEndpoint; use WooCommerce\PayPalCommerce\ApiClient\Entity\Order; use WooCommerce\PayPalCommerce\PPCP; use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayPalGateway; use WooCommerce\PayPalCommerce\WcGateway\Helper\RefundFeesUpdater; use WooCommerce\PayPalCommerce\WcGateway\Processor\AuthorizedPaymentsProcessor; use WooCommerce\PayPalCommerce\WcGateway\Processor\OrderProcessor; use WooCommerce\PayPalCommerce\WcGateway\Processor\RefundProcessor; /** * Returns the PayPal order. * * @param string|WC_Order $paypal_id_or_wc_order The ID of PayPal order or a WC order (with the ID in meta). * @throws InvalidArgumentException When the argument cannot be used for retrieving the order. * @throws Exception When the operation fails. */ function ppcp_get_paypal_order($paypal_id_or_wc_order): Order { if ($paypal_id_or_wc_order instanceof WC_Order) { $paypal_id_or_wc_order = $paypal_id_or_wc_order->get_meta(PayPalGateway::ORDER_ID_META_KEY); if (!$paypal_id_or_wc_order) { throw new InvalidArgumentException('PayPal order ID not found in meta.'); } } if (!is_string($paypal_id_or_wc_order)) { throw new InvalidArgumentException('Invalid PayPal order ID, string expected.'); } $order_endpoint = PPCP::container()->get('api.endpoint.order'); assert($order_endpoint instanceof OrderEndpoint); return $order_endpoint->order($paypal_id_or_wc_order); } /** * Creates a PayPal order for the given WC order. * * @param WC_Order $wc_order The WC order. * @throws Exception When the operation fails. */ function ppcp_create_paypal_order_for_wc_order(WC_Order $wc_order): Order { $order_processor = PPCP::container()->get('wcgateway.order-processor'); assert($order_processor instanceof OrderProcessor); return $order_processor->create_order($wc_order); } /** * Captures the PayPal order. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be captured. * @throws Exception When the operation fails. */ function ppcp_capture_order(WC_Order $wc_order): void { $intent = strtoupper((string) $wc_order->get_meta(PayPalGateway::INTENT_META_KEY)); if ($intent !== 'AUTHORIZE') { throw new InvalidArgumentException('Only orders with "authorize" intent can be captured.'); } $captured = wc_string_to_bool($wc_order->get_meta(AuthorizedPaymentsProcessor::CAPTURED_META_KEY)); if ($captured) { throw new InvalidArgumentException('The order is already captured.'); } $authorized_payment_processor = PPCP::container()->get('wcgateway.processor.authorized-payments'); assert($authorized_payment_processor instanceof AuthorizedPaymentsProcessor); if (!$authorized_payment_processor->capture_authorized_payment($wc_order)) { throw new RuntimeException('Capture failed.'); } } /** * Reauthorizes the PayPal order. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be captured. * @throws Exception When the operation fails. */ function ppcp_reauthorize_order(WC_Order $wc_order): void { $intent = strtoupper((string) $wc_order->get_meta(PayPalGateway::INTENT_META_KEY)); if ($intent !== 'AUTHORIZE') { throw new InvalidArgumentException('Only orders with "authorize" intent can be reauthorized.'); } $captured = wc_string_to_bool($wc_order->get_meta(AuthorizedPaymentsProcessor::CAPTURED_META_KEY)); if ($captured) { throw new InvalidArgumentException('The order is already captured.'); } $authorized_payment_processor = PPCP::container()->get('wcgateway.processor.authorized-payments'); assert($authorized_payment_processor instanceof AuthorizedPaymentsProcessor); if ($authorized_payment_processor->reauthorize_payment($wc_order) !== AuthorizedPaymentsProcessor::SUCCESSFUL) { throw new RuntimeException($authorized_payment_processor->reauthorization_failure_reason() ?: 'Reauthorization failed.'); } } /** * Refunds the PayPal order. * Note that you can use wc_refund_payment() to trigger the refund in WC and PayPal. * * @param WC_Order $wc_order The WC order. * @param float $amount The refund amount. * @param string $reason The reason for the refund. * @return string The PayPal refund ID. * @throws InvalidArgumentException When the order cannot be refunded. * @throws Exception When the operation fails. */ function ppcp_refund_order(WC_Order $wc_order, float $amount, string $reason = ''): string { $order = ppcp_get_paypal_order($wc_order); $refund_processor = PPCP::container()->get('wcgateway.processor.refunds'); assert($refund_processor instanceof RefundProcessor); return $refund_processor->refund($order, $wc_order, $amount, $reason); } /** * Voids the authorization. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be voided. * @throws Exception When the operation fails. */ function ppcp_void_order(WC_Order $wc_order): void { $order = ppcp_get_paypal_order($wc_order); $refund_processor = PPCP::container()->get('wcgateway.processor.refunds'); assert($refund_processor instanceof RefundProcessor); $refund_processor->void($order); } /** * Updates the PayPal refund fees totals on an order. * * @param WC_Order $wc_order The WC order. */ function ppcp_update_order_refund_fees(WC_Order $wc_order): void { $updater = PPCP::container()->get('wcgateway.helper.refund-fees-updater'); assert($updater instanceof RefundFeesUpdater); $updater->update($wc_order); } WEB MARKETING TURISTICO - L'ABC DELL'HOST DI SUCCESSO - Hostamy - strumenti per strutture a tema affitti brevi
Have a question?
Message sent Close
0
0 reviews

WEB MARKETING TURISTICO - L'ABC DELL'HOST DI SUCCESSO

Instructor
admin
1 Student enrolled
  • Description
  • Curriculum
  • Reviews

Questo corso è pensato per tutti i proprietari di casa, e/o per chi ha una struttura sfitta che potrebbe essere adibita a struttura turistica extralberghiera, per chi vorrebbe iniziare a mettere le basi per diventare un vero imprenditori, o ad esempio per coloro i quali non hanno ancora iniziato pensando che sia necessario essere esperti in tecnologia informatica (internet, il computer e/o le piattaforme plettroniche).

Ti guiderò, passo dopo passo, lungo tutte le fasi dall’apertura dei profili nelle due piattaforme principali OTA (Airbnb e Booking) e dandoti di quella conoscenza base che ti serve per conoscere il tuo mercato di riferimento e la concorrenza.

In questo corso:

  1. Imparerai i termini che si utilizzano nel mondo della gestione extralberghiera.
  2. Ti mostreremo, e quindi dopo sarai in grado di capire, le differenze legali tra BeB, casa vacanza e locazione turistca
  3. Ti insegneremo come è semplice fare uno studio di mercato,
  4. Imparerai a riconoscere e ad analizzare la tua concorrenza
  5. Capirai come identificare chi è il tuo cliente ideale
  6. Scoprirai il prezzo ideale del tuo appartamento, e sarai in grado di ricavarti una tua nicchia di mercato e cosi evitare la guerra dei prezzi (al ribasso).
  7. Ti insegnerò come utilizzare al meglio i principali portali dedicati al turismo.

OBIETTIVO DEL CORSO

Questo corso ha come scopo quello di essere una vera e propria guida pratica per tutti coloro che desiderano conoscere le differenze tra le varie tipologie di strutture turistiche extralberghiere, e vogliono capire quale sia quella più adatta alle loro esigenze.

Inoltre il corso ha l’obiettivo di aiutare i proprietari di case, e di strutture varie non alberghiere, ad iniziare la propria attività proprio dalle basi, dando quella conoscenza (da qua deriva il nome ABC) che è basilare per iniziare con il piede giusto ed in piena autonomia.

Ogni modulo è composto da una parte teorica, che ti spiega gli argomenti trattati, ed una parte pratica, meglio definita on the job, che ti darà la possibilità di sperimentare con mano ed in maniera pratica quello che abbiamo visto insieme in questo corso.

Questo è un corso base ma, grazie a degli esempi pratici che faremo insieme ed ai modelli che ti darò, ti permetterà di essere in grado di iniziare la tua attività nel settore turistico extralberghiero

 

DURATA DEL CORSO

Questo corso ha la durata complessiva di 10 ore

Differenza fiscale beb
6
Get course €89
One Time Payment Available in this plans:
Share
Garanzia di rimborso valida per 30 giorni
Course details
Lectures 28
Completo accesso a vita
Accesso su cellulare e TV
en_GBEnglish
Select your currency
EUR eur