Skip to content

Commit 7019d6f

Browse files
Merge branch 'MAGETWO-91526' of https://github.com/magento-epam/magento2ce into MAGETWO-91526
2 parents 77af5d6 + 21c32eb commit 7019d6f

File tree

9 files changed

+322
-2
lines changed

9 files changed

+322
-2
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Authorizenet\Block\Adminhtml\Order\View\Info;
7+
8+
use Magento\Framework\Phrase;
9+
use Magento\Payment\Block\ConfigurableInfo;
10+
11+
/**
12+
* Payment information block for Authorize.net payment method
13+
*/
14+
class PaymentDetails extends ConfigurableInfo
15+
{
16+
/**
17+
* Returns localized label for payment info block
18+
*
19+
* @param string $field
20+
* @return string | Phrase
21+
*/
22+
protected function getLabel($field)
23+
{
24+
return __($field);
25+
}
26+
}

app/code/Magento/Authorizenet/Model/Directpost.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class Directpost extends \Magento\Authorizenet\Model\Authorizenet implements Tra
2727
/**
2828
* @var string
2929
*/
30-
protected $_infoBlockType = \Magento\Payment\Block\Info::class;
30+
protected $_infoBlockType = \Magento\Authorizenet\Block\Adminhtml\Order\View\Info\PaymentDetails::class;
3131

3232
/**
3333
* Payment Method feature
@@ -626,6 +626,14 @@ protected function fillPaymentByResponse(\Magento\Framework\DataObject $payment)
626626
$payment->setIsTransactionPending(true)
627627
->setIsFraudDetected(true);
628628
}
629+
630+
$additionalInformationKeys = explode(',', $this->getValue('paymentInfoKeys'));
631+
foreach ($additionalInformationKeys as $paymentInfoKey) {
632+
$paymentInfoValue = $response->getDataByKey($paymentInfoKey);
633+
if($paymentInfoValue !== null) {
634+
$payment->setAdditionalInformation($paymentInfoKey, $paymentInfoValue);
635+
}
636+
}
629637
}
630638

631639
/**
@@ -918,7 +926,7 @@ public function fetchTransactionInfo(\Magento\Payment\Model\InfoInterface $payme
918926
$payment->setIsTransactionDenied(true);
919927
}
920928
$this->addStatusCommentOnUpdate($payment, $response, $transactionId);
921-
return [];
929+
return $response->getData();
922930
}
923931

924932
/**
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<entity name="AuthorizenetConfig" type="authorize_net_config">
12+
<requiredEntity type="active">Active</requiredEntity>
13+
<requiredEntity type="login">LoginId</requiredEntity>
14+
<requiredEntity type="trans_key">TransactionKey</requiredEntity>
15+
<requiredEntity type="trans_md5">TransMD5</requiredEntity>
16+
<requiredEntity type="test">TestMode</requiredEntity>
17+
<requiredEntity type="useccv">CVVVerification</requiredEntity>
18+
<requiredEntity type="cgi_url">CGI_UTL</requiredEntity>
19+
<requiredEntity type="cgi_url_td">CGI_URL_TD</requiredEntity>
20+
<requiredEntity type="debug">Debug</requiredEntity>
21+
</entity>
22+
<entity name="Active" type="active">
23+
<data key="value">1</data>
24+
</entity>
25+
<entity name="LoginId" type="login">
26+
<data key="value">4By5Q8m6</data>
27+
</entity>
28+
<entity name="TransactionKey" type="trans_key">
29+
<data key="value">9pygB4X4n783TJbw</data>
30+
</entity>
31+
<entity name="TransMD5" type="trans_md5">
32+
<data key="value">Md5Hash</data>
33+
</entity>
34+
<entity name="TestMode" type="test">
35+
<data key="value">0</data>
36+
</entity>
37+
<entity name="CVVVerification" type="useccv">
38+
<data key="value">1</data>
39+
</entity>
40+
<entity name="CGI_UTL" type="cgi_url">
41+
<data key="value">https://test.authorize.net/gateway/transact.dll</data>
42+
</entity>
43+
<entity name="CGI_URL_TD" type="cgi_url_td">
44+
<data key="value">https://apitest.authorize.net/xml/v1/request.api</data>
45+
</entity>
46+
<entity name="Debug" type="debug">
47+
<data key="value">1</data>
48+
</entity>
49+
50+
<entity name="AuthorizenetDefaultConfig" type="authorize_net_config">
51+
<requiredEntity type="active">DefaultActive</requiredEntity>
52+
<requiredEntity type="trans_key">DefaultTransactionKey</requiredEntity>
53+
<requiredEntity type="trans_md5">DefaultTransMD5</requiredEntity>
54+
<requiredEntity type="test">DefaultTestMode</requiredEntity>
55+
<requiredEntity type="useccv">DefaultCVVVerification</requiredEntity>
56+
<requiredEntity type="cgi_url">DefaultCGI_UTL</requiredEntity>
57+
<requiredEntity type="cgi_url_td">DefaultCGI_URL_TD</requiredEntity>
58+
<requiredEntity type="debug">DefaultDebugMode</requiredEntity>
59+
</entity>
60+
<entity name="DefaultDebug" type="debug">
61+
<data key="value">0</data>
62+
</entity>
63+
<entity name="DefaultActive" type="active">
64+
<data key="value">0</data>
65+
</entity>
66+
<entity name="DefaultLoginId" type="login">
67+
<data key="value"></data>
68+
</entity>
69+
<entity name="DefaultTransactionKey" type="trans_key">
70+
<data key="value"></data>
71+
</entity>
72+
<entity name="DefaultTransMD5" type="trans_md5">
73+
<data key="value"></data>
74+
</entity>
75+
<entity name="DefaultTestMode" type="test">
76+
<data key="value">1</data>
77+
</entity>
78+
<entity name="DefaultCVVVerification" type="useccv">
79+
<data key="value">0</data>
80+
</entity>
81+
<entity name="DefaultCGI_UTL" type="cgi_url">
82+
<data key="value">https://secure.authorize.net/gateway/transact.dll</data>
83+
</entity>
84+
<entity name="DefaultCGI_URL_TD" type="cgi_url_td">
85+
<data key="value">https://api2.authorize.net/xml/v1/request.api</data>
86+
</entity>
87+
88+
<entity name="DisableAuthorizenetConfig" type="authorize_net_config">
89+
<requiredEntity type="disableConfig">DisableConfig</requiredEntity>
90+
</entity>
91+
92+
<entity name="DisableConfig" type="disableConfig">
93+
<data key="value">0</data>
94+
</entity>
95+
</entities>
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<operations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataOperation.xsd">
10+
<operation name="AuthorizeNetConfig" dataType="authorize_net_config" type="create" auth="adminFormKey" url="/admin/system_config/save/section/payment/" method="POST">
11+
<object key="groups" dataType="authorize_net_config">
12+
<object key="authorizenet_directpost" dataType="authorize_net_config">
13+
<object key="fields" dataType="authorize_net_config">
14+
<object key="active" dataType="active">
15+
<field key="value">integer</field>
16+
</object>
17+
<object key="login" dataType="login">
18+
<field key="value">string</field>
19+
</object>
20+
<object key="trans_key" dataType="trans_key">
21+
<field key="value">string</field>
22+
</object>
23+
<object key="trans_md5" dataType="trans_md5">
24+
<field key="value">string</field>
25+
</object>
26+
<object key="test" dataType="test">
27+
<field key="value">string</field>
28+
</object>
29+
<object key="useccv" dataType="useccv">
30+
<field key="value">string</field>
31+
</object>
32+
<object key="cgi_url" dataType="cgi_url">
33+
<field key="value">string</field>
34+
</object>
35+
<object key="cgi_url_td" dataType="cgi_url_td">
36+
<field key="value">string</field>
37+
</object>
38+
<object key="debug" dataType="debug">
39+
<field key="value">string</field>
40+
</object>
41+
</object>
42+
</object>
43+
</object>
44+
</operation>
45+
46+
<operation name="AuthorizeNetDefaultConfig" dataType="authorize_net_default_config" type="create" auth="adminFormKey" url="/admin/system_config/save/section/payment/" method="POST">
47+
<object key="groups" dataType="authorize_net_default_config">
48+
<object key="authorizenet_directpost" dataType="authorize_net_default_config">
49+
<object key="fields" dataType="authorize_net_default_config">
50+
<object key="active" dataType="authorize_net_default_config">
51+
<object key="inherit" dataType="disableActive">
52+
<field key="value">integer</field>
53+
</object>
54+
</object>
55+
<object key="test" dataType="authorize_net_default_config">
56+
<object key="inherit" dataType="disableConfig">
57+
<field key="value">integer</field>
58+
</object>
59+
</object>
60+
<object key="cgi_url" dataType="authorize_net_default_config">
61+
<object key="inherit" dataType="disableConfig">
62+
<field key="value">integer</field>
63+
</object>
64+
</object>
65+
<object key="cgi_url_td" dataType="authorize_net_default_config">
66+
<object key="inherit" dataType="disableConfig">
67+
<field key="value">integer</field>
68+
</object>
69+
</object>
70+
<object key="debug" dataType="authorize_net_default_config">
71+
<object key="inherit" dataType="disableConfig">
72+
<field key="value">integer</field>
73+
</object>
74+
</object>
75+
</object>
76+
</object>
77+
</object>
78+
</operation>
79+
</operations>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="AuthorizenetConfigurationSection">
11+
<element name="paymentMethod" type="input" selector="#p_method_authorizenet_directpost"/>
12+
<element name="cardType" type="select" selector="#authorizenet_directpost_cc_type"/>
13+
<element name="cardNumber" type="input" selector="#authorizenet_directpost_cc_number"/>
14+
<element name="month" type="select" selector="#authorizenet_directpost_expiration"/>
15+
<element name="year" type="select" selector="#authorizenet_directpost_expiration_yr"/>
16+
<element name="afterTwoYear" type="select" selector="//*[@id='authorizenet_directpost_expiration_yr']/option[4]"/>
17+
<element name="verificationNumber" type="input" selector="#authorizenet_directpost_cc_cid"/>
18+
</section>
19+
</sections>
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AuthorizenetCreditCardInformationTest">
12+
<annotations>
13+
<features value="Authorizenet"/>
14+
<stories value="MAGETWO-91526 - Authorize.net Direct Post does not show credit card information"/>
15+
<title value="Checking credit card information of Authorize.net Direct Post"/>
16+
<description value="Checking credit card information of Authorize.net Direct Post"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MAGETWO-91526"/>
19+
<group value="Authorizenet"/>
20+
</annotations>
21+
22+
<before>
23+
<createData entity="_defaultCategory" stepKey="createCategory"/>
24+
<createData entity="SimpleProduct" stepKey="createProduct">
25+
<requiredEntity createDataKey="createCategory"/>
26+
</createData>
27+
<createData entity="Simple_US_Customer_NY" stepKey="createCustomer"/>
28+
<createData stepKey="setConfig" entity="AuthorizenetConfig"/>
29+
<magentoCLI command="cache:flush" stepKey="flushCache"/>
30+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
31+
</before>
32+
<after>
33+
<actionGroup ref="logout" stepKey="logout"/>
34+
<deleteData createDataKey="createCategory" stepKey="deleteProduct"/>
35+
<deleteData createDataKey="createProduct" stepKey="deleteCategory"/>
36+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
37+
<createData stepKey="setDefaultConfig" entity="AuthorizenetDefaultConfig"/>
38+
<createData stepKey="DisableConfigValues" entity="DisableAuthorizenetConfig"/>
39+
</after>
40+
<!--Create new order-->
41+
<actionGroup ref="navigateToNewOrderPageExistingCustomer" stepKey="CreateNewOrder">
42+
<argument name="customer" value="Simple_US_Customer_NY"/>
43+
</actionGroup>
44+
<!--Add product to order-->
45+
<click selector="{{OrdersGridSection.addProducts}}" stepKey="clickToAddProduct"/>
46+
<waitForPageLoad stepKey="waitForProductsOpened"/>
47+
<click selector="{{OrdersGridSection.selectProduct($$createProduct.name$$)}}" stepKey="selectProduct"/>
48+
<click stepKey="addProductsToOrder" selector="{{OrdersGridSection.addProductsToOrder}}"/>
49+
<waitForPageLoad stepKey="waitForPageLoad"/>
50+
<!--Select shipping method-->
51+
<actionGroup ref="orderSelectFlatRateShipping" stepKey="orderSelectFlatRateShipping"/>
52+
<!--Fill Card data and submit order-->
53+
<click selector="{{AuthorizenetConfigurationSection.paymentMethod}}" stepKey="clickToSetPaymentMethod"/>
54+
<selectOption selector="{{AuthorizenetConfigurationSection.cardType}}" userInput="Visa" stepKey="SelectCreditCard"/>
55+
<fillField selector="{{AuthorizenetConfigurationSection.cardNumber}}" userInput="4111111111111111" stepKey="fillCardNumber"/>
56+
<selectOption selector="{{AuthorizenetConfigurationSection.month}}" userInput="01 - January" stepKey="SelectMonth"/>
57+
<click selector="{{AuthorizenetConfigurationSection.year}}" stepKey="clickYear"/>
58+
<waitForElementVisible selector="{{AuthorizenetConfigurationSection.afterTwoYear}}" stepKey="waitForDropDownMenuAppeared"/>
59+
<click selector="{{AuthorizenetConfigurationSection.afterTwoYear}}" stepKey="selectYear"/>
60+
<fillField selector="{{AuthorizenetConfigurationSection.verificationNumber}}" userInput="123" stepKey="fillVerificationNumber"/>
61+
<click selector="{{AdminOrderFormActionSection.SubmitOrder}}" stepKey="SubmitOrder"/>
62+
<waitForPageLoad stepKey="waitForPageLoad1"/>
63+
<!--Get order ID and open order page-->
64+
<see userinput="You created the order." stepKey="verifyOrderCreated"/>
65+
<grabTextFrom selector="|Order # (\d+)|" stepKey="getOrderId"/>
66+
<actionGroup ref="filterOrderGridById" stepKey="filterOrderGridById">
67+
<argument name="orderId" value="$getOrderId"/>
68+
</actionGroup>
69+
<click selector="{{AdminDataGridTableSection.rowViewAction('1')}}" stepKey="clickCreatedOrderInGrid"/>
70+
<waitForPageLoad stepKey="waitForPageLoad2"/>
71+
<!--Verify required data-->
72+
<see userinput="Credit Card Direct Post (Authorize.net)" stepKey="checkPaymentMethod"/>
73+
<see userinput="Credit Card Type: MasterCard" stepKey="checkCardType"/>
74+
<see userinput="Credit Card Number: XXXX1111" stepKey="checkCardCode"/>
75+
<see userinput="AVS Response Code:" stepKey="checkAVSResponseCode"/>
76+
<see userinput="Processor Authentication Code:" stepKey="checkProcessorAuthorizationCode"/>
77+
<see userinput="Processor Response Text:" stepKey="checkProcessorResponseText"/>
78+
<see userinput="CVV2 Response Code:" stepKey="checkCVVResponseCode"/>
79+
<see userinput="The order was placed using USD." stepKey="checkCurrency"/>
80+
</test>
81+
</tests>

app/code/Magento/Authorizenet/etc/config.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<cgi_url>https://secure.authorize.net/gateway/transact.dll</cgi_url>
3333
<cgi_url_td_test_mode>https://apitest.authorize.net/xml/v1/request.api</cgi_url_td_test_mode>
3434
<cgi_url_td>https://api2.authorize.net/xml/v1/request.api</cgi_url_td>
35+
<paymentInfoKeys>x_card_type,x_account_number,x_avs_code,x_auth_code,x_response_reason_text,x_cvv2_resp_code</paymentInfoKeys>
3536
</authorizenet_directpost>
3637
</payment>
3738
</default>

app/code/Magento/Authorizenet/etc/di.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@
3535
</argument>
3636
</arguments>
3737
</type>
38+
<type name="Magento\Authorizenet\Block\Adminhtml\Order\View\Info\PaymentDetails">
39+
<arguments>
40+
<argument name="config" xsi:type="object">Magento\Authorizenet\Model\Directpost</argument>
41+
</arguments>
42+
</type>
3843
</config>

app/code/Magento/Authorizenet/i18n/en_US.csv

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,9 @@ Debug,Debug
6767
"Minimum Order Total","Minimum Order Total"
6868
"Maximum Order Total","Maximum Order Total"
6969
"Sort Order","Sort Order"
70+
"x_card_type","Credit Card Type"
71+
"x_account_number", "Credit Card Number"
72+
"x_avs_code","AVS Response Code"
73+
"x_auth_code","Processor Authentication Code"
74+
"x_response_reason_text","Processor Response Text"
75+
"x_cvv2_resp_code","CVV2 Response Code"

0 commit comments

Comments
 (0)