diff --git a/spec/Payum/Action/AssertActionSpec.php b/spec/Payum/Action/AssertActionSpec.php index 9a6f0b3f..990379dd 100644 --- a/spec/Payum/Action/AssertActionSpec.php +++ b/spec/Payum/Action/AssertActionSpec.php @@ -7,6 +7,7 @@ use CommerceWeavers\SyliusSaferpayPlugin\Client\SaferpayClientInterface; use CommerceWeavers\SyliusSaferpayPlugin\Client\ValueObject\AssertResponse; use CommerceWeavers\SyliusSaferpayPlugin\Client\ValueObject\Body\Error; +use CommerceWeavers\SyliusSaferpayPlugin\Client\ValueObject\Body\PaymentMeans; use CommerceWeavers\SyliusSaferpayPlugin\Client\ValueObject\Body\Transaction; use CommerceWeavers\SyliusSaferpayPlugin\Client\ValueObject\ErrorResponse; use CommerceWeavers\SyliusSaferpayPlugin\Payum\Action\ErrorName; @@ -66,6 +67,20 @@ function it_asserts_the_successfull_payment( $transaction->getId()->willReturn('b27de121-ffa0-4f1d-b7aa-b48109a88486'); $assertResponse->getStatusCode()->willReturn(200); $assertResponse->getTransaction()->willReturn($transaction); + $assertResponse->getPaymentMeans()->willReturn(PaymentMeans::fromArray([ + 'Brand' => [ + 'PaymentMethod' => 'VISA', + 'Name' => 'VISA', + ], + 'DisplayText' => 'VISA XXXX-XXXX-XXXX-1111', + 'Card' => [ + 'MaskedNumber' => 'XXXX-XXXX-XXXX-1111', + 'ExpYear' => 2025, + 'ExpMonth' => 12, + 'HolderName' => 'John Doe', + 'CountryCode' => 'CH', + ], + ])); $saferpayClient->assert($payment)->willReturn($assertResponse); $payment->getId()->willReturn(1); @@ -73,7 +88,23 @@ function it_asserts_the_successfull_payment( $payment ->setDetails([ 'transaction_id' => 'b27de121-ffa0-4f1d-b7aa-b48109a88486', - 'status' => StatusAction::STATUS_AUTHORIZED + 'status' => StatusAction::STATUS_AUTHORIZED, + 'payment_means' => [ + 'Brand' => [ + 'Name' => 'VISA', + 'PaymentMethod' => 'VISA', + ], + 'DisplayText' => 'VISA XXXX-XXXX-XXXX-1111', + 'Card' => [ + 'MaskedNumber' => 'XXXX-XXXX-XXXX-1111', + 'ExpYear' => 2025, + 'ExpMonth' => 12, + 'HolderName' => 'John Doe', + 'CountryCode' => 'CH', + ], + 'BankAccount' => null, + 'PayPal' => null, + ], ]) ->shouldBeCalled() ; diff --git a/src/Payum/Action/AssertAction.php b/src/Payum/Action/AssertAction.php index 5ea8a794..0b48e936 100644 --- a/src/Payum/Action/AssertAction.php +++ b/src/Payum/Action/AssertAction.php @@ -68,6 +68,8 @@ private function handleSuccessfulResponse(PaymentInterface $payment, AssertRespo $paymentDetails['status'] = $transaction->getStatus(); $paymentDetails['transaction_id'] = $transaction->getId(); + $paymentDetails['payment_means'] = $response->getPaymentMeans()->toArray(); + $payment->setDetails($paymentDetails); } }