Version Notes
Bug fixes
Download this release
Release Info
Developer | inviPay.com |
Extension | Invipay_Ipcpaygate |
Version | 1.0.0.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.0.1 to 1.0.0.2
- app/code/community/Invipay/Common/Apiclient/PaygateApiClient.class.php +2 -0
- app/code/community/Invipay/Common/Apiclient/dto/{Address.class.php → AddressData.class.php} +1 -1
- app/code/community/Invipay/Common/Apiclient/dto/Contractor.class.php +2 -2
- app/code/community/Invipay/Common/Apiclient/examples/transactions.example.php +2 -2
- app/code/community/Invipay/Ipcpaygate/controllers/PaymentController.php +9 -3
- app/code/community/Invipay/Ipcpaygate/etc/config.xml +1 -1
- app/design/frontend/base/default/template/ipcpaygate/wait.phtml +0 -1
- package.xml +6 -12
app/code/community/Invipay/Common/Apiclient/PaygateApiClient.class.php
CHANGED
@@ -21,6 +21,8 @@ class PaygateApiClient extends AbstractRestApiClient
|
|
21 |
{
|
22 |
$output = null;
|
23 |
|
|
|
|
|
24 |
switch ($callbackDataFormat) {
|
25 |
case CallbackDataFormat::JSON: $output = $this->__mapArrayToObject(json_decode($callbackData, true), 'PaymentData', false); break;
|
26 |
case CallbackDataFormat::XML: $output = $this->__mapArrayToObject($this->__xmlToArray($callbackData), 'PaymentData', false); break;
|
21 |
{
|
22 |
$output = null;
|
23 |
|
24 |
+
file_put_contents("/Volumes/Files/Users/Vir/Work/Aero Sandbox/Presta/dump.json", $callbackData);
|
25 |
+
|
26 |
switch ($callbackDataFormat) {
|
27 |
case CallbackDataFormat::JSON: $output = $this->__mapArrayToObject(json_decode($callbackData, true), 'PaymentData', false); break;
|
28 |
case CallbackDataFormat::XML: $output = $this->__mapArrayToObject($this->__xmlToArray($callbackData), 'PaymentData', false); break;
|
app/code/community/Invipay/Common/Apiclient/dto/{Address.class.php → AddressData.class.php}
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
{
|
5 |
protected $street;
|
6 |
protected $city;
|
1 |
<?php
|
2 |
|
3 |
+
class AddressData
|
4 |
{
|
5 |
protected $street;
|
6 |
protected $city;
|
app/code/community/Invipay/Common/Apiclient/dto/Contractor.class.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
require_once(dirname(__FILE__) ."/
|
4 |
require_once(dirname(__FILE__) ."/BankAccount.class.php");
|
5 |
|
6 |
class Contractor
|
@@ -40,7 +40,7 @@ class Contractor
|
|
40 |
public function setAccount(BankAccount $account){ $this->account = $account; }
|
41 |
|
42 |
public function getAddress(){ return $this->address; }
|
43 |
-
public function setAddress(
|
44 |
}
|
45 |
|
46 |
?>
|
1 |
<?php
|
2 |
|
3 |
+
require_once(dirname(__FILE__) ."/AddressData.class.php");
|
4 |
require_once(dirname(__FILE__) ."/BankAccount.class.php");
|
5 |
|
6 |
class Contractor
|
40 |
public function setAccount(BankAccount $account){ $this->account = $account; }
|
41 |
|
42 |
public function getAddress(){ return $this->address; }
|
43 |
+
public function setAddress(AddressData $address){ $this->address = $address; }
|
44 |
}
|
45 |
|
46 |
?>
|
app/code/community/Invipay/Common/Apiclient/examples/transactions.example.php
CHANGED
@@ -37,7 +37,7 @@ $client = new TransactionsApiClient($api_config['url'], $api_config['apiKey'], $
|
|
37 |
|
38 |
$contractor->setAccount($contractorAccount);
|
39 |
|
40 |
-
$contractorAddress = new
|
41 |
$contractorAddress->setStreet('Test street 1/2');
|
42 |
$contractorAddress->setCity('Testville');
|
43 |
$contractorAddress->setPostCode('00-111');
|
@@ -94,7 +94,7 @@ $client = new TransactionsApiClient($api_config['url'], $api_config['apiKey'], $
|
|
94 |
|
95 |
$contractor->setAccount($contractorAccount);
|
96 |
|
97 |
-
$contractorAddress = new
|
98 |
$contractorAddress->setStreet('Test street 1/2');
|
99 |
$contractorAddress->setCity('Testville');
|
100 |
$contractorAddress->setPostCode('00-111');
|
37 |
|
38 |
$contractor->setAccount($contractorAccount);
|
39 |
|
40 |
+
$contractorAddress = new AddressData();
|
41 |
$contractorAddress->setStreet('Test street 1/2');
|
42 |
$contractorAddress->setCity('Testville');
|
43 |
$contractorAddress->setPostCode('00-111');
|
94 |
|
95 |
$contractor->setAccount($contractorAccount);
|
96 |
|
97 |
+
$contractorAddress = new AddressData();
|
98 |
$contractorAddress->setStreet('Test street 1/2');
|
99 |
$contractorAddress->setCity('Testville');
|
100 |
$contractorAddress->setPostCode('00-111');
|
app/code/community/Invipay/Ipcpaygate/controllers/PaymentController.php
CHANGED
@@ -11,9 +11,10 @@ class Invipay_Ipcpaygate_PaymentController extends Mage_Core_Controller_Front_Ac
|
|
11 |
public function statusAction()
|
12 |
{
|
13 |
$client = Mage::helper('ipcpaygate')->getApiClient();
|
14 |
-
$
|
|
|
15 |
|
16 |
-
if ($paymentData != null)
|
17 |
{
|
18 |
$inviPayPaymentId = $paymentData->getPaymentId();
|
19 |
$inviPayStatus = $paymentData->getStatus();
|
@@ -55,6 +56,11 @@ class Invipay_Ipcpaygate_PaymentController extends Mage_Core_Controller_Front_Ac
|
|
55 |
}
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
58 |
public function redirectAction()
|
59 |
{
|
60 |
$order = Mage::helper('ipcpaygate')->getLastSessionOrder();
|
@@ -121,7 +127,7 @@ class Invipay_Ipcpaygate_PaymentController extends Mage_Core_Controller_Front_Ac
|
|
121 |
$output['redirect'] = true;
|
122 |
$output['redirect_url'] = Mage::getUrl('checkout/onepage/success', array('_secure'=> false));
|
123 |
}
|
124 |
-
else if ($state == PaymentRequestStatus::OUT_OF_LIMIT || $state == PaymentRequestStatus::TIMEDOUT)
|
125 |
{
|
126 |
$output['redirect'] = true;
|
127 |
$output['redirect_url'] = Mage::getUrl('checkout/onepage/failure', array('_secure'=> false));
|
11 |
public function statusAction()
|
12 |
{
|
13 |
$client = Mage::helper('ipcpaygate')->getApiClient();
|
14 |
+
$receivedData = $client->paymentStatusFromCallbackPost(CallbackDataFormat::JSON);
|
15 |
+
$paymentData = $client->getPayment($receivedData->getPaymentId());
|
16 |
|
17 |
+
if ($paymentData != null && $this->checkPaymentStatus($paymentData) == true)
|
18 |
{
|
19 |
$inviPayPaymentId = $paymentData->getPaymentId();
|
20 |
$inviPayStatus = $paymentData->getStatus();
|
56 |
}
|
57 |
}
|
58 |
|
59 |
+
protected function checkPaymentStatus($receivedData)
|
60 |
+
{
|
61 |
+
return true;
|
62 |
+
}
|
63 |
+
|
64 |
public function redirectAction()
|
65 |
{
|
66 |
$order = Mage::helper('ipcpaygate')->getLastSessionOrder();
|
127 |
$output['redirect'] = true;
|
128 |
$output['redirect_url'] = Mage::getUrl('checkout/onepage/success', array('_secure'=> false));
|
129 |
}
|
130 |
+
else if ($state == PaymentRequestStatus::OUT_OF_LIMIT || $state == PaymentRequestStatus::TIMEDOUT || $state == PaymentRequestStatus::CANCELED)
|
131 |
{
|
132 |
$output['redirect'] = true;
|
133 |
$output['redirect_url'] = Mage::getUrl('checkout/onepage/failure', array('_secure'=> false));
|
app/code/community/Invipay/Ipcpaygate/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Invipay_Ipcpaygate>
|
5 |
-
<version>1.0.0.
|
6 |
</Invipay_Ipcpaygate>
|
7 |
</modules>
|
8 |
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Invipay_Ipcpaygate>
|
5 |
+
<version>1.0.0.2</version>
|
6 |
</Invipay_Ipcpaygate>
|
7 |
</modules>
|
8 |
|
app/design/frontend/base/default/template/ipcpaygate/wait.phtml
CHANGED
@@ -58,7 +58,6 @@
|
|
58 |
if (obj['redirect'] == true && obj['redirect_url'] != null) {
|
59 |
document.location.href = obj['redirect_url'];
|
60 |
} else {
|
61 |
-
console.log('Check again!');
|
62 |
window.setTimeout(doCheckPayment, 1000);
|
63 |
}
|
64 |
}
|
58 |
if (obj['redirect'] == true && obj['redirect_url'] != null) {
|
59 |
document.location.href = obj['redirect_url'];
|
60 |
} else {
|
|
|
61 |
window.setTimeout(doCheckPayment, 1000);
|
62 |
}
|
63 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Invipay_Ipcpaygate</name>
|
4 |
-
<version>1.0.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/OSL-3.0">OSL-3.0</license>
|
7 |
<channel>community</channel>
|
@@ -10,18 +10,12 @@
|
|
10 |
<description>Dzięki bramce płatności inviPay.com klient może zapłacić za zakupy w e-sklepie tak samo wygodnie i bezpiecznie jak to robi poza nim tj. dopiero po otrzymaniu i sprawdzeniu zamówienia w terminie płatności wynikającym z faktury, którą otrzymał od e-sklepu. Bezpiecznie, szybko i wygodnie na każdym etapie procesu.
|
11 |

|
12 |
Z drugiej strony, e-sklep już na etapie złożenia zamówienia przez klienta otrzymuje od inviPay.com zabezpieczenie całej płatności, którą wypłaca z inviPay.com natychmiast po zrealizowaniu zamówienia i wystawieniu faktury (bez czekania na termin płatności faktury).
|
13 |
-
|
14 |
-
|
15 |
-
* Nową metodę płatności dla Twoich klientów
|
16 |
-
* Atrakcyjne widgety promocyjne, pomagające Ci sprzedawać więcej z inviPay
|
17 |
-

|
18 |
-

|
19 |
-
Dowiedz się więcej na inviPay.com!</description>
|
20 |
-
<notes>Rozszerzone informacje w panelu administratora, w przypadku porzucenia koszyka przez klienta.</notes>
|
21 |
<authors><author><name>inviPay.com</name><user>MAG003279533</user><email>kpilecki@invipay.com</email></author></authors>
|
22 |
-
<date>2016-01-
|
23 |
-
<time>
|
24 |
-
<contents><target name="magecommunity"><dir name="Invipay"><dir name="Common"><dir name="Apiclient"><file name="LiabilitiesApiClient.class.php" hash="fc4ba09f0d0db408093aa4116793baa6"/><file name="PaygateApiClient.class.php" hash="
|
25 |
<compatible/>
|
26 |
<dependencies><required><php><min>5.2.0</min><max>8.0.0</max></php></required></dependencies>
|
27 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Invipay_Ipcpaygate</name>
|
4 |
+
<version>1.0.0.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/OSL-3.0">OSL-3.0</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Dzięki bramce płatności inviPay.com klient może zapłacić za zakupy w e-sklepie tak samo wygodnie i bezpiecznie jak to robi poza nim tj. dopiero po otrzymaniu i sprawdzeniu zamówienia w terminie płatności wynikającym z faktury, którą otrzymał od e-sklepu. Bezpiecznie, szybko i wygodnie na każdym etapie procesu.
|
11 |

|
12 |
Z drugiej strony, e-sklep już na etapie złożenia zamówienia przez klienta otrzymuje od inviPay.com zabezpieczenie całej płatności, którą wypłaca z inviPay.com natychmiast po zrealizowaniu zamówienia i wystawieniu faktury (bez czekania na termin płatności faktury).
|
13 |
+
</description>
|
14 |
+
<notes>Bug fixes</notes>
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
<authors><author><name>inviPay.com</name><user>MAG003279533</user><email>kpilecki@invipay.com</email></author></authors>
|
16 |
+
<date>2016-01-30</date>
|
17 |
+
<time>17:39:01</time>
|
18 |
+
<contents><target name="magecommunity"><dir name="Invipay"><dir name="Common"><dir name="Apiclient"><file name="LiabilitiesApiClient.class.php" hash="fc4ba09f0d0db408093aa4116793baa6"/><file name="PaygateApiClient.class.php" hash="c7046da56151afbfab074735d5139a13"/><file name="ReportsApiClient.class.php" hash="f3f0fe461ce78703cd1dbb2662a6decb"/><file name="TestApiClient.class.php" hash="178607f8829fbec6b900a8414bc07624"/><file name="TransactionsApiClient.class.php" hash="6d20fa053f1cc5ab960d7fee7cfb325f"/><dir name="dto"><file name="AddressData.class.php" hash="afe385e63a9010a61bc77fd2f452f1a9"/><file name="BankAccount.class.php" hash="2a677ab6fed0d35a8dcb52efb9291ed3"/><file name="BaseApiData.class.php" hash="a6ef76b5029508f53ef8354edbe52a2d"/><file name="BaseDocumentDetails.class.php" hash="12ae197ccd291f88c1d4ede46c5409c7"/><file name="Contractor.class.php" hash="0a1b5e7d7b4ca24a3fbdabaa05d7f43b"/><file name="DocumentAttachmentDownloadInfo.class.php" hash="e67c0e9e7ab77286140e25e4777f9946"/><file name="FileData.class.php" hash="646d93761d160ec22b98ce134f50b4f6"/><file name="FileInfo.class.php" hash="37a991db3016b1966cbe5c16e7fec21c"/><file name="ListFilter.class.php" hash="5619ee73318986dc0a9b19e84810f1df"/><dir name="liabilitiesapiservice"><file name="CommissionInvoiceDetails.class.php" hash="09a9111c21e007c31b7a15b4b16f5386"/><file name="InterestInvoiceDetails.class.php" hash="9c8d0064c5630a175d6b4927ce7ca5fe"/><file name="InterestNoteDetails.class.php" hash="57f2b4d646174ac26545a0a987c31c75"/><file name="LiabilityDocumentDetails.class.php" hash="73510cd207cfae45876e5d4a2c3af9f3"/></dir><dir name="paygateapiservice"><file name="CallbackDataFormat.enum.php" hash="fddecb87075141f17d8f00ef1ede2d3b"/><file name="OrderToInvoiceData.class.php" hash="c5b6fdb14000ff0601dd3e58aabf9a1a"/><file name="PaymentCreationData.class.php" hash="f4176eb4ac306b30ec04ba303a5e662c"/><file name="PaymentData.class.php" hash="7a9e5b19a45c1143b1be7de3ca929137"/><file name="PaymentManagementData.class.php" hash="885b6bd61d714e83dd0d49a7925a9867"/><file name="PaymentRequestStatus.enum.php" hash="16a3f551619ef6b94a0199841ad6677b"/><file name="PaymentStartInfo.class.php" hash="47413c9c8632cab45e427729939ea92e"/></dir><dir name="reportsapiservice"><file name="AccountantReportCommissionInvoiceItem.class.php" hash="875b542d5d3f889f06aa41234244e24d"/><file name="AccountantReportDocument.class.php" hash="7ff8f5c9b40a44e89f59ba2b0e55eba8"/><file name="AccountantReportInterestInvoiceItem.class.php" hash="c03e2a9c366bfb29f91c977c50465f70"/><file name="AccountantReportInterestNoteItem.class.php" hash="97368b9c64781768199b13bb8175e7be"/><file name="AccountantReportPaymentItem.class.php" hash="da2832dc6031dd6304a6a1baee47b962"/><file name="AccountantReportPayoffItem.class.php" hash="b146eec8d6c562964131bc825327a4d2"/><file name="AccountantReportPurchaseItem.class.php" hash="16ba5bbe01e723bf60c3ea9c45544084"/><file name="AccountantReportRSBItem.class.php" hash="a6363f2eb62ebb4571dbd4f2b87cba67"/><file name="AccountantReportRSPSettlementItem.class.php" hash="58e676d7b89a1b2d7e3d1e5067947836"/><file name="AccountantReportRSReversedSettlementItem.class.php" hash="c275a1bc23403fbd52b80e9dfb16c457"/><file name="AccountantReportRSSettlementItem.class.php" hash="014072417ff79bf370a368d6fd23e5e7"/><file name="AccountantReportResaleStatementItem.class.php" hash="62c8083f9d14dffc78dccbdfb147ef67"/><file name="AccountantReportSaleItem.class.php" hash="069ee1e48a6502fbe74048f5e6f36b68"/><file name="AccountantReportSettlementItem.class.php" hash="cb16a361e81c91b9f4fb06f2ba6f027e"/><file name="DocumentItem.class.php" hash="42f129867c013e876d76f401b6334f2a"/><file name="ReportFilter.class.php" hash="6431509fca97cc850215a9b24e88e308"/></dir><dir name="testapiservice"><file name="EchoIn.class.php" hash="5adbbca3cd1167e4c17bbef6c8694767"/><file name="EchoOut.class.php" hash="f8a363a7469fd2c08026013a6bc9a0a3"/></dir><dir name="transactionapiservice"><file name="BaseTransactionData.class.php" hash="de48f024b4f147fd720dc9a903fc70ce"/><file name="InvoiceData.class.php" hash="a551eb26ab489e8b71ac41411b75cbe3"/><file name="OrderData.class.php" hash="cddd51addb9c1a50cc20283fcee95c09"/><file name="TransactionDetails.class.php" hash="b80955b0cc09a976ca2984a7710f2daa"/><file name="TransactionItemDetails.class.php" hash="2510b1e2c0dcc797bbd3aa7fd61d12d5"/><file name="TransactionSide.enum.php" hash="b8a064d2746a4c8f85b9b53940dc324b"/><file name="TransactionType.enum.php" hash="1da4785de0de4cd8dfa92b4fd1b1b0fd"/><file name="TransactionsFilter.class.php" hash="6ab4a65ff7f0aa0d1ffd9b6d8d40c40b"/></dir></dir><dir name="examples"><file name="configuration.json" hash="48ce89b30cd0cff7765cd72890d62806"/><file name="example.common.php" hash="e184932e221094ebb95f0cf5f4dc890b"/><file name="liabilities.example.php" hash="33ec64ddeb0eb4670d6f6fdb76636287"/><file name="paygate.callback.example.php" hash="70ac925fad86abd2fa3250edb3ea15fa"/><file name="paygate.example.php" hash="92879ded048926bc1cd1744fc6b6b1b2"/><file name="reports.example.php" hash="f3cca09b7acc111b8e857427b2abbe81"/><file name="test.example.php" hash="10de51405575fd9b808645d6f4a8cea9"/><file name="transactions.example.php" hash="f9a03f11ee8aa8b28a1097623423b1a8"/></dir><dir name="exceptions"><file name="AccessFromIpDeniedException.class.php" hash="10d27ad15a78481c60b933a29a651833"/><file name="ApiOperationException.class.php" hash="2565937e6c9c52eeb1283630792e4e55"/><file name="AuthenticationException.class.php" hash="16f450fd99458e61a346b8381d50ab61"/><file name="ObjectNotFoundException.class.php" hash="9c97b69974c67cbb9588a9cf448a42bd"/><file name="SignatureException.class.php" hash="6a97d00d5a9f11b27ebd5f015ec3b5da"/><file name="TransactionContractorException.class.php" hash="31d7e92e10b1fcbc5d5b577accf33937"/><file name="ValidationException.class.php" hash="243b86124c941eea5ababf98d146babe"/></dir><dir name="lib"><file name="AbstractRestApiClient.class.php" hash="49a0e3c46da46c5dab0222e0c51c83d0"/></dir></dir></dir><dir name="Ipcpaygate"><dir name="Block"><dir name="Form"><file name="Checkout.php" hash="9a92da6993cb5e45f02bbb2bcc6a478c"/></dir><dir name="Info"><file name="Checkout.php" hash="5d5df97f7811cfc595810f49c8fba07e"/></dir><file name="Redirect.php" hash="8b75e3a69d9d7585d94c56ce21bde547"/><file name="Wait.php" hash="d38448d00281660f88c1770db6df6b8f"/><dir name="Widgets"><file name="Basketinfo.php" hash="7d32d565dbe33fee1941652db9e0e65e"/><file name="Floatingpanel.php" hash="70156ce6b4d9c9bce503806d9336db6d"/><file name="Footericon.php" hash="d77908b60c65489c299863089271f570"/></dir></dir><dir name="Helper"><file name="Data.php" hash="392a0453196a3f5c3ef93854b39cc3da"/></dir><dir name="Model"><file name="Orderstatusobserver.php" hash="eb1aa78074f6cf760111a933f38ce543"/><file name="Paymentmethod.php" hash="b9e1a837463724eec729069be8ac6825"/><dir name="Resource"><file name="Setup.php" hash="5fdeabfaa3d15dd1b187d1c516f62b02"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Checkouttext.php" hash="47c6f310cdfdf919b9ea0a0788b78a30"/><file name="Floatingpanel.php" hash="1c5acad7b7c3ca864f93714ca6c8613c"/><dir name="Widgets"><file name="Floatingpanel.php" hash="389ab30e3849aa65ebfe9ee09f717cb3"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="PaymentController.php" hash="f9db3c5b7366e100d6b6b811b14dbce8"/></dir><dir name="etc"><file name="config.xml" hash="a1f1eb4d7e53d20760e55746a8065585"/><file name="system.xml" hash="7f265c364b8a70c58787cc96b2b65113"/></dir><dir name="sql"><dir name="ipcpaygate_setup"><file name="mysql4-install-1.0.0.0.php" hash="a15d8e5cfc533bde3f06db9d8417b8dc"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Invipay_All.xml" hash="a74b71a076b06024ac9b43e50a3c5b91"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ipcpaygate.xml" hash="97281b9392c9138976b83e6598286364"/></dir><dir name="template"><dir name="ipcpaygate"><dir name="form"><file name="checkout.phtml" hash="92f8878ac5aa188fb1602a278a3f7200"/><file name="checkout_info.phtml" hash="5bd531bf5b8c20326dfa01613f2eb05c"/><file name="checkout_label.phtml" hash="c06e1ef6aed517d99796a7124e7f65a9"/></dir><file name="redirect.phtml" hash="c336f5b41f81d8780cbb2418cd2d7e09"/><file name="wait.phtml" hash="0f7a44eb8fd886282c7686819831ac46"/><dir name="widgets"><file name="basketinfo.phtml" hash="c00eb38ec8e12bca9834f56b297beb99"/><file name="floatingpanel.phtml" hash="9158bae9e9b6a40fa119bc8c77ef4163"/><file name="footericon.phtml" hash="7228d21af05ba8ab460378c1eb1a83a4"/><file name="head.phtml" hash="52877a06de606376f488459b26997877"/></dir></dir></dir></dir></dir></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.2.0</min><max>8.0.0</max></php></required></dependencies>
|
21 |
</package>
|