Subida del módulo y tema de PrestaShop

This commit is contained in:
Kaloyan
2026-04-09 18:31:51 +02:00
parent 12c253296f
commit 16b3ff9424
39262 changed files with 7418797 additions and 0 deletions

View File

@@ -0,0 +1,344 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div data-test="checkout-payment-block">
{if !$orderPayPal}
<div class="checkout-modal-container">
<div class="checkout-modal">
{if $psPayPalOrder->getStatus() === 'CANCELED'}
<div role="alert" aria-live="polite" aria-atomic="true" class="alert alert-info">
<p>{l s='Transaction details are not available' d='Modules.Checkout.Pscheckout'} {l s='This PayPal Order has been canceled.' d='Modules.Checkout.Pscheckout'}</p>
</div>
{elseif $psPayPalOrder->getStatus() === 'REVERSED'}
<div role="alert" aria-live="polite" aria-atomic="true" class="alert alert-info">
<p>{l s='Transaction details are not available' d='Modules.Checkout.Pscheckout'} {l s='This PayPal Order has been reversed.' d='Modules.Checkout.Pscheckout'}</p>
</div>
{else}
<div role="alert" aria-live="polite" aria-atomic="true" class="alert alert-warning">
<p>{l s='Transaction details are not available' d='Modules.Checkout.Pscheckout'}</p>
</div>
<br/>
<p>{l s='The PayPal account that was used to create this order is no longer linked to the PrestaShop Checkout module.' d='Modules.Checkout.Pscheckout'}</p>
<p>{l s='In order to see this information, please reconnect the correct PayPal account.' d='Modules.Checkout.Pscheckout'}</p>
<br/>
<button class="checkout-modal-button">
<a class="btn" href="{$moduleUrl}">{l s='Go to PrestaShop Checkout' d='Modules.Checkout.Pscheckout'}</a>
</button>
{/if}
</div>
</div>
{/if}
{if $orderPayPal}
<div class="panel-wrapper">
<div class="panel">
<h3 class="panel__title">{l s='PayPal Order' d='Modules.Checkout.Pscheckout'}</h3>
<dl class="panel__infos">
<dt data-grid-area="reference">{l s='Reference' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-test="reference-value">{$orderPayPal.id|escape:'html':'UTF-8'}</dd>
<dt data-grid-area="status">{l s='Status' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-test="status-value">
<span class="badge rounded badge-{$orderPayPal.status.class|escape:'html':'UTF-8'}" data-value="{$orderPayPal.status.value|escape:'html':'UTF-8'}">
{$orderPayPal.status.translated|escape:'html':'UTF-8'}
</span>
</dd>
<dt data-grid-area="total">{l s='Total' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-test="total-value">{$orderPayPal.total}</dd>
<dt data-grid-area="balance">
{l s='Balance' d='Modules.Checkout.Pscheckout'}
<i class="balance-info-icon material-icons" title="{l s='Total amount you will receive on your bank account: the order amount, minus transaction fees, minus potential refunds' d='Modules.Checkout.Pscheckout'}">info</i>
</dt>
<dd data-test="balance-value">{$orderPayPal.balance}</dd>
<dt data-grid-area="environment">
{l s='Environment' d='Modules.Checkout.Pscheckout'}
<i class="environment-info-icon material-icons" title="{l s='The environment in which the transaction was made: Test or Production' d='Modules.Checkout.Pscheckout'}">info</i>
</dt>
<dd data-grid-area="environment-value">
<span data-test="payment-env-value" class="badge rounded badge-paypal-environment-{if $isProductionEnv}live{else}sandbox{/if}" data-value="{$psPayPalOrder->getEnvironment()|escape:'html':'UTF-8'}">
{if $isProductionEnv}
{l s='Production' d='Modules.Checkout.Pscheckout'}
{else}
{l s='Test' d='Modules.Checkout.Pscheckout'}
{/if}
</span>
</dd>
<dt data-grid-area="payment">{l s='Payment mode' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-test="payment-mode-value">{$orderPayPal.paymentSourceName|escape:'html':'UTF-8'} <img src="{$orderPayPal.paymentSourceLogo}" alt="{$orderPayPal.paymentSourceName|escape:'html':'UTF-8'}" title="{$orderPayPal.paymentSourceName|escape:'html':'UTF-8'}" height="20"></dd>
{if $psPayPalOrder->getFundingSource() === 'card'}
<dt data-grid-area="card-sca">{l s='3D Secure' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-grid-area="card-sca-value">
{if $orderPayPal.is3DSNotRequired}
<span class="badge rounded badge-warning">
{l s='Not required' d='Modules.Checkout.Pscheckout'}
</span>
{elseif $orderPayPal.is3DSecureAvailable && $orderPayPal.isLiabilityShifted}
<span class="badge rounded badge-success">
{l s='Success' d='Modules.Checkout.Pscheckout'}
</span>
{elseif $orderPayPal.is3DSecureAvailable && !$orderPayPal.isLiabilityShifted}
<span class="badge rounded badge-danger">
{l s='Failed' d='Modules.Checkout.Pscheckout'}
</span>
{else}
<span class="badge rounded badge-warning">
{l s='Card does not support 3D Secure' d='Modules.Checkout.Pscheckout'}
</span>
{/if}
</dd>
<dt data-grid-area="card-liability">{l s='Liability shift' d='Modules.Checkout.Pscheckout'}</dt>
<dd data-grid-area="card-liability-value">
{if $orderPayPal.isLiabilityShifted}
<span class="badge rounded badge-success">
{l s='Bank' d='Modules.Checkout.Pscheckout'}
</span>
{else}
<span class="badge rounded badge-warning">
{l s='Merchant' d='Modules.Checkout.Pscheckout'}
</span>
{/if}
</dd>
{/if}
</dl>
{if $psPayPalOrder->getFundingSource() === 'card' && !$orderPayPal.isLiabilityShifted}
<div class="liability-explanation">
{if $orderPayPal.is3DSNotRequired}
{l s='Your 3D Secure settings for this transaction were set to "Strong Customer Authentication (SCA) when required", but the current transaction does not require it as per the regulation.' d='Modules.Checkout.Pscheckout'}
{/if}
{l s='The bank issuer declined the liability shift. We advice you not to honor the order immediately, wait a few days in case of chargeback and contact the consumer to ensure authenticity of the transaction. For this type of cases we also recommend to consider Chargeback protection.' d='Modules.Checkout.Pscheckout'}
</div>
{/if}
{if $psPayPalOrder->getFundingSource() === 'card' && $orderPayPal.isLiabilityShifted}
<div class="liability-explanation">
{l s='The bank issuer accepted the liability shift. You can safely honor the order.' d='Modules.Checkout.Pscheckout'}
</div>
{/if}
</div>
</div>
{if !empty($orderPayPal.transactions)}
<div class="select-wrapper">
<select name="select-tab" id="select-transaction" class="select-wrapper__select">
{foreach $orderPayPal.transactions as $orderPayPalTransaction}
<option value="{$orderPayPalTransaction.id}-tab">{dateFormat date=$orderPayPalTransaction.date full=true} - {$orderPayPalTransaction.type.translated|escape:'html':'UTF-8'} | {if $orderPayPalTransaction.type.value === 'refund'}-{else}+{/if} {$orderPayPalTransaction.amount|escape:'html':'UTF-8'} {$orderPayPalTransaction.currency|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
<div class="tabs">
<div role="tablist" aria-label="Transactions">
{assign var="counter" value=1}
{foreach $orderPayPal.transactions as $orderPayPalTransaction}
<button
role="tab"
aria-selected="{if $counter eq 1}true{else}false{/if}"
aria-controls="{$orderPayPalTransaction.id}-tab"
class="tab"
>
<strong class="tab__btn-title">{$orderPayPalTransaction.type.translated|escape:'html':'UTF-8'}</strong>
<span class="tab__btn-infos">
<span class="tab__btn-time">{dateFormat date=$orderPayPalTransaction.date full=true}</span>
<strong class="tab__btn-amount">
{if $orderPayPalTransaction.type.value === 'refund'}-{else}+{/if}
{$orderPayPalTransaction.amount|escape:'html':'UTF-8'} {$orderPayPalTransaction.currency|escape:'html':'UTF-8'}
</strong>
</span>
</button>
{assign var="counter" value=$counter+1}
{/foreach}
</div>
<div class="tabpanel-wrapper">
{assign var="counter" value=1}
{foreach $orderPayPal.transactions as $orderPayPalTransaction}
{assign var="maxAmountRefundable" value=$orderPayPalTransaction.maxAmountRefundable|string_format:"%.2f"}
{assign var="orderPayPalRefundAmountIdentifier" value='orderPayPalRefundAmount'|cat:$orderPayPalTransaction.id}
<div
tabindex="0"
role="tabpanel"
id="{$orderPayPalTransaction.id}-tab"
aria-labelledby="first"
class="tabpanel"
{if $counter neq 1}hidden="hidden"{/if}
>
<div>
<h3 class="tabpanel__title">{l s='Transaction details' d='Modules.Checkout.Pscheckout'}</h3>
<dl class="tabpanel__infos">
<dt>{l s='Reference' d='Modules.Checkout.Pscheckout'}</dt>
<dd>{$orderPayPalTransaction.id}</dd>
<dt>{l s='Status' d='Modules.Checkout.Pscheckout'}</dt>
<dd>
<span class="badge rounded badge-{$orderPayPalTransaction.status.class|escape:'html':'UTF-8'}">
{$orderPayPalTransaction.status.translated|escape:'html':'UTF-8'}
</span>
</dd>
<dt>{l s='Amount (Tax incl.)' d='Modules.Checkout.Pscheckout'}</dt>
<dd>{$orderPayPalTransaction.amount} {$orderPayPalTransaction.currency}</dd>
{if !empty($orderPayPalTransaction.seller_protection)}
<dt>
{l s='Seller protection' d='Modules.Checkout.Pscheckout'}
<i class="seller-protection-info-icon material-icons" title="{$orderPayPalTransaction.seller_protection.help|escape:'html':'UTF-8'}">info</i>
</dt>
<dd>
<span class="badge rounded badge-{$orderPayPalTransaction.seller_protection.class|escape:'html':'UTF-8'}">
{$orderPayPalTransaction.seller_protection.translated|escape:'html':'UTF-8'}
</span>
</dd>
{/if}
</dl>
</div>
{if $orderPayPalTransaction.gross_amount || $orderPayPalTransaction.paypal_fee || $orderPayPalTransaction.net_amount}
<div>
<h3 class="tabpanel__title">{l s='Transaction amounts' d='Modules.Checkout.Pscheckout'}</h3>
<dl class="tabpanel__infos">
{if $orderPayPalTransaction.gross_amount}
<dt>{l s='Gross amount' d='Modules.Checkout.Pscheckout'}</dt>
<dd>{$orderPayPalTransaction.gross_amount} {$orderPayPalTransaction.currency}</dd>
{/if}
{if $orderPayPalTransaction.paypal_fee}
<dt>{l s='Fees (Tax Incl.)' d='Modules.Checkout.Pscheckout'}</dt>
<dd>- {$orderPayPalTransaction.paypal_fee} {$orderPayPalTransaction.currency}</dd>
{/if}
{if $orderPayPalTransaction.net_amount}
<dt>{l s='Net amount' d='Modules.Checkout.Pscheckout'}</dt>
<dd>{$orderPayPalTransaction.net_amount} {$orderPayPalTransaction.currency}</dd>
{/if}
</dl>
</div>
{/if}
<a href="https://www.paypal.com/activity/payment/{$orderPayPalTransaction.id|escape:'html':'UTF-8'}" target="_blank" class="tabpanel__cta">
{l s='See on PayPal' d='Modules.Checkout.Pscheckout'}
</a>
{if $orderPayPalTransaction.isRefundable}
<div class="panel__cta">
{l s='Any change on the order?' d='Modules.Checkout.Pscheckout'}
<a class="refund" data-transaction-id="{$orderPayPalTransaction.id|escape:'html':'UTF-8'}">
{l s='Refund' d='Modules.Checkout.Pscheckout'}
</a>
</div>
{/if}
</div>
{if $orderPayPalTransaction.isRefundable}
<div id="ps-checkout-refund-{$orderPayPalTransaction.id|escape:'html':'UTF-8'}" class="modal fade ps-checkout-refund" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{$orderPayPalBaseUrl|escape:'html':'UTF-8'}" method="POST" class="form-horizontal ps-checkout-refund-form">
<div class="modal-header">
<h5 class="modal-title">
<img src="{$moduleLogoUri}" width="20" height="20" alt="logo"> {l s='Refund transaction totally or partially' d='Modules.Checkout.Pscheckout'}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="{l s='Cancel' d='Modules.Checkout.Pscheckout'}">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body mb-2">
<div class="modal-notifications"></div>
<div class="modal-content-container">
<div class="form-group mb-0">
<div class="row">
<div class="col-md-12">
<p class="mb-2">
<b>{l s='Order details' d='Modules.Checkout.Pscheckout'}</b>
</p>
</div>
</div>
<div class="order-totals">
<div class='order-totals-column'>
<p>{l s='Gross amount' d='Modules.Checkout.Pscheckout'}</p>
<p>{l s='Fees (Tax Incl.)' d='Modules.Checkout.Pscheckout'}</p>
<p>
<b>{l s='Amount (Tax Incl.)' d='Modules.Checkout.Pscheckout'}</b>
</p>
</div>
<div class='order-totals-column'>
<p>
<b>{$orderPayPal.total}</b>
</p>
<p>
<b>{$orderPayPal.fees}</b>
</p>
<p>
<b>{$orderPayPal.balance}</b>
</p>
</div>
</div>
<div class="row separator"></div>
<div class="row">
<div class="col-md-6">
<label class="form-control-label" for="{$orderPayPalRefundAmountIdentifier|escape:'html':'UTF-8'}">
<b>{l s='Net amount to refund' d='Modules.Checkout.Pscheckout'}</b>
</label>
</div>
<div class="col-md-6">
<input name="ajax" type="hidden" value="1">
<input name="action" type="hidden" value="RefundOrder">
<input name="orderPayPalRefundTransaction" type="hidden" value="{$orderPayPalTransaction.id|escape:'html':'UTF-8'}">
<input name="orderPayPalRefundOrder" type="hidden" value="{$orderPayPal.id|escape:'html':'UTF-8'}">
<input name="orderPayPalRefundCurrency" type="hidden" value="{$orderPayPalTransaction.currency|escape:'html':'UTF-8'}">
<div class="input-group-append">
<div class="input-group-text">{$orderPayPalTransaction.currency|escape:'html':'UTF-8'}</div>
<input
class="form-control text-right"
name="orderPayPalRefundAmount"
id="{$orderPayPalRefundAmountIdentifier|escape:'html':'UTF-8'}"
type="number"
step=".01"
min="0.01"
max="{$maxAmountRefundable|escape:'html':'UTF-8'}"
>
</div>
<p class="text-muted">
{l s='Maximum [AMOUNT_MAX] [CURRENCY] (tax included)' sprintf=['[AMOUNT_MAX]' => $orderPayPalTransaction.maxAmountRefundable|escape:'html':'UTF-8'|string_format:"%.2f", '[CURRENCY]' => $orderPayPalTransaction.currency|escape:'html':'UTF-8'] d='Modules.Checkout.Pscheckout'}
<a href="#">
{l s='Learn more' d='Modules.Checkout.Pscheckout'}
</a>
</p>
</div>
</div>
</div>
<p class="text-muted">
{l s='Your transaction refund request will be sent to PayPal. After that, youll need to manually process the refund action in the PrestaShop order: choose the type of refund (standard or partial) in order to generate credit slip.' d='Modules.Checkout.Pscheckout'}
</p>
</div>
<div class="modal-loader text-center">
<button class="btn-primary-reverse onclick unbind spinner"></button>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-primary" data-dismiss="modal">
{l s='Cancel' d='Modules.Checkout.Pscheckout'}
</button>
<button type="button" class="btn btn-primary refund-submit" disabled>
{l s='Refund' d='Modules.Checkout.Pscheckout'} <span class="refund-value" data-transaction-currency="{$orderPayPalTransaction.currency|escape:'html':'UTF-8'}"></span>
</button>
<button type="submit" class="btn btn-primary refund-confirm" hidden="hidden">
{l s='Confirm refund' d='Modules.Checkout.Pscheckout'}
</button>
</div>
</form>
</div>
</div>
</div>
{/if}
{assign var="counter" value=$counter+1}
{/foreach}
</div>
</div>
{/if}
{/if}
</div>

View File

@@ -0,0 +1,60 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
{if isset($hasRequiredDependencies) && !$hasRequiredDependencies}
<script src="https://assets.prestashop3.com/dst/mbo/v1/mbo-cdc-dependencies-resolver.umd.js"></script>
<div id="mbo-cdc-container"></div>
<script defer>
const renderMboCdcDependencyResolver = window?.mboCdcDependencyResolver?.render
const context = {
...{$requiredDependencies|json_encode},
onDependenciesResolved: () => {
setTimeout(() => {
window.location.reload()
}, 2000);
},
onDependencyResolved: (dependencyData) => console.log('Dependency installed', dependencyData),
onDependencyFailed: (dependencyData) => console.log('Failed to install dependency', dependencyData),
onDependenciesFailed: () => console.log('There are some errors'),
}
renderMboCdcDependencyResolver(context, '#mbo-cdc-container')
</script>
{/if}
<div id="app"{if isset($hasRequiredDependencies) && !$hasRequiredDependencies} style="display:none;"{/if}></div>
<style>
/** Hide native multistore module activation panel, because of visual regressions on non-bootstrap content */
#content.nobootstrap div.bootstrap.panel {
display: none;
}
</style>
<script>
// Enhance page subtitle with module version
const pageSubtitles = document.querySelectorAll('#content.nobootstrap .page-head .page-subtitle, #content.bootstrap .page-head .page-subtitle');
const moduleVersion = window?.store?.context?.moduleVersion ? ' v' + window.store.context.moduleVersion : '';
pageSubtitles?.forEach((pageSubtitle) => {
if (pageSubtitle) {
pageSubtitle.textContent = pageSubtitle.textContent
+ moduleVersion;
}
});
</script>

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,41 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
{extends file='page.tpl'}
{block name='content'}
<div class="ps-checkout wrapper">
<div class="ps-checkout content">
<div class="alert alert-danger">
{if isset($error)}
{$error}
{else}
{l s='3DS verification failed, please try again.' d='Modules.Checkout.Pscheckout'}
{/if}
</div>
<div class="ps-checkout order-link">
<a href="{$order_url}">{l s='Back to order page' d='Modules.Checkout.Pscheckout'}</a>
</div>
</div>
</div>
{/block}
{block name='notifications'}
{/block}
{block name='header'}
{/block}
{block name="footer"}
{/block}

View File

@@ -0,0 +1,63 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
{if $incompatibleCodes}
<div class="container">
<div class="banner-alert">
<div class="banner-icon">
<i class="material-icons">error_outline</i>
</div>
<div class="banner-text">
<h2>
{if $codesType === 'countries'}
{l s='PrestaShop Checkout transactions won\'t work in some of your configured countries, but there is a solution !' d='Modules.Checkout.Pscheckout'}
{elseif $codesType === 'currencies'}
{l s='PrestaShop Checkout transactions won\'t work in some of your configured currencies, but there is a solution !' d='Modules.Checkout.Pscheckout'}
{/if}
</h2>
<p class="banner-upgrade-info">
{l s='Please upgrade your settings for :' d='Modules.Checkout.Pscheckout'}
</p>
<p class="incompatible-list">
<b><i>
{foreach $incompatibleCodes as $key => $incompatibleCode}
{$incompatibleCode}{if $key != count($incompatibleCodes) - 1},{/if}
{/foreach}
</i></b>
</p>
<a href="{$paymentPreferencesLink}" class="button-link" target="_blank">
{if $codesType === 'countries'}
{l s='Change countries activation for this payment module' d='Modules.Checkout.Pscheckout'}
{elseif $codesType === 'currencies'}
{l s='Change currencies activation for this payment module' d='Modules.Checkout.Pscheckout'}
{/if}
</a>
<a class="btn btn-link banner-link" href="{$paypalLink}" target="_blank">
{l s='Know more about compliant ISO Codes' d='Modules.Checkout.Pscheckout'}
<i class="material-icons banner-link-icon">trending_flat</i>
</a>
</div>
</div>
</div>
{/if}

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,65 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div class="container">
<div class="row">
<div class="col">
<div class="card" data-test="ps-checkout-card">
<h3 class="card-header">
<i class="material-icons">extension</i> {l s='One module, all payments methods.' d='Modules.Checkout.Pscheckout'}
</h3>
<div class="card-block">
<div class="module-item-list">
<div class="row module-item-wrapper-list py-3">
<div class="col-12 col-sm-2 col-md-2 col-lg-3">
<div class="img m-auto">
</div>
</div>
<div class="row col-12 col-sm-6 col-md-7 col-lg-7 pl-0">
<div class="col-12 col-sm-12 col-md-12 col-lg-8 pl-0">
<ul class="text-muted">
<li class="mb-1">{l s='Offer the widest range of payment methods: cards, PayPal, etc.' d='Modules.Checkout.Pscheckout'}</li>
<li class="mb-1">{l s='Benefit from all PayPal expertise and advantages' d='Modules.Checkout.Pscheckout'}</li>
<li>{l s='Give access to relevant local payment methods for customers around the globe' d='Modules.Checkout.Pscheckout'}</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-12 col-lg-4 pl-0">
<label class="text-muted">
{l s='Including:' d='Modules.Checkout.Pscheckout'}
</label>
<div>
<img class="payment-icon" src="{$modulePath|escape:'htmlall':'UTF-8'}views/img/paypal.jpg" alt="">
<img class="payment-icon" src="{$modulePath|escape:'htmlall':'UTF-8'}views/img/visa.jpg" alt="">
<img class="payment-icon" src="{$modulePath|escape:'htmlall':'UTF-8'}views/img/mastercard.jpg" alt="">
</div>
</div>
</div>
<div class="col-12 col-sm-4 col-md-3 col-lg-2 mb-3 m-auto">
<div class="text-xs-center">
<a href="{$configureLink|escape:'htmlall':'UTF-8'}" class="btn btn-primary-reverse btn-outline-primary light-button">
{l s='Configure' d='Modules.Checkout.Pscheckout'}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,36 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div class="card mt-2" id="ps_checkout">
<div class="card-header">
<h3 class="card-header-title">
<img src="{$moduleLogoUri|escape:'html':'UTF-8'}" alt="{$moduleName|escape:'html':'UTF-8'}" width="20" height="20">
{$moduleName|escape:'html':'UTF-8'}
</h3>
</div>
<div class="card-body">
<div class="paypal-order-notifications"></div>
<div class="paypal-order-container"></div>
<div class="paypal-order-loader text-center">
<button class="btn-primary-reverse onclick unbind spinner"></button>
</div>
</div>
</div>
{include file='./partials/adminOrderView.tpl' orderPrestaShopId=$orderPrestaShopId orderPayPalBaseUrl=$orderPayPalBaseUrl}

View File

@@ -0,0 +1,49 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<section id="ps_checkout-displayOrderConfirmation">
{if $orderPayPalTransactionStatus === 'PENDING' || $orderPayPalStatus === 'APPROVED' || $orderPayPalStatus === 'CREATED'}
<div class="alert alert-warning">
{l s='Your order is waiting for payment confirmation. You will receive an email when your payment has been validated. You can also check the order status in your order history in your account.' d='Modules.Checkout.Pscheckout'}
</div>
{/if}
{if $orderPayPalTransactionStatus === 'DECLINED' || $orderPayPalTransactionStatus === 'FAILED'}
<div class="alert alert-danger">
<a href="#ps_checkout-displayPaymentReturn" class="alert-link">
{$translations.notificationFailed|escape:'html':'UTF-8'}
</a>
</div>
{/if}
{if $approvalLink && $orderPayPalStatus === 'PENDING_APPROVAL'}
<div class="alert alert-warning">
<a href="#ps_checkout-displayPaymentReturn" class="alert-link" style="margin: initial;padding: initial;">
{$translations.notificationPendingApproval|escape:'html':'UTF-8'}
</a>
</div>
{/if}
{if $payerActionLink && $orderPayPalStatus === 'PAYER_ACTION_REQUIRED'}
<div class="alert alert-warning">
<a href="#ps_checkout-displayPaymentReturn" class="alert-link" style="margin: initial;padding: initial;">
{$translations.notificationPayerActionRequired|escape:'html':'UTF-8'}
</a>
</div>
{/if}
</section>

View File

@@ -0,0 +1,88 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<section id="ps_checkout-displayOrderDetail">
<div class="card border-1 mb-4">
<div class="card-body">
<h2 class="h2 mb-4">
{$translations.blockTitle|escape:'html':'UTF-8'}
</h2>
{if $orderPayPalTransactionStatus === 'DECLINED' || $orderPayPalTransactionStatus === 'FAILED'}
<div class="alert alert-danger">
{$translations.notificationFailed|escape:'html':'UTF-8'}
</div>
{/if}
{if $approvalLink && $orderPayPalStatus === 'PENDING_APPROVAL'}
<div class="alert alert-warning">
{$translations.notificationPendingApproval|escape:'html':'UTF-8'}
</div>
{/if}
{if $payerActionLink && $orderPayPalStatus === 'PAYER_ACTION_REQUIRED'}
<div class="alert alert-warning">
{$translations.notificationPayerActionRequired|escape:'html':'UTF-8'}
</div>
{/if}
<ul>
<li>
{$translations.fundingSource|escape:'html':'UTF-8'}: {$orderPayPalFundingSourceTranslated|escape:'html':'UTF-8'}
</li>
{if $orderPayPalTransactionId}
<li>{$translations.transactionIdentifier|escape:'html':'UTF-8'}: {$orderPayPalTransactionId|escape:'html':'UTF-8'}</li>
<li>{$translations.transactionStatus|escape:'html':'UTF-8'}: {$orderPayPalTransactionStatusTranslated|escape:'html':'UTF-8'}</li>
<li>{$translations.amountPaid|escape:'html':'UTF-8'}: {$orderPayPalTransactionAmount|escape:'html':'UTF-8'}</li>
{else}
<li>{$translations.orderIdentifier|escape:'html':'UTF-8'}: {$orderPayPalId|escape:'html':'UTF-8'}</li>
<li>{$translations.orderStatus|escape:'html':'UTF-8'}: {$orderPayPalStatus|escape:'html':'UTF-8'}</li>
{/if}
</ul>
{if $approvalLink && $orderPayPalStatus === 'PENDING_APPROVAL'}
<div class="alert alert-warning">
{$translations.notificationPendingApproval|escape:'html':'UTF-8'}
</div>
<p>
<a class="btn btn-primary" href="{$approvalLink|escape:'html':'UTF-8'}">
{$translations.buttonApprove|escape:'html':'UTF-8'}
</a>
{$translations.externalRedirection|escape:'html':'UTF-8'}
</p>
{/if}
{if $payerActionLink && $orderPayPalStatus === 'PAYER_ACTION_REQUIRED' }
<div class="alert alert-warning">
{$translations.notificationPayerActionRequired|escape:'html':'UTF-8'}
</div>
<p>
<a class="btn btn-primary" href="{$payerActionLink|escape:'html':'UTF-8'}">
{$translations.buttonPayerAction|escape:'html':'UTF-8'}
</a>
{$translations.externalRedirection|escape:'html':'UTF-8'}
</p>
{/if}
<a href="{$contactUsLink|escape:'html':'UTF-8'}" class="contact-us">
{$translations.contactLink|escape:'html':'UTF-8'}
</a>
</div>
</div>
</section>

View File

@@ -0,0 +1,25 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
{foreach from=$paymentOptions item="fundingSource"}
<section class="js-payment-binary js-payment-ps_checkout js-payment-ps_checkout-{$fundingSource} mt-1 disabled">
<div id="ps_checkout-{$fundingSource}-buttons-container">
<div class="ps_checkout-button" data-funding-source="{$fundingSource}"></div>
</div>
</section>
{/foreach}

View File

@@ -0,0 +1,79 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<section id="ps_checkout-displayPaymentReturn">
<div class="card border-1 mb-4">
<div class="card-body">
<h2 class="h2 mb-4">
{$translations.blockTitle|escape:'html':'UTF-8'}
</h2>
<ul>
<li>
{$translations.fundingSource|escape:'html':'UTF-8'}: {$orderPayPalFundingSourceTranslated|escape:'html':'UTF-8'}
</li>
{if $vault}
<li>{$translations.paymentMethodStatus|escape:'html':'UTF-8'}: {$tokenIdentifier|escape:'html':'UTF-8'}
{if $isTokenSaved}
{$translations.paymentTokenSaved|escape:'html':'UTF-8'}
{else}
{$translations.paymentTokenNotSaved|escape:'html':'UTF-8'}
{/if}
</li>
{/if}
{if $orderPayPalTransactionId}
<li>{$translations.transactionIdentifier|escape:'html':'UTF-8'}: {$orderPayPalTransactionId|escape:'html':'UTF-8'}</li>
<li>{$translations.transactionStatus|escape:'html':'UTF-8'}: {$orderPayPalTransactionStatusTranslated|escape:'html':'UTF-8'}</li>
<li>{$translations.amountPaid|escape:'html':'UTF-8'}: {$orderPayPalTransactionAmount|escape:'html':'UTF-8'}</li>
{else}
<li>{$translations.orderIdentifier|escape:'html':'UTF-8'}: {$orderPayPalId|escape:'html':'UTF-8'}</li>
<li>{$translations.orderStatus|escape:'html':'UTF-8'}: {$orderPayPalStatus|escape:'html':'UTF-8'}</li>
{/if}
</ul>
{if $approvalLink && $orderPayPalStatus === 'PENDING_APPROVAL'}
<div class="alert alert-warning">
{$translations.notificationPendingApproval|escape:'html':'UTF-8'}
</div>
<p>
<a class="btn btn-primary" href="{$approvalLink|escape:'html':'UTF-8'}">
{$translations.buttonApprove|escape:'html':'UTF-8'}
</a>
{$translations.externalRedirection|escape:'html':'UTF-8'}
</p>
{/if}
{if $payerActionLink && $orderPayPalStatus === 'PAYER_ACTION_REQUIRED' }
<div class="alert alert-warning">
{$translations.notificationPayerActionRequired|escape:'html':'UTF-8'}
</div>
<p>
<a class="btn btn-primary" href="{$payerActionLink|escape:'html':'UTF-8'}">
{$translations.buttonPayerAction|escape:'html':'UTF-8'}
</a>
{$translations.externalRedirection|escape:'html':'UTF-8'}
</p>
{/if}
<a href="{$contactUsLink|escape:'html':'UTF-8'}" class="contact-us">
{$translations.contactLink|escape:'html':'UTF-8'}
</a>
</div>
</div>
</section>

View File

@@ -0,0 +1,65 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div id="ps_checkout-notification-container">
<div id="ps_checkout-canceled" class="alert alert-warning-custom" style="display:none;">
<img src="{$shoppingCartWarningPath|escape:'htmlall':'UTF-8'}" alt="{$warningTranslatedText|escape:'htmlall':'UTF-8'}">
<strong>{l s='Processing payment canceled, please choose another payment method or try again.' d='Modules.Checkout.Pscheckout'}</strong>
</div>
<div id="ps_checkout-error" class="alert alert-danger-custom" style="display:none;">
<img src="{$shoppingCartWarningPath|escape:'htmlall':'UTF-8'}" alt="{$warningTranslatedText|escape:'htmlall':'UTF-8'}">
<strong><span id="ps_checkout-error-text"></span></strong>
</div>
</div>
{if $isExpressCheckout}
<div class="express-checkout-block mb-2" id="ps_checkout-express-checkout-banner">
<img src="{$paypalLogoPath|escape:'htmlall':'UTF-8'}" class="express-checkout-img" alt="PayPal">
<p class="express-checkout-label">
{$translatedText|escape:'htmlall':'UTF-8'}
</p>
</div>
{/if}
<div id="ps_checkout-loader" class="express-checkout-block mb-2">
<div class="express-checkout-block-wrapper">
<p class="express-checkout-spinner-text">
{$loaderTranslatedText|escape:'htmlall':'UTF-8'}
</p>
<div class="express-checkout-spinner">
<img src="{$spinnerPath|escape:'htmlall':'UTF-8'}" alt="{$loaderTranslatedText|escape:'htmlall':'UTF-8'}">
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const paymentOptions = document.querySelectorAll('input[name="payment-option"]');
if (null !== paymentOptions) {
paymentOptions.forEach(function(paymentOption) {
const paymentOptionContainer = document.getElementById(paymentOption.id + '-container');
const paymentOptionName = paymentOption.getAttribute('data-module-name');
if (!paymentOptionContainer.classList.contains('ps_checkout-payment-option') && -1 !== paymentOptionName.search('ps_checkout')) {
paymentOptionContainer.style.display = 'none';
}
});
}
});
</script>

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,39 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<script>
if (undefined !== window.ps_checkout) {
ps_checkout.initialize({
orderPrestaShopId: {$orderPrestaShopId|intval},
orderPayPalBaseUrl: '{$orderPayPalBaseUrl|escape:'javascript':'UTF-8'}',
orderPayPalContainer: '.paypal-order-container',
orderPayPalLoaderContainer: '.paypal-order-loader',
orderPayPalNotificationsContainer: '.paypal-order-notifications',
orderPayPalRefundButton: '#ps_checkout a.refund',
orderPayPalRefundButtonValue: 'button.refund-submit span.refund-value',
orderPayPalRefundSubmitButton: 'button.refund-submit',
orderPayPalRefundConfirmButton: 'button.refund-confirm',
orderPayPalModalContainerPrefix: '#ps-checkout-refund-',
orderPayPalModalContainer: '.ps-checkout-refund',
orderPayPalModalNotificationsContainer: '.modal-notifications',
orderPayPalModalContentContainer: '.modal-content-container',
orderPayPalModalLoaderContainer: '.modal-loader',
orderPayPalModalRefundForm: '.ps-checkout-refund-form',
});
}
</script>

View File

@@ -0,0 +1,74 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div>
<form id="ps_checkout-card-fields-form" class="form-horizontal loading">
<div id="ps_checkout-card-fields-form-loader">
<img src="{$modulePath}views/img/tail-spin.svg" alt="spin">
</div>
<div>
<label class="form-control-label" for="ps_checkout-card-fields-name">{l s='Cardholder Name (optional)' d='Modules.Checkout.Pscheckout'}</label>
<div id="ps_checkout-card-fields-name"></div>
<div id="ps_checkout-card-fields-name-error" class="alert alert-danger hidden">{l s='Card holder name is invalid' d='Modules.Checkout.Pscheckout'}</div>
</div>
<div>
<label class="form-control-label" for="ps_checkout-card-fields-number">{l s='Card number' d='Modules.Checkout.Pscheckout'}</label>
<div id="ps_checkout-card-fields-number" ></div>
<div id="ps_checkout-card-fields-number-error" class="alert alert-danger hidden">{l s='Card number is invalid' d='Modules.Checkout.Pscheckout'}</div>
<div id="ps_checkout-card-fields-vendor-error" class="alert alert-danger hidden">{l s='Card vendor is invalid' d='Modules.Checkout.Pscheckout'}</div>
</div>
<div class="row">
<div class="col-xs-6 col-6">
<label class="form-control-label" for="ps_checkout-card-fields-expiry">{l s='Card expiration date' d='Modules.Checkout.Pscheckout'}</label>
<div id="ps_checkout-card-fields-expiry" ></div>
<div id="ps_checkout-card-fields-expiry-error" class="alert alert-danger hidden">{l s='Card expiration date is invalid' d='Modules.Checkout.Pscheckout'}</div>
</div>
<div class="col-xs-6 col-6">
<div class="ps_checkout-card-fields-cvv-label-wrapper">
<label class="form-control-label" for="ps_checkout-card-fields-cvv">{l s='CVC' d='Modules.Checkout.Pscheckout'}</label>
<div class="ps_checkout-info-wrapper">
<div class="ps_checkout-info-button" onmouseenter="cvvEnter()" onmouseleave="cvvLeave()">i
<div class="popup-content" id="cvv-popup">
<img src="{$modulePath}views/img/cvv.svg" alt="cvv">
{l s='The security code is a' d='Modules.Checkout.Pscheckout'} <b>{l s='3-digits' d='Modules.Checkout.Pscheckout'}</b> {l s='code on the back of your credit card. In some cases, it can be 4-digits or on the front of your card.' d='Modules.Checkout.Pscheckout'}
</div>
</div>
</div>
</div>
<div id="ps_checkout-card-fields-cvv" ></div>
<div id="ps_checkout-card-fields-cvv-error" class="alert alert-danger hidden">{l s='CVV code is invalid' d='Modules.Checkout.Pscheckout'}</div>
</div>
</div>
{if $vaultingEnabled}
{include file='module:ps_checkout/views/templates/hook/partials/vaultPaymentFields.tpl' paymentIdentifier='card'}
{/if}
<div id="payments-sdk__contingency-lightbox"></div>
</form>
</div>
<script>
function cvvEnter() {
var popup = document.getElementById("cvv-popup");
popup.classList.add("show");
}
function cvvLeave() {
var popup = document.getElementById("cvv-popup");
popup.classList.remove("show");
}
</script>

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,40 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div>
<form id="ps_checkout-pay-upon-invoice-fields-form" class="form-horizontal loading">
<div class="form-group">
<label for="ps_checkout-pui-birthday" class="form-control-label required">
{l s='Date of Birth' d='Modules.Checkout.Pscheckout'}
</label>
<input
type="date"
id="ps_checkout-pui-birthday"
name="ps_checkout-pui-birthday"
class="form-control"
required="required"
placeholder="YYYY-MM-DD"
{if !empty($min_date)}min="{$min_date}"{/if}
{if !empty($max_date)}max="{$max_date}"{/if}
{if isset($customerBirthday) && $customerBirthday}value="{$customerBirthday|escape:'html':'UTF-8'}"{/if}
/>
<span class="form-control-comment" id="ps_checkout-pui-birthday-error" style="display: none; color: #dc3545;"></span>
</div>
<div id="paypal-legal-container"></div>
</form>
</div>

View File

@@ -0,0 +1,27 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<div class="ps_checkout-vault-payment-container-{$paymentIdentifier} ps_checkout-vault-fields">
<div>
<label for="ps_checkout-vault-payment-{$paymentIdentifier}" class="ps_checkout-vault-label">
<input type="checkbox" value="1" name="ps_checkout-vault-payment-{$paymentIdentifier}" id="ps_checkout-vault-payment-{$paymentIdentifier}">
{l s='Securely store payment details for future purchases' d='Modules.Checkout.Pscheckout'}
<img src="{$modulePath}views/img/icons/lock_fill.svg" alt="lock" width="15" height="15">
</label>
</div>
</div>

View File

@@ -0,0 +1,23 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
{if $vaultingEnabled}
<form id="ps_checkout-vault-payment-form-{$paymentIdentifier}" class="form-horizontal">
{include file='module:ps_checkout/views/templates/hook/partials/vaultPaymentFields.tpl' paymentIdentifier=$paymentIdentifier}
</form>
{/if}

View File

@@ -0,0 +1,35 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*}
<form id="ps_checkout-vault-token-form-{$paymentIdentifier}" class="form-horizontal ps_checkout-vault-token-form">
<div>
<span class="ps_checkout-token-explanation">
{if $isFavorite}
{l s='This payment method has been saved to your account and defined as favorite for future purchases.' d='Modules.Checkout.Pscheckout'}
{else}
{l s='This payment method has been saved to your account.' d='Modules.Checkout.Pscheckout'}
{/if}
</span>
</div>
<div>
<button type="button" id="delete-{$paymentIdentifier}" class="ps_checkout-vault-token-delete">{l s='Delete' d='Modules.Checkout.Pscheckout'}</button>
</div>
<input type="hidden" name="ps_checkout-funding-source-{$paymentIdentifier}" value="{$fundingSource}">
<input type="hidden" name="ps_checkout-vault-id-{$paymentIdentifier}" value="{$vaultId}">
<input type="hidden" name="ps_checkout-vault-label-{$paymentIdentifier}" value="{$label}">
</form>

View File

@@ -0,0 +1,29 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License version 3.0
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;