Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion assets/admin/entrypoint.js
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
// Mandatory by test application
// whereas it's useless
9 changes: 0 additions & 9 deletions assets/settings/constants.scss

This file was deleted.

1 change: 0 additions & 1 deletion assets/shop/entrypoint.js
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
// Mandatory by test application
// whereas it's useless
1 change: 0 additions & 1 deletion config/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
imports:
- { resource: "state_machine.yml" }
- { resource: "resources.yaml" }
# - { resource: "ui.yaml" }
- { resource: "twig_hooks/*.yaml" }
42 changes: 11 additions & 31 deletions config/services/gateway.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
<?xml version="1.0" ?>

<!--
This service file was used to register payum gateways.
We don't use payum anymore, but if mandatory, you can import this file to register them and still use payum
-->
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<defaults autoconfigure="true" autowire="true" public="false"/>
<!-- Gateway PayPlug -->
<service id="payplug_sylius_payplug_plugin.gateway_factory.payplug"
class="Payum\Core\Bridge\Symfony\Builder\GatewayFactoryBuilder">
<argument type="string">PayPlug\SyliusPayPlugPlugin\Gateway\PayPlugGatewayFactory</argument>
<tag name="payum.gateway_factory_builder"
factory="payplug" />
</service>

<!-- Gateway Oney By PayPlug -->
<service id="payplug_sylius_payplug_plugin.gateway_factory.oney"
Expand Down Expand Up @@ -37,35 +47,5 @@
<tag name="payum.gateway_factory_builder"
factory="payplug_american_express"/>
</service>

<service id="payplug_sylius_payplug_plugin.is_oney_enabled_validator"
class="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsOneyEnabledValidator">
<argument type="service" id="PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactory" />
<tag name="validator.constraint_validator" alias="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsOneyEnabledValidator" />
</service>

<service id="payplug_sylius_payplug_plugin.is_payplug_secret_key_validator"
class="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsPayPlugSecretKeyValidator">
<argument type="service" id="PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactory" />
<tag name="validator.constraint_validator" alias="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsPayPlugSecretKeyValidator" />
</service>

<service id="payplug_sylius_payplug_plugin.is_can_save_cards_validator"
class="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsCanSaveCardsValidator">
<argument type="service" id="PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactory" />
<tag name="validator.constraint_validator" alias="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsCanSaveCardsValidator" />
</service>

<service id="payplug_sylius_payplug_plugin.is_can_save_payment_method_validator"
class="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsCanSavePaymentMethodValidator">
<argument type="service" id="PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactory" />
<tag name="validator.constraint_validator" alias="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\IsCanSavePaymentMethodValidator" />
</service>

<service id="payplug_sylius_payplug_plugin.permission_validator"
class="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\PayplugPermissionValidator">
<argument type="service" id="PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactory" />
<tag name="validator.constraint_validator" alias="PayPlug\SyliusPayPlugPlugin\Gateway\Validator\Constraints\PayplugPermissionValidator" />
</service>
</services>
</container>
9 changes: 0 additions & 9 deletions config/twig_hooks/shop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,6 @@ sylius_twig_hooks:
template: '@PayPlugSyliusPayPlugPlugin/shared/modal/index.html.twig'
priority: 0

# TODO: check if this is possible only on select_payment page
'sylius_shop.checkout#stylesheets':
select_payment_css:
template: '@PayPlugSyliusPayPlugPlugin/stylesheets/select_payment_css.html.twig'

'sylius_shop.order#stylesheets':
select_payment_css:
template: '@PayPlugSyliusPayPlugPlugin/stylesheets/select_payment_css.html.twig'

'sylius_shop.shared.form.select_payment.payment':
choice:
template: '@PayPlugSyliusPayPlugPlugin/shared/form/select_payment/payment/choice.html.twig'
Expand Down
33 changes: 0 additions & 33 deletions config/ui.yaml

This file was deleted.

33 changes: 32 additions & 1 deletion src/Command/Handler/CapturePaymentRequestHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace PayPlug\SyliusPayPlugPlugin\Command\Handler;

use Payplug\Exception\HttpException;
use PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientFactoryInterface;
use PayPlug\SyliusPayPlugPlugin\ApiClient\PayPlugApiClientInterface;
use PayPlug\SyliusPayPlugPlugin\Command\CapturePaymentRequest;
Expand Down Expand Up @@ -40,6 +41,23 @@ public function __invoke(CapturePaymentRequest $capturePaymentRequest): void
throw new \LogicException('Payment method is not set for the payment.');
}

if (PayPlugApiClientInterface::STATUS_CREATED === ($payment->getDetails()['status'] ?? null)) {
$paymentRequest->setResponseData([
'retry' => true,
'message' => 'Payment already created',
'payment_id' => $payment->getDetails()['payment_id'] ?? 'unknown',
'redirect_url' => $payment->getDetails()['redirect_url'] ?? null, // @phpstan-ignore-line
]);

$this->stateMachine->apply(
$paymentRequest,
PaymentRequestTransitions::GRAPH,
PaymentRequestTransitions::TRANSITION_COMPLETE,
);

return;
}

$client = $this->apiClientFactory->createForPaymentMethod($method);
$data = $this->paymentDataCreator->create($payment)->getArrayCopy();

Expand All @@ -53,13 +71,26 @@ public function __invoke(CapturePaymentRequest $capturePaymentRequest): void
$data['notification_url'] = $notificationUrl;

$paymentRequest->setPayload($data);
$payplugPayment = $client->createPayment($data);

try {
$payplugPayment = $client->createPayment($data);
} catch (HttpException $exception) {
$paymentRequest->setResponseData(\json_decode($exception->getHttpResponse(), true)); // @phpstan-ignore-line
$this->stateMachine->apply(
$paymentRequest,
PaymentRequestTransitions::GRAPH,
PaymentRequestTransitions::TRANSITION_FAIL,
);

return;
}
$arrayPayplugPayment = (array) $payplugPayment;
$payment->setDetails([
...$payment->getDetails(),
'status' => PayPlugApiClientInterface::STATUS_CREATED,
'payment_id' => $payplugPayment->__get('id'),
'payplug_response' => $arrayPayplugPayment,
'redirect_url' => $payplugPayment->hosted_payment->payment_url, // @phpstan-ignore-line
]);

$paymentRequest->setResponseData(array_merge($arrayPayplugPayment, [
Expand Down
4 changes: 0 additions & 4 deletions src/DependencyInjection/PayPlugSyliusPayPlugExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ public function load(array $configs, ContainerBuilder $container): void
$xmlloader = new XmlFileLoader($container, new FileLocator(dirname(__DIR__, 2) . '/config/services'));

$ymlloader->load('services.yaml');
// TODO: migrate to YAML
$xmlloader->load('client.xml');
$xmlloader->load('gateway.xml');
}

public function prepend(ContainerBuilder $container): void
Expand All @@ -42,12 +40,10 @@ private function prependTwigExtension(ContainerBuilder $container): void
return;
}

// TODO: check if still mandatory on v2
$container->prependExtensionConfig('twig', [
'form_themes' => [
'@PayPlugSyliusPayPlugPlugin/form/form_gateway_config_row.html.twig',
'@PayPlugSyliusPayPlugPlugin/form/sylius_checkout_select_payment_row.html.twig',
'@PayPlugSyliusPayPlugPlugin/form/complete_info_popin.html.twig',
],
]);
}
Expand Down
2 changes: 1 addition & 1 deletion src/Entity/CardsOwnerInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ interface CardsOwnerInterface
*/
public function getCards(): Collection;

public function addCard(Card $card): static;
public function addCard(Card $card): self;
}
23 changes: 0 additions & 23 deletions src/Gateway/Validator/Constraints/IsCanSaveCards.php

This file was deleted.

54 changes: 0 additions & 54 deletions src/Gateway/Validator/Constraints/IsCanSaveCardsValidator.php

This file was deleted.

2 changes: 1 addition & 1 deletion src/PayPlugSyliusPayPlugPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ final class PayPlugSyliusPayPlugPlugin extends Bundle
{
use SyliusPluginTrait;

public const VERSION = '1.11.0';
public const VERSION = '2.x-dev';

public function getPath(): string
{
Expand Down
1 change: 0 additions & 1 deletion templates/javascripts/oney_common.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/javascripts/select_payment_js.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/javascripts/webfont_loader.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/stylesheets/oney_common.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/stylesheets/payment_method_css.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/stylesheets/saved_cards.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion templates/stylesheets/select_payment_css.html.twig

This file was deleted.

2 changes: 1 addition & 1 deletion translations/messages.en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ payplug_sylius_payplug_plugin:
base_currency_not_euro: |
Channel #channel_code#: #payment_method# is only available on channels with EURO as a currency
only_one_gateway_allowed: |
Please note that the %gateway_title% payment method has already been set. To change it, go to your <a href="/admin/payment-methods/" target="_blank">payment methods</a>.
Please note that the %gateway_title% payment method has already been set. To change it, go to your payment methods.
one_click_enable: Enable One click
one_click_help: |
Allow your customers to save their credit card details for later
Expand Down
2 changes: 1 addition & 1 deletion translations/messages.fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ payplug_sylius_payplug_plugin:
base_currency_not_euro: |
Canal #channel_code# : #payment_method# n’est disponible que sur des canaux dont la devise est l’EURO
only_one_gateway_allowed: |
Attention, le moyen de paiement %gateway_title% existe déjà. Pour le modifier, rendez-vous sur vos <a href="/admin/payment-methods/" target="_blank">moyens de paiement</a>.
Attention, le moyen de paiement %gateway_title% existe déjà. Pour le modifier, rendez-vous sur vos moyens de paiement.
one_click_enable: Activer le One click
one_click_help: |
Permettez à vos clients d'enregistrer leurs coordonnées de carte de paiement pour effectuer ultérieurement
Expand Down
2 changes: 1 addition & 1 deletion translations/messages.it.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ payplug_sylius_payplug_plugin:
base_currency_not_euro: |
Il canale #channel_code# : #payment_method# è disponibile solo per i canali la cui valuta è in EURO
only_one_gateway_allowed: |
Attenzione: il metodo di pagamento %gateway_title% è già definito. Per modificarlo, vai ai tuoi <a href="/admin/payment-methods/" target="_blank">metodi di pagamento</a>.
Attenzione: il metodo di pagamento %gateway_title% è già definito. Per modificarlo, vai ai tuoi metodi di pagamento.
one_click_enable: Attiva un clic
one_click_help: |
Consenti ai tuoi clienti di salvare i dettagli della loro carta di credito per dopo
Expand Down
Loading