Skip to content

Commit

Permalink
ACP-2626 Refactoring after CR.
Browse files Browse the repository at this point in the history
  • Loading branch information
stereomon committed Jul 8, 2024
1 parent 411a547 commit f59dd43
Show file tree
Hide file tree
Showing 21 changed files with 220 additions and 220 deletions.
4 changes: 2 additions & 2 deletions resources/api/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,10 @@ components:
description: 'ID of a previous made transfer, passed to make a reverse transfer.'
merchantReference:
type: string
description: 'UUID of the merchant.'
description: 'ID of the merchant.'
orderReference:
type: string
description: 'UUID of the sales order.'
description: 'ID of the sales order.'
itemReference:
type: string
description: 'UUID of the sales order item.'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ class PaymentsTransfersResourceController extends AbstractController
{
public function postAction(GlueRequestTransfer $glueRequestTransfer): GlueResponseTransfer
{
$paymentsTransmissionsRequestTransfer = $this->getFactory()->createGlueRequestPaymentMapper()->mapGlueRequestTransferToPaymentsTransmissionsRequestTransfer($glueRequestTransfer);
$paymentsTransmissionsResponseTransfer = $this->getFactory()->getAppPaymentFacade()->transferPayments($paymentsTransmissionsRequestTransfer);
$paymentTransmissionsRequestTransfer = $this->getFactory()->createGlueRequestPaymentMapper()->mapGlueRequestTransferToPaymentTransmissionsRequestTransfer($glueRequestTransfer);
$paymentTransmissionsResponseTransfer = $this->getFactory()->getAppPaymentFacade()->transferPayments($paymentTransmissionsRequestTransfer);

return $this->getFactory()->createGlueResponsePaymentMapper()->mapPaymentsTransmissionsResponseTransferToSingleResourceGlueResponseTransfer($paymentsTransmissionsResponseTransfer);
return $this->getFactory()->createGlueResponsePaymentMapper()->mapPaymentTransmissionsResponseTransferToSingleResourceGlueResponseTransfer($paymentTransmissionsResponseTransfer);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
use Generated\Shared\Transfer\GlueRequestValidationTransfer;
use Generated\Shared\Transfer\InitializePaymentRequestTransfer;
use Generated\Shared\Transfer\InitializePaymentResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;

class AppPaymentBackendApiToAppPaymentFacadeBridge implements AppPaymentBackendApiToAppPaymentFacadeInterface
{
Expand All @@ -39,8 +39,8 @@ public function validatePaymentConfiguration(GlueRequestTransfer $glueRequestTra
return $this->appPaymentFacade->validatePaymentConfiguration($glueRequestTransfer);
}

public function transferPayments(PaymentsTransmissionsRequestTransfer $paymentsTransmissionsRequestTransfer): PaymentsTransmissionsResponseTransfer
public function transferPayments(PaymentTransmissionsRequestTransfer $paymentTransmissionsRequestTransfer): PaymentTransmissionsResponseTransfer
{
return $this->appPaymentFacade->transferPayments($paymentsTransmissionsRequestTransfer);
return $this->appPaymentFacade->transferPayments($paymentTransmissionsRequestTransfer);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
use Generated\Shared\Transfer\GlueRequestValidationTransfer;
use Generated\Shared\Transfer\InitializePaymentRequestTransfer;
use Generated\Shared\Transfer\InitializePaymentResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;

interface AppPaymentBackendApiToAppPaymentFacadeInterface
{
public function initializePayment(InitializePaymentRequestTransfer $initializePaymentRequestTransfer): InitializePaymentResponseTransfer;

public function validatePaymentConfiguration(GlueRequestTransfer $glueRequestTransfer): GlueRequestValidationTransfer;

public function transferPayments(PaymentsTransmissionsRequestTransfer $paymentsTransmissionsRequestTransfer): PaymentsTransmissionsResponseTransfer;
public function transferPayments(PaymentTransmissionsRequestTransfer $paymentTransmissionsRequestTransfer): PaymentTransmissionsResponseTransfer;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

use Generated\Shared\Transfer\GlueRequestTransfer;
use Generated\Shared\Transfer\InitializePaymentRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;
use GuzzleHttp\RequestOptions;

class GlueRequestPaymentMapper implements GlueRequestPaymentMapperInterface
Expand All @@ -31,18 +31,18 @@ public function mapGlueRequestTransferToInitializePaymentRequestTransfer(
return $initializePaymentRequestTransfer;
}

public function mapGlueRequestTransferToPaymentsTransmissionsRequestTransfer(
public function mapGlueRequestTransferToPaymentTransmissionsRequestTransfer(
GlueRequestTransfer $glueRequestTransfer
): PaymentsTransmissionsRequestTransfer {
): PaymentTransmissionsRequestTransfer {
$metaData = $glueRequestTransfer->getMeta();

/** @phpstan-var array<string, mixed> */
$requestData = json_decode((string)$glueRequestTransfer->getContent(), true);

$paymentsTransmissionsRequestTransfer = new PaymentsTransmissionsRequestTransfer();
$paymentsTransmissionsRequestTransfer->fromArray($requestData, true);
$paymentsTransmissionsRequestTransfer->setTenantIdentifier($metaData[static::HEADER_TENANT_IDENTIFIER][0] ?? ($metaData['x-store-reference'][0] ?? ''));
$paymentTransmissionsRequestTransfer = new PaymentTransmissionsRequestTransfer();
$paymentTransmissionsRequestTransfer->fromArray($requestData, true);
$paymentTransmissionsRequestTransfer->setTenantIdentifier($metaData[static::HEADER_TENANT_IDENTIFIER][0] ?? ($metaData['x-store-reference'][0] ?? ''));

return $paymentsTransmissionsRequestTransfer;
return $paymentTransmissionsRequestTransfer;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@

use Generated\Shared\Transfer\GlueRequestTransfer;
use Generated\Shared\Transfer\InitializePaymentRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;

interface GlueRequestPaymentMapperInterface
{
public function mapGlueRequestTransferToInitializePaymentRequestTransfer(
GlueRequestTransfer $glueRequestTransfer
): InitializePaymentRequestTransfer;

public function mapGlueRequestTransferToPaymentsTransmissionsRequestTransfer(
public function mapGlueRequestTransferToPaymentTransmissionsRequestTransfer(
GlueRequestTransfer $glueRequestTransfer
): PaymentsTransmissionsRequestTransfer;
): PaymentTransmissionsRequestTransfer;
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
use Generated\Shared\Transfer\GlueResourceTransfer;
use Generated\Shared\Transfer\GlueResponseTransfer;
use Generated\Shared\Transfer\InitializePaymentResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;
use Symfony\Component\HttpFoundation\Response;

class GlueResponsePaymentMapper implements GlueResponsePaymentMapperInterface
Expand All @@ -25,15 +25,15 @@ public function mapInitializePaymentResponseTransferToSingleResourceGlueResponse
return $this->addInitializePaymentResponseTransferToGlueResponse($initializePaymentResponseTransfer, $glueResponseTransfer);
}

public function mapPaymentsTransmissionsResponseTransferToSingleResourceGlueResponseTransfer(
PaymentsTransmissionsResponseTransfer $paymentsTransmissionsResponseTransfer
public function mapPaymentTransmissionsResponseTransferToSingleResourceGlueResponseTransfer(
PaymentTransmissionsResponseTransfer $paymentTransmissionsResponseTransfer
): GlueResponseTransfer {
$glueResponseTransfer = new GlueResponseTransfer();

if ($paymentsTransmissionsResponseTransfer->getIsSuccessful() === false) {
if ($paymentTransmissionsResponseTransfer->getIsSuccessful() === false) {
$glueResponseTransfer->setHttpStatus(Response::HTTP_BAD_REQUEST);
$glueResponseTransfer->addError((new GlueErrorTransfer())->setMessage(
$paymentsTransmissionsResponseTransfer->getMessageOrFail(),
$paymentTransmissionsResponseTransfer->getMessageOrFail(),
));

return $glueResponseTransfer;
Expand All @@ -44,7 +44,7 @@ public function mapPaymentsTransmissionsResponseTransferToSingleResourceGlueResp

$glueResponseTransfer->setHttpStatus(Response::HTTP_OK);
$glueResponseTransfer->addResource($glueResourceTransfer);
$glueResponseTransfer->setContent($this->generateTransfersResponseContent($paymentsTransmissionsResponseTransfer));
$glueResponseTransfer->setContent($this->generateTransfersResponseContent($paymentTransmissionsResponseTransfer));

return $glueResponseTransfer;
}
Expand All @@ -63,21 +63,21 @@ protected function addInitializePaymentResponseTransferToGlueResponse(
return $glueResponseTransfer;
}

protected function generateTransfersResponseContent(PaymentsTransmissionsResponseTransfer $paymentsTransmissionsResponseTransfer): string
protected function generateTransfersResponseContent(PaymentTransmissionsResponseTransfer $paymentTransmissionsResponseTransfer): string
{
$responseContent = [
'transfers' => [],
];

foreach ($paymentsTransmissionsResponseTransfer->getPaymentsTransmissions() as $paymentsTransmission) {
foreach ($paymentTransmissionsResponseTransfer->getPaymentTransmissions() as $paymentTransmission) {
$responseContent['transfers'][] = [
'isSuccessful' => $paymentsTransmission->getIsSuccessful(),
'failureMessage' => $paymentsTransmission->getMessage(),
'merchantReference' => $paymentsTransmission->getMerchantReference(),
'orderReference' => $paymentsTransmission->getOrderReference(),
'orderItems' => $this->formatOrderItemsForTransferResponse($paymentsTransmission->getOrderItems()),
'amount' => $paymentsTransmission->getAmount(),
'transferId' => $paymentsTransmission->getTransferId(), // Return the transfer identifier as transaction id to be known on the Tenant side. May be empty in case oif a failure
'isSuccessful' => $paymentTransmission->getIsSuccessful(),
'failureMessage' => $paymentTransmission->getMessage(),
'merchantReference' => $paymentTransmission->getMerchantReference(),
'orderReference' => $paymentTransmission->getOrderReference(),
'orderItems' => $this->formatOrderItemsForTransferResponse($paymentTransmission->getOrderItems()),
'amount' => $paymentTransmission->getAmount(),
'transferId' => $paymentTransmission->getTransferId(), // Return the transfer identifier as transaction id to be known on the Tenant side. May be empty in case oif a failure
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@

use Generated\Shared\Transfer\GlueResponseTransfer;
use Generated\Shared\Transfer\InitializePaymentResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;

interface GlueResponsePaymentMapperInterface
{
public function mapInitializePaymentResponseTransferToSingleResourceGlueResponseTransfer(
InitializePaymentResponseTransfer $initializePaymentResponseTransfer
): GlueResponseTransfer;

public function mapPaymentsTransmissionsResponseTransferToSingleResourceGlueResponseTransfer(
PaymentsTransmissionsResponseTransfer $paymentsTransmissionsResponseTransfer
public function mapPaymentTransmissionsResponseTransferToSingleResourceGlueResponseTransfer(
PaymentTransmissionsResponseTransfer $paymentTransmissionsResponseTransfer
): GlueResponseTransfer;
}
10 changes: 5 additions & 5 deletions src/Spryker/Shared/AppPayment/Transfer/app_payment.transfer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -304,20 +304,20 @@
<property name="tenantIdentifier" type="string"/>
</transfer>

<transfer name="PaymentsTransmissionsRequest" strict="true">
<transfer name="PaymentTransmissionsRequest" strict="true">
<property name="appConfig" type="AppConfig"/>
<property name="tenantIdentifier" type="string"/>
<property name="transactionId" type="string"/>
<property name="transferId" type="string"/>
<property name="orderItems" type="OrderItem[]" singular="orderItem"/>
<property name="paymentsTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
<property name="failedPaymentsTransmissions" type="PaymentTransmission[]" singular="failedPaymentTransmission"/>
<property name="paymentTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
<property name="failedPaymentTransmissions" type="PaymentTransmission[]" singular="failedPaymentTransmission"/>
</transfer>

<transfer name="PaymentsTransmissionsResponse" strict="true">
<transfer name="PaymentTransmissionsResponse" strict="true">
<property name="isSuccessful" type="bool"/>
<property name="message" type="string"/>
<property name="paymentsTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
<property name="paymentTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
</transfer>

</transfers>
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
<transfer name="InitializePaymentResponse" strict="true">
</transfer>

<transfer name="PaymentsTransmissionsRequest" strict="true">
<transfer name="PaymentTransmissionsRequest" strict="true">
<property name="appConfig" type="AppConfig"/>
<property name="tenantIdentifier" type="string"/>
<property name="transactionId" type="string"/>
<property name="transferId" type="string"/>
<property name="orderItems" type="OrderItem[]" singular="orderItem"/>
<property name="paymentsTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
<property name="paymentTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
</transfer>

<transfer name="OrderItem" strict="true">
Expand All @@ -24,9 +24,9 @@
<property name="amount" type="string" description="Amount in lowest denominator (cents, YEN). When negative money has to be refunded, when positive money has to be transferred."/>
</transfer>

<transfer name="PaymentsTransmissionsResponse" strict="true">
<transfer name="PaymentTransmissionsResponse" strict="true">
<property name="message" type="string"/>
<property name="paymentsTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
<property name="paymentTransmissions" type="PaymentTransmission[]" singular="paymentTransmission"/>
</transfer>

<transfer name="PaymentTransmission" strict="true">
Expand Down
10 changes: 5 additions & 5 deletions src/Spryker/Zed/AppPayment/AppPaymentDependencyProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
use Generated\Shared\Transfer\PaymentPageResponseTransfer;
use Generated\Shared\Transfer\PaymentStatusRequestTransfer;
use Generated\Shared\Transfer\PaymentStatusResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;
use Generated\Shared\Transfer\RefundPaymentRequestTransfer;
use Generated\Shared\Transfer\RefundPaymentResponseTransfer;
use Generated\Shared\Transfer\WebhookRequestTransfer;
Expand Down Expand Up @@ -139,9 +139,9 @@ public function getPaymentPage(PaymentPageRequestTransfer $paymentPageRequestTra
return (new PaymentPageResponseTransfer())->setIsSuccessful(true);
}

public function transferPayments(PaymentsTransmissionsRequestTransfer $paymentsTransmissionsRequestTransfer): PaymentsTransmissionsResponseTransfer
public function transferPayments(PaymentTransmissionsRequestTransfer $paymentTransmissionsRequestTransfer): PaymentTransmissionsResponseTransfer
{
return (new PaymentsTransmissionsResponseTransfer())->setIsSuccessful(true);
return (new PaymentTransmissionsResponseTransfer())->setIsSuccessful(true);
}
};
// @codeCoverageIgnoreEnd
Expand Down Expand Up @@ -184,7 +184,7 @@ protected function addPaymentsTransmissionRequestExtenderPlugins(Container $cont
}

/**
* @return array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentsTransmissionsRequestExtenderPluginInterface>
* @return array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentTransmissionsRequestExtenderPluginInterface>
*/
protected function getPaymentsTransmissionRequestExtenderPlugins(): array
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public function createPaymentTransfer(): PaymentTransfer
$this->getRepository(),
$this->getConfig(),
$this->createAppConfigLoader(),
$this->getPaymentsTransmissionsRequestExtenderPlugins(),
$this->getPaymentTransmissionsRequestExtenderPlugins(),
);
}

Expand Down Expand Up @@ -139,11 +139,11 @@ public function createWebhookMessageSender(): WebhookMessageSender
}

/**
* @return array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentsTransmissionsRequestExtenderPluginInterface>
* @return array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentTransmissionsRequestExtenderPluginInterface>
*/
protected function getPaymentsTransmissionsRequestExtenderPlugins(): array
protected function getPaymentTransmissionsRequestExtenderPlugins(): array
{
/** @phpstan-var array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentsTransmissionsRequestExtenderPluginInterface> */
/** @phpstan-var array<\Spryker\Zed\AppPayment\Dependency\Plugin\PaymentTransmissionsRequestExtenderPluginInterface> */
return $this->getProvidedDependency(AppPaymentDependencyProvider::PLUGINS_PAYMENTS_TRANSMISSIONS_REQUEST_EXPANDER);
}

Expand Down
8 changes: 4 additions & 4 deletions src/Spryker/Zed/AppPayment/Business/AppPaymentFacade.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
use Generated\Shared\Transfer\PaymentCollectionDeleteCriteriaTransfer;
use Generated\Shared\Transfer\PaymentPageRequestTransfer;
use Generated\Shared\Transfer\PaymentPageResponseTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentsTransmissionsResponseTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsRequestTransfer;
use Generated\Shared\Transfer\PaymentTransmissionsResponseTransfer;
use Generated\Shared\Transfer\RedirectRequestTransfer;
use Generated\Shared\Transfer\RedirectResponseTransfer;
use Generated\Shared\Transfer\RefundPaymentTransfer;
Expand Down Expand Up @@ -144,8 +144,8 @@ public function deletePaymentCollection(
$this->getEntityManager()->deletePaymentCollection($paymentCollectionDeleteCriteriaTransfer);
}

public function transferPayments(PaymentsTransmissionsRequestTransfer $paymentsTransmissionsRequestTransfer): PaymentsTransmissionsResponseTransfer
public function transferPayments(PaymentTransmissionsRequestTransfer $paymentTransmissionsRequestTransfer): PaymentTransmissionsResponseTransfer
{
return $this->getFactory()->createPayment()->transferPayments($paymentsTransmissionsRequestTransfer);
return $this->getFactory()->createPayment()->transferPayments($paymentTransmissionsRequestTransfer);
}
}
Loading

0 comments on commit f59dd43

Please sign in to comment.