{% extends 'Layouts/Doc/default.html.twig' %}
{% block title %}
{{ 'app.documentation.menu.architecture.drivers'|trans }}
{% endblock %}
{% block headerPageTitle %}
{{ 'app.documentation.menu.workflow.payments'|trans|upper }}
{% endblock %}
{% block body %}
<div class="card mb-12">
<div class="card-body flex-column p-5">
<div class="d-flex align-items-center h-lg-100px p-5 p-lg-15">
<div class="row">
<div class="col-md-12 pt-5 scroll-y">
<div class="position-relative w-100 text-gray-800">
<p><strong>Payment status: </strong>play a crucial role in the click and collect system, providing insights into the progress and outcome of payment transactions. These statuses help track the journey of a payment, from initiation to completion or cancellation. Understanding these payment statuses is essential for both customers and merchants to ensure a smooth and transparent payment experience. Here are some of the key payment statuses you may encounter:</p>
</div>
</div>
</div>
</div>
<div class="d-flex flex-column">
<div class="row table-responsive">
<div class="col-12 offset-3">
{% include 'Doc/Diagram/payment.html.twig' %}
</div>
</div>
</div>
<div class="d-flex align-items-center p-lg-15">
<div class="row">
<div class="col-md-12 pt-5 scroll-y">
{% include 'Doc/States/states_constants_title.html.twig' %}
<ul>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.new} %}
<p>
<ul>
<li>The <strong>new</strong> payment status typically indicates that a payment transaction has been initiated or recorded in the system but is awaiting further processing or verification.</li>
<li>When a customer completes the checkout process and proceeds to payment, the payment information is <strong>captured by the system directly</strong>, otherwise via <strong>notification</strong> from our payment solutions <strong>webhooks</strong>.</li>
<li>At this stage, the payment status is marked as <strong>new</strong>, to signify that the transaction is <strong>awaiting for updated</strong> on the payement.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.requires_action} %}
<p>
<ul>
<li>When a payment transaction encounters certain conditions or requires additional verification such as <strong>3D Secure</strong>, the payment status may be set as <strong>Requires action</strong>.</li>
<li>This status signifies that there is an <strong>action needed</strong> on the customer end to proceed with the payment process.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.awaiting_payment} %}
<p>
In case of an offline payment and during the creation of an order payment, the status becomes <strong>awaiting payment</strong> waiting to pay for the order.
</p>
</li>
<li>
<div id="failed-section">{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.failed} %}</div>
<p>
<ul>
<li>When a payment transaction <strong>fails</strong>, the payment status is set as <strong>failed</strong> to indicate that the payment could not be completed.</li>
<li>This status is typically triggered by various reasons, such as <strong>insufficient funds</strong>, <strong>invalid payment details</strong>, <strong>declined authorization</strong>, <strong>technical issues</strong>, or <strong>connectivity problems</strong>.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.processing} %}
<p>
<ul>
<li>When a customer submits the payment information, we usually recieve a <strong>pending</strong> event. In this stage the payment status is initially set as <strong>processing</strong>.</li>
<li>This status indicates that the payment transaction has been received and is <strong>being proccessed</strong> by the payment gateway or processor.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.partially_paid} %}
<p>
This status indicates that an order is partially paid, and is awaiting full payment.
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.cancelled} %}
<p>
<ul>
<li>The <strong>cancelled</strong> payment status is assigned when a payment transaction is intentionally <strong>terminated</strong> or <strong>invalidated</strong> before <strong>completion</strong>.</li>
<li>This status signifies that the payment process has been <strong>discontinued</strong>, and the associated funds have not been <strong>transferred</strong> or <strong>captured</strong>.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.paid} %}
<p>
<ul>
<li>The <strong>paid</strong> payment status is assigned when the payment transaction has been <strong>successfully authorized</strong>, <strong>processed</strong>, and the funds <strong>have been captured</strong>.</li>
<li>It signifies that the payment has been <strong>successfully completed</strong>, and the associated funds have been transferred from the <strong>customer's account</strong> to the <strong>merchant's account</strong>.</li>
</ul>
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.partially_refunded} %}
<p>
This status indicates that an order is partially refunded.
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.refunded} %}
<p>
Indicates that the payment was refunded due to order <strong>cancellation</strong> or <strong>rejection</strong>.
</p>
</li>
<li>
{% include 'Doc/States/states_constants.html.twig' with {'state': paymentConstants.expired} %}
<p>
<ul>
<li>The </strong>expired</strong> payment status is assigned when a payment transaction <strong>has not been completed</strong> within a <strong>predefined timeframe</strong> or has surpassed its <strong>validity period</strong>.</li>
<li>This status signifies that the payment attempt has become <strong>invalid</strong> and cannot be processed further.</li>
</ul>
</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
{% endblock %}