/** * 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); } cartello non fumare Archives - Hostamy - strumenti per strutture a tema affitti brevi https://hostamy.com/en_gb/product-tag/cartello-non-fumare/ Blog e prodotti per host di case vacanze, LT e B&B a diventare più digitali. Cartelli per la casa, contratto di affitto, Libro degli Ospiti etc. Fri, 31 Dec 2021 16:08:10 +0000 en-GB hourly 1 https://wordpress.org/?v=6.8.11 Cartelli non fumare / no smoking please in italiano ed in inglese. stampa immediata, instant download, 15×10 (“4×6), 13×18 (“5×7) https://hostamy.com/en_gb/product/cartelli-non-fumare-no-smoking-please-stampa-immediata-instant-download/ https://hostamy.com/en_gb/product/cartelli-non-fumare-no-smoking-please-stampa-immediata-instant-download/#respond Sat, 31 Jul 2021 15:13:17 +0000 https://hostamy.com/?post_type=product&p=5135 Alta risoluzione di un file INSTANT DOWNLOAD che è possibile stampare a casa o presso la sede di stampa locale.

Il design sono dei cartelli per ricordare ai propri ospiti di non fumare in casa sia in italiano che in inglese che ricorderà ai tuoi ospiti le regole delle casa

Sono incluse 2 dimensioni dello stesso design: 15x10 ("4x6), 13x18 ("5x7).
Si consiglia di stampare il disegno su carta fotografica o cartoncino pesante e di plastificarli

il file scaricabile può essere facilmente stampato su una semplice stampante domestica o su quelle da ufficio, a colori o in bianco e nero e, salvo casi particolari, non richiede molto inchiostro.
Tuttavia, in particolare per i cartelli, possono esserci leggere variazioni di colore in fase di stampa a causa della diversa gestione dello stesso da parte del monitor/display.

Per una qualità di stampa superiore potete rivolgervi ad un negozio specializzato.

I file PDF necessitano, per la lettura e la stampa, di un apposito programma: Adobe Acrobat Reader. Questo programma viene rilasciato gratuitamente da Adobe. Se sul vostro PC non è installato potete scaricarlo seguendo questo link: https://get.adobe.com/reader/

~~~

NOTA

Non riceverai una stampa nella posta o nella cornice fisica, ecc.
Una volta acquistato puoi scaricare un file DF elettronico, che puoi scaricare e stampare illimitatamente.

Se vuoi modificare il testo o il file scrivimi e ti do un link e ti spiego come poterlo modificare attraverso Canva.

- Prima di completare il checkout, ti prego di contattarmi per qualsiasi domanda o richiesta personalizzata

The post Cartelli non fumare / no smoking please in italiano ed in inglese. stampa immediata, instant download, 15×10 (“4×6), 13×18 (“5×7) appeared first on Hostamy - strumenti per strutture a tema affitti brevi.

]]>
Alta risoluzione di un file INSTANT DOWNLOAD che è possibile stampare a casa o presso la sede di stampa locale.

Il design sono dei cartelli per ricordare ai propri ospiti di non fumare in casa sia in italiano che in inglese che ricorderà ai tuoi ospiti le regole delle casa

Sono incluse 2 dimensioni dello stesso design: 15×10 (“4×6), 13×18 (“5×7).
Si consiglia di stampare il disegno su carta fotografica o cartoncino pesante e di plastificarli

il file scaricabile può essere facilmente stampato su una semplice stampante domestica o su quelle da ufficio, a colori o in bianco e nero e, salvo casi particolari, non richiede molto inchiostro.
Tuttavia, in particolare per i cartelli, possono esserci leggere variazioni di colore in fase di stampa a causa della diversa gestione dello stesso da parte del monitor/display.

Per una qualità di stampa superiore potete rivolgervi ad un negozio specializzato.

I file PDF necessitano, per la lettura e la stampa, di un apposito programma: Adobe Acrobat Reader. Questo programma viene rilasciato gratuitamente da Adobe. Se sul vostro PC non è installato potete scaricarlo seguendo questo link: https://get.adobe.com/reader/

~~~

NOTA

Non riceverai una stampa nella posta o nella cornice fisica, ecc.
Una volta acquistato puoi scaricare un file DF elettronico, che puoi scaricare e stampare illimitatamente.

Se vuoi modificare il testo o il file scrivimi e ti do un link e ti spiego come poterlo modificare attraverso Canva.

– Prima di completare il checkout, ti prego di contattarmi per qualsiasi domanda o richiesta personalizzata.

The post Cartelli non fumare / no smoking please in italiano ed in inglese. stampa immediata, instant download, 15×10 (“4×6), 13×18 (“5×7) appeared first on Hostamy - strumenti per strutture a tema affitti brevi.

]]>
https://hostamy.com/en_gb/product/cartelli-non-fumare-no-smoking-please-stampa-immediata-instant-download/feed/ 0