riskified_magento - Version 1.0.6.6

Version Notes

* Approved Status and Declined Status are now customizable by the user via Riskified configuration

Download this release

Release Info

Developer Riskified_Mage
Extension riskified_magento
Version 1.0.6.6
Comparing to
See all releases


Code changes from version 1.0.6.5 to 1.0.6.6

app/code/community/Riskified/Full/.DS_Store CHANGED
Binary file
app/code/community/Riskified/Full/Helper/Data.php CHANGED
@@ -42,10 +42,24 @@ class Riskified_Full_Helper_Data extends Mage_Core_Helper_Abstract {
42
return Mage::getStoreConfig('fullsection/full/declined_state');
43
}
44
45
public function getApprovedState() {
46
return Mage::getStoreConfig('fullsection/full/approved_state');
47
}
48
-
49
public function getSessionId(){
50
return Mage::getModel('core/cookie')->get('rCookie');
51
}
42
return Mage::getStoreConfig('fullsection/full/declined_state');
43
}
44
45
+ public function getDeclinedStatus() {
46
+ $state = $this->getDeclinedState();
47
+ return Mage::getStoreConfig('fullsection/full/declined_status_'.$state);
48
+ }
49
+
50
public function getApprovedState() {
51
return Mage::getStoreConfig('fullsection/full/approved_state');
52
}
53
+
54
+ public function getApprovedStatus() {
55
+ $state = $this->getApprovedState();
56
+ return Mage::getStoreConfig('fullsection/full/approved_status_'.$state);
57
+ }
58
+
59
+ public function isDebugLogsEnabled() {
60
+ return (bool) Mage::getStoreConfig('fullsection/full/debug_logs');
61
+ }
62
+
63
public function getSessionId(){
64
return Mage::getModel('core/cookie')->get('rCookie');
65
}
app/code/community/Riskified/Full/Helper/Order.php CHANGED
@@ -215,6 +215,11 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract {
215
}
216
217
private function getOrder($model) {
218
$order_array = array(
219
'id' => $this->getOrderOrigId($model),
220
'name' => $model->getIncrementId(),
@@ -222,7 +227,7 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract {
222
'created_at' => $this->formatDateAsIso8601($model->getCreatedAt()),
223
'currency' => $model->getOrderCurrencyCode(), // was getBaseCurrencyCode() before by mistake
224
'updated_at' => $this->formatDateAsIso8601($model->getUpdatedAt()),
225
- 'gateway' => $model->getPayment()->getMethod(),
226
'browser_ip' => $this->getRemoteIp($model),
227
'cart_token' => Mage::helper('full')->getSessionId(),
228
'note' => $model->getCustomerNote(),
@@ -310,6 +315,43 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract {
310
return $this->getAddress($mageAddr);
311
}
312
313
private function getPaymentDetails($model) {
314
$payment = $model->getPayment();
315
if(!$payment) {
@@ -404,6 +446,10 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract {
404
}
405
$credit_card_bin = $payment->getAdditionalInformation('riskified_cc_bin');
406
407
return new Model\PaymentDetails(array_filter(array(
408
'authorization_id' => $transactionId,
409
'avs_result_code' => $avs_result_code,
215
}
216
217
private function getOrder($model) {
218
+ $gateway = 'unavailable';
219
+ if ($model->getPayment()) {
220
+ $gateway = $model->getPayment()->getMethod();
221
+ }
222
+
223
$order_array = array(
224
'id' => $this->getOrderOrigId($model),
225
'name' => $model->getIncrementId(),
227
'created_at' => $this->formatDateAsIso8601($model->getCreatedAt()),
228
'currency' => $model->getOrderCurrencyCode(), // was getBaseCurrencyCode() before by mistake
229
'updated_at' => $this->formatDateAsIso8601($model->getUpdatedAt()),
230
+ 'gateway' => $gateway,
231
'browser_ip' => $this->getRemoteIp($model),
232
'cart_token' => Mage::helper('full')->getSessionId(),
233
'note' => $model->getCustomerNote(),
315
return $this->getAddress($mageAddr);
316
}
317
318
+ private function logPaymentData($model) {
319
+ Mage::helper('full/log')->log("Payment info debug Logs:");
320
+ try {
321
+ $payment = $model->getPayment();
322
+ $gateway_name = $payment->getMethod();
323
+ Mage::helper('full/log')->log("Payment Gateway: ".$gateway_name);
324
+ Mage::helper('full/log')->log("payment->getCcLast4(): ".$payment->getCcLast4());
325
+ Mage::helper('full/log')->log("payment->getCcType(): ".$payment->getCcType());
326
+ Mage::helper('full/log')->log("payment->getCcCidStatus(): ".$payment->getCcCidStatus());
327
+ Mage::helper('full/log')->log("payment->getCcAvsStatus(): ".$payment->getCcAvsStatus());
328
+ Mage::helper('full/log')->log("payment->getAdditionalInformation(): ".PHP_EOL.var_export($payment->getAdditionalInformation(), 1));
329
+ # paypal_avs_code,paypal_cvv2_match,paypal_fraud_filters,avs_result,cvv2_check_result,address_verification,
330
+ # postcode_verification,payment_status,pending_reason,payer_id,payer_status,email,credit_card_cvv2,
331
+ # cc_avs_status,cc_approval,cc_last4,cc_owner,cc_exp_month,cc_exp_year,
332
+ $sage = $model->getSagepayInfo();
333
+ if(is_object($sage)) {
334
+ #####,postcode_result,avscv2,address_status,payer_status
335
+ Mage::helper('full/log')->log("sagepay->getLastFourDigits(): ".$sage->getLastFourDigits());
336
+ Mage::helper('full/log')->log("sagepay->last_four_digits: ".$sage->getData('last_four_digits'));
337
+ Mage::helper('full/log')->log("sagepay->getCardType(): ".$sage->getCardType());
338
+ Mage::helper('full/log')->log("sagepay->card_type: ".$sage->getData('card_type'));
339
+ Mage::helper('full/log')->log("sagepay->getAvsCv2Status: ".$sage->getAvsCv2Status());
340
+ Mage::helper('full/log')->log("sagepay->address_result: ".$sage->getData('address_result'));
341
+ Mage::helper('full/log')->log("sagepay->getCv2result: ".$sage->getCv2result());
342
+ Mage::helper('full/log')->log("sagepay->cv2result: ".$sage->getData('cv2result'));
343
+ Mage::helper('full/log')->log("sagepay->getAvscv2: ".$sage->getAvscv2());
344
+ Mage::helper('full/log')->log("sagepay->getAddressResult: ".$sage->getAddressResult());
345
+ Mage::helper('full/log')->log("sagepay->getPostcodeResult: ".$sage->getPostcodeResult());
346
+ Mage::helper('full/log')->log("sagepay->getDeclineCode: ".$sage->getDeclineCode());
347
+ Mage::helper('full/log')->log("sagepay->getBankAuthCode: ".$sage->getBankAuthCode());
348
+ Mage::helper('full/log')->log("sagepay->getPayerStatus: ".$sage->getPayerStatus());
349
+ }
350
+ } catch(Exception $e) {
351
+ Mage::helper('full/log')->logException($e);
352
+ }
353
+ }
354
+
355
private function getPaymentDetails($model) {
356
$payment = $model->getPayment();
357
if(!$payment) {
446
}
447
$credit_card_bin = $payment->getAdditionalInformation('riskified_cc_bin');
448
449
+ if(Mage::helper('full')->isDebugLogsEnabled()) {
450
+ $this->logPaymentData($model);
451
+ }
452
+
453
return new Model\PaymentDetails(array_filter(array(
454
'authorization_id' => $transactionId,
455
'avs_result_code' => $avs_result_code,
app/code/community/Riskified/Full/Helper/Order/Status.php CHANGED
@@ -89,7 +89,7 @@ class Riskified_Full_Helper_Order_Status extends Mage_Core_Helper_Abstract
89
*/
90
public function getSelectedApprovedState()
91
{
92
- $state = Mage::getStoreConfig('fullsection/full/approved_state');
93
94
if (!in_array($state, array(Mage_Sales_Model_Order::STATE_PROCESSING,Mage_Sales_Model_Order::STATE_HOLDED))) {
95
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
@@ -99,13 +99,30 @@ class Riskified_Full_Helper_Order_Status extends Mage_Core_Helper_Abstract
99
}
100
101
/**
102
- * Get the current declined state from the configuration
103
*
104
* @return string
105
*/
106
public function getSelectedDeclinedState()
107
{
108
- $state = Mage::getStoreConfig('fullsection/full/declined_state');
109
110
if (!in_array($state, array(Mage_Sales_Model_Order::STATE_CANCELED,Mage_Sales_Model_Order::STATE_HOLDED))) {
111
$state = Mage_Sales_Model_Order::STATE_CANCELED;
@@ -113,4 +130,21 @@ class Riskified_Full_Helper_Order_Status extends Mage_Core_Helper_Abstract
113
114
return $state;
115
}
116
}
89
*/
90
public function getSelectedApprovedState()
91
{
92
+ $state = Mage::helper('full')->getApprovedState();
93
94
if (!in_array($state, array(Mage_Sales_Model_Order::STATE_PROCESSING,Mage_Sales_Model_Order::STATE_HOLDED))) {
95
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
99
}
100
101
/**
102
+ * Get the current approved status from the configuration
103
+ *
104
+ * @return string
105
+ */
106
+ public function getSelectedApprovedStatus()
107
+ {
108
+ $status = Mage::helper('full')->getApprovedStatus();
109
+
110
+ $allowedStatuses = Mage::getSingleton('sales/order_config')->getStateStatuses($this->getSelectedApprovedState());
111
+ if (!in_array($status, $allowedStatuses)) {
112
+ $status = $this->getRiskifiedApprovedStatusCode();
113
+ }
114
+
115
+ return $status;
116
+ }
117
+
118
+ /**
119
+ * Get the current declined status from the configuration
120
*
121
* @return string
122
*/
123
public function getSelectedDeclinedState()
124
{
125
+ $state = Mage::helper('full')->getDeclinedState();
126
127
if (!in_array($state, array(Mage_Sales_Model_Order::STATE_CANCELED,Mage_Sales_Model_Order::STATE_HOLDED))) {
128
$state = Mage_Sales_Model_Order::STATE_CANCELED;
130
131
return $state;
132
}
133
+
134
+ /**
135
+ * Get the current declined status from the configuration
136
+ *
137
+ * @return string
138
+ */
139
+ public function getSelectedDeclinedStatus()
140
+ {
141
+ $status = Mage::helper('full')->getDeclinedStatus();
142
+
143
+ $allowedStatuses = Mage::getSingleton('sales/order_config')->getStateStatuses($this->getSelectedDeclinedState());
144
+ if (!in_array($status, $allowedStatuses)) {
145
+ $status = $this->getRiskifiedDeclinedStatusCode();
146
+ }
147
+
148
+ return $status;
149
+ }
150
}
app/code/community/Riskified/Full/Model/Observer.php CHANGED
@@ -166,11 +166,7 @@ class Riskified_Full_Model_Observer {
166
&& ($currentStatus == $riskifiedOrderStatusHelper->getOnHoldStatusCode()
167
|| $currentStatus == $riskifiedOrderStatusHelper->getTransportErrorStatusCode())) {
168
$newState = $riskifiedOrderStatusHelper->getSelectedApprovedState();
169
- if ($newState == Mage_Sales_Model_Order::STATE_PROCESSING){
170
- $newStatus = TRUE;
171
- }else {
172
- $newStatus = $riskifiedOrderStatusHelper->getRiskifiedApprovedStatusCode();
173
- }
174
}
175
176
break;
@@ -179,7 +175,7 @@ class Riskified_Full_Model_Observer {
179
&& ($currentStatus == $riskifiedOrderStatusHelper->getOnHoldStatusCode()
180
|| $currentStatus == $riskifiedOrderStatusHelper->getTransportErrorStatusCode())) {
181
$newState = $riskifiedOrderStatusHelper->getSelectedDeclinedState();
182
- $newStatus = $riskifiedOrderStatusHelper->getRiskifiedDeclinedStatusCode();
183
}
184
185
break;
166
&& ($currentStatus == $riskifiedOrderStatusHelper->getOnHoldStatusCode()
167
|| $currentStatus == $riskifiedOrderStatusHelper->getTransportErrorStatusCode())) {
168
$newState = $riskifiedOrderStatusHelper->getSelectedApprovedState();
169
+ $newStatus = $riskifiedOrderStatusHelper->getSelectedApprovedStatus();
170
}
171
172
break;
175
&& ($currentStatus == $riskifiedOrderStatusHelper->getOnHoldStatusCode()
176
|| $currentStatus == $riskifiedOrderStatusHelper->getTransportErrorStatusCode())) {
177
$newState = $riskifiedOrderStatusHelper->getSelectedDeclinedState();
178
+ $newStatus = $riskifiedOrderStatusHelper->getSelectedDeclinedStatus();
179
}
180
181
break;
app/code/community/Riskified/Full/Model/System/Config/Source/CanceledStateStatuses.php ADDED
@@ -0,0 +1,13 @@
1
+ <?php
2
+
3
+ class Riskified_Full_Model_System_Config_Source_CanceledStateStatuses
4
+ {
5
+ /**
6
+ * @return array
7
+ */
8
+ public function toOptionArray()
9
+ {
10
+ $arr = Mage::getSingleton('sales/order_config')->getStateStatuses(Mage_Sales_Model_Order::STATE_CANCELED);
11
+ return array_map(function($status) { return array('value' => $status, 'label' => Mage::helper('full')->__($status)); }, $arr);
12
+ }
13
+ }
app/code/community/Riskified/Full/Model/System/Config/Source/HoldedStateStatuses.php ADDED
@@ -0,0 +1,13 @@
1
+ <?php
2
+
3
+ class Riskified_Full_Model_System_Config_Source_HoldedStateStatuses
4
+ {
5
+ /**
6
+ * @return array
7
+ */
8
+ public function toOptionArray()
9
+ {
10
+ $arr = Mage::getSingleton('sales/order_config')->getStateStatuses(Mage_Sales_Model_Order::STATE_HOLDED);
11
+ return array_map(function($status) { return array('value' => $status, 'label' => Mage::helper('full')->__($status)); }, $arr);
12
+ }
13
+ }
app/code/community/Riskified/Full/Model/System/Config/Source/ProcessingStateStatuses.php ADDED
@@ -0,0 +1,13 @@
1
+ <?php
2
+
3
+ class Riskified_Full_Model_System_Config_Source_ProcessingStateStatuses
4
+ {
5
+ /**
6
+ * @return array
7
+ */
8
+ public function toOptionArray()
9
+ {
10
+ $arr = Mage::getSingleton('sales/order_config')->getStateStatuses(Mage_Sales_Model_Order::STATE_PROCESSING);
11
+ return array_map(function($status) { return array('value' => $status, 'label' => Mage::helper('full')->__($status)); }, $arr);
12
+ }
13
+ }
app/code/community/Riskified/Full/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
<config>
3
<modules>
4
<Riskified_Full>
5
- <version>1.0.6.5</version>
6
</Riskified_Full>
7
</modules>
8
@@ -282,11 +282,16 @@
282
<default>
283
<fullsection>
284
<full>
285
- <order_status_sync>0</order_status_sync>
286
- <env>SANDBOX</env>
287
<beaconurl>beacon.riskified.com</beaconurl>
288
<auto_invoice_enabled>0</auto_invoice_enabled>
289
<auto_invoice_capture_case>online</auto_invoice_capture_case>
290
</full>
291
</fullsection>
292
</default>
2
<config>
3
<modules>
4
<Riskified_Full>
5
+ <version>1.0.6.6</version>
6
</Riskified_Full>
7
</modules>
8
282
<default>
283
<fullsection>
284
<full>
285
<beaconurl>beacon.riskified.com</beaconurl>
286
+ <env>SANDBOX</env>
287
+ <!--<domain></domain>-->
288
+ <!--<key></key>-->
289
+ <order_status_sync>0</order_status_sync>
290
+ <!--<approved_state>processing</approved_state>-->
291
+ <!--<declined_state>canceled</declined_state>-->
292
<auto_invoice_enabled>0</auto_invoice_enabled>
293
<auto_invoice_capture_case>online</auto_invoice_capture_case>
294
+ <debug_logs>0</debug_logs>
295
</full>
296
</fullsection>
297
</default>
app/code/community/Riskified/Full/etc/system.xml CHANGED
@@ -42,7 +42,7 @@
42
<show_in_default>1</show_in_default>
43
<show_in_website>0</show_in_website>
44
<show_in_store>0</show_in_store>
45
- <comment><![CDATA[This is your Riskified's account username]]></comment>
46
</domain>
47
<key translate="label comment">
48
<label>Auth token</label>
@@ -59,9 +59,9 @@
59
<br>Requires the <i>Order notification endpoint</i> to be configured correctly in your Riskified Settings page.
60
<br>Using the following mapping:
61
<br>'submit' => state: 'On Hold', status: 'On Hold (Riskified)'
62
- <br>'approve' => state: [defined bellow by 'Approved State' value], status: 'Approved by Riskified'
63
- <br>'decline' => state: [defined bellow by 'Declined State' value], status: 'Declined by Riskified'
64
- <br> in case of transfer error => state: 'On Hold, status: 'On Hold (Riskified Transport Error)'
65
<br><b>Important:</b> Might affect other extensions that are dependent on an Order's status.
66
]]></comment>
67
<frontend_type>select</frontend_type>
@@ -84,10 +84,38 @@
84
<order_status_sync>1</order_status_sync>
85
</depends>
86
</approved_state>
87
<declined_state translate="label comment">
88
<label>Declined State</label>
89
<frontend_type>select</frontend_type>
90
- <sort_order>12</sort_order>
91
<show_in_default>1</show_in_default>
92
<show_in_website>0</show_in_website>
93
<show_in_store>0</show_in_store>
@@ -97,15 +125,34 @@
97
<order_status_sync>1</order_status_sync>
98
</depends>
99
</declined_state>
100
- <!--<activationstatus>
101
- <comment></comment>
102
- <frontend_type>text</frontend_type>
103
- <sort_order>4</sort_order>
104
- <class>riskified_activationstatus</class>
105
<show_in_default>1</show_in_default>
106
<show_in_website>0</show_in_website>
107
<show_in_store>0</show_in_store>
108
- </activationstatus>-->
109
<auto_invoice_enabled translate="label comment">
110
<label>Enable Auto-Invoice</label>
111
<frontend_type>select</frontend_type>
@@ -132,6 +179,19 @@
132
<order_status_sync>1</order_status_sync>
133
</depends>
134
</auto_invoice_capture_case>
135
</fields>
136
</full>
137
</groups>
42
<show_in_default>1</show_in_default>
43
<show_in_website>0</show_in_website>
44
<show_in_store>0</show_in_store>
45
+ <comment><![CDATA[This is the shop domain used during signup]]></comment>
46
</domain>
47
<key translate="label comment">
48
<label>Auth token</label>
59
<br>Requires the <i>Order notification endpoint</i> to be configured correctly in your Riskified Settings page.
60
<br>Using the following mapping:
61
<br>'submit' => state: 'On Hold', status: 'On Hold (Riskified)'
62
+ <br>'approve' => state: [defined bellow by 'Approved State' value], status: [defined bellow by 'Approved Status' value]
63
+ <br>'decline' => state: [defined bellow by 'Declined State' value], status: [defined bellow by 'Declined Status' value]
64
+ <br> in case of transfer error => state: 'On Hold', status: 'On Hold (Riskified Transport Error)'
65
<br><b>Important:</b> Might affect other extensions that are dependent on an Order's status.
66
]]></comment>
67
<frontend_type>select</frontend_type>
84
<order_status_sync>1</order_status_sync>
85
</depends>
86
</approved_state>
87
+ <approved_status_processing translate="label comment">
88
+ <label>Approved Status</label>
89
+ <frontend_type>select</frontend_type>
90
+ <sort_order>12</sort_order>
91
+ <show_in_default>1</show_in_default>
92
+ <show_in_website>0</show_in_website>
93
+ <show_in_store>0</show_in_store>
94
+ <comment><![CDATA[The Magento status to move to when an order is approved]]></comment>
95
+ <source_model>full/system_config_source_processingStateStatuses</source_model>
96
+ <depends>
97
+ <order_status_sync>1</order_status_sync>
98
+ <approved_state>processing</approved_state>
99
+ </depends>
100
+ </approved_status_processing>
101
+ <approved_status_holded translate="label comment">
102
+ <label>Approved Status</label>
103
+ <frontend_type>select</frontend_type>
104
+ <sort_order>12</sort_order>
105
+ <show_in_default>1</show_in_default>
106
+ <show_in_website>0</show_in_website>
107
+ <show_in_store>0</show_in_store>
108
+ <comment><![CDATA[The Magento status to move to when an order is approved]]></comment>
109
+ <source_model>full/system_config_source_holdedStateStatuses</source_model>
110
+ <depends>
111
+ <order_status_sync>1</order_status_sync>
112
+ <approved_state>holded</approved_state>
113
+ </depends>
114
+ </approved_status_holded>
115
<declined_state translate="label comment">
116
<label>Declined State</label>
117
<frontend_type>select</frontend_type>
118
+ <sort_order>13</sort_order>
119
<show_in_default>1</show_in_default>
120
<show_in_website>0</show_in_website>
121
<show_in_store>0</show_in_store>
125
<order_status_sync>1</order_status_sync>
126
</depends>
127
</declined_state>
128
+ <declined_status_canceled translate="label comment">
129
+ <label>Declined Status</label>
130
+ <frontend_type>select</frontend_type>
131
+ <sort_order>14</sort_order>
132
<show_in_default>1</show_in_default>
133
<show_in_website>0</show_in_website>
134
<show_in_store>0</show_in_store>
135
+ <comment><![CDATA[The Magento status to move to when an order is declined]]></comment>
136
+ <source_model>full/system_config_source_canceledStateStatuses</source_model>
137
+ <depends>
138
+ <order_status_sync>1</order_status_sync>
139
+ <declined_state>canceled</declined_state>
140
+ </depends>
141
+ </declined_status_canceled>
142
+ <declined_status_holded translate="label comment">
143
+ <label>Declined Status</label>
144
+ <frontend_type>select</frontend_type>
145
+ <sort_order>14</sort_order>
146
+ <show_in_default>1</show_in_default>
147
+ <show_in_website>0</show_in_website>
148
+ <show_in_store>0</show_in_store>
149
+ <comment><![CDATA[The Magento status to move to when an order is declined]]></comment>
150
+ <source_model>full/system_config_source_holdedStateStatuses</source_model>
151
+ <depends>
152
+ <order_status_sync>1</order_status_sync>
153
+ <declined_state>holded</declined_state>
154
+ </depends>
155
+ </declined_status_holded>
156
<auto_invoice_enabled translate="label comment">
157
<label>Enable Auto-Invoice</label>
158
<frontend_type>select</frontend_type>
179
<order_status_sync>1</order_status_sync>
180
</depends>
181
</auto_invoice_capture_case>
182
+ <debug_logs translate="label comment">
183
+ <label>Debug logs</label>
184
+ <frontend_type>select</frontend_type>
185
+ <source_model>adminhtml/system_config_source_yesno</source_model>
186
+ <sort_order>130</sort_order>
187
+ <show_in_default>1</show_in_default>
188
+ <show_in_website>0</show_in_website>
189
+ <show_in_store>0</show_in_store>
190
+ <comment><![CDATA[Write additional debug logs?]]></comment>
191
+ <depends>
192
+ <order_status_sync>1</order_status_sync>
193
+ </depends>
194
+ </debug_logs>
195
</fields>
196
</full>
197
</groups>
lib/riskified_php_sdk/src/Riskified/.DS_Store DELETED
Binary file
lib/riskified_php_sdk/src/Riskified/OrderWebhook/Model/Address.php CHANGED
@@ -34,9 +34,9 @@ class Address extends AbstractModel {
34
'address1' => 'string optional',
35
'address2' => 'string optional',
36
'province' => 'string optional',
37
- 'province_code' => 'string /^[A-Z]{2}#x2F;i optional',
38
'zip' => 'string optional',
39
'latitude' => 'float optional',
40
'longitude' => 'float optional',
41
);
42
- }
34
'address1' => 'string optional',
35
'address2' => 'string optional',
36
'province' => 'string optional',
37
+ 'province_code' => 'string /^[A-Z0-9]{1,3}#x2F;i optional',
38
'zip' => 'string optional',
39
'latitude' => 'float optional',
40
'longitude' => 'float optional',
41
);
42
+ }
lib/riskified_scripts/riskified_historical_upload.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- // if this is not run from the Magento root, use chdir() to move execution back.
3
- //chdir('../magento/');
4
-
5
- set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());
6
- require 'app/Mage.php';
7
-
8
- umask (0);
9
- Mage::app(); // can set the run code/type, just like in the Mage::run() call
10
-
11
- $helper = Mage::helper('full');
12
- $authToken = $helper->getAuthToken();
13
- $env = constant($helper->getConfigEnv());
14
- $domain = $helper->getShopDomain();
15
-
16
- echo "Riskified auth token: $authToken \n";
17
- echo "Riskified shop domain: $domain \n";
18
- echo "Riskified target environment: $env \n";
19
- echo "*********** \n";
20
- include __DIR__ . 'lib/riskified_php_sdk/src/Riskified/autoloader.php';
21
- use Riskified\Common\Riskified;
22
- use Riskified\Common\Env;
23
- use Riskified\Common\Validations;
24
- use Riskified\Common\Signature;
25
- use Riskified\OrderWebhook\Model;
26
- use Riskified\OrderWebhook\Transport;
27
-
28
- Riskified::init($domain, $authToken, $env, Validations::SKIP);
29
- // add your own code below:
30
- $batch_size = 10;
31
- $options = getopt("p::");
32
- $page = intval($options["p"]);
33
- if (!$page) {
34
- $page = 1;
35
- }
36
- $orders = Mage::getModel('sales/order')->getCollection();
37
-
38
- $total_count = $orders->getSize();
39
-
40
- echo "starting to upload orders, total_count: $total_count \n";
41
-
42
- $orders_collection = Mage::getModel('sales/order')
43
- ->getCollection()
44
- ->setPageSize($batch_size)
45
- ->setCurPage($page);
46
-
47
- $total_uploaded = 0;
48
-
49
- while ($total_uploaded < $total_count) {
50
- $last_id = $orders_collection->getLastItem()->getEntityId();
51
-
52
- try {
53
- Mage::helper('full/order')->postHistoricalOrders($orders_collection);
54
- $total_uploaded += $orders_collection->count();
55
- echo "last id: $last_id, page:$page, total_uploaded: $total_uploaded \n";
56
- $page++;
57
- $orders_collection = Mage::getModel('sales/order')
58
- ->getCollection()
59
- ->setPageSize($batch_size)
60
- ->setCurPage($page);
61
- } catch (Exception $e) {
62
- echo "Error: ".$e->getMessage();
63
- exit(1);
64
- }
65
- }
66
- echo "*********** \n";
67
- echo "wOOt, Finished successfully!!!! total_uploaded: $total_uploaded\n";
68
- echo "Please let us know and we will process the order within 24 hours, Thanks!!\n";
69
- ?>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>riskified_magento</name>
4
- <version>1.0.6.5</version>
5
<stability>stable</stability>
6
<license>OSL v3.0</license>
7
<channel>community</channel>
@@ -9,11 +9,11 @@
9
<summary>Riskified Magento extension</summary>
10
<description>Riskified reviews, approves &amp; guarantees&#xD;
11
transactions you would otherwise decline.</description>
12
- <notes>Support Sandbox first enrollment, make Sandbox the default env, and always show the config form</notes>
13
<authors><author><name>Riskified_Mage</name><user>Riskified_Mage</user><email>support@riskified.com</email></author></authors>
14
- <date>2015-03-03</date>
15
- <time>07:02:31</time>
16
- <contents><target name="magecommunity"><dir name="Riskified"><dir name="Full"><dir><dir name="Helper"><file name="Data.php" hash="2d3f448cc5a13b49950826af2cd07148"/><file name="Debug.php" hash="18335d988a142ee639ea59dbecafa15c"/><file name="Log.php" hash="14125243576ab5b08f40066d24b7241d"/><dir name="Order"><file name="Invoice.php" hash="fd6fcbdedd44551785eddd0e1a482e80"/><file name="Status.php" hash="201a5c07c1d0d0b0a15d3bfb94a46d4b"/></dir><file name="Order.php" hash="5a7c1c431fb7a8c7dccbee1f78d41f65"/></dir><dir name="Model"><file name="Authorizenet.php" hash="bd42f62d06a036b9da7709d2e40fc8f1"/><file name="Cron.php" hash="187b86ebe9238ff132ed0337f05a8ae9"/><file name="Observer.php" hash="f15afcb69bf13683d637b293fbdf1a6c"/><dir name="Resource"><dir name="Retry"><file name="Collection.php" hash="fd62ad4e4cdd8d372751bfa9988cc3a9"/></dir><file name="Retry.php" hash="3be3db7e54bd8bb45e0faffa1941f515"/></dir><file name="Retry.php" hash="89e7344139affa4fe0b9a252a5d1c592"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ApprovedState.php" hash="5c620d1039347218354bd58c2238ecb4"/><file name="CaptureCase.php" hash="daafa6f53c65fa6e6e7ffbb067dbbbba"/><file name="DeclinedState.php" hash="a00907072c06ade079483e3db03bb94f"/><file name="Env.php" hash="4d923355b3e56fac95c2a9b3c353ab76"/></dir></dir></dir></dir><dir name="Test"><dir name="Config"><file name="General.php" hash="a5d4950c5655960879e7d75c06977941"/></dir><dir name="Helper"><dir name="General"><dir name="fixtures"><file name="extensionConfigEnabled.yaml" hash="eec8c8d8a1d5de49897b19740cf8e074"/></dir></dir><file name="General.php" hash="607c9711656be48084f6688e114b6bf6"/></dir><dir name="Model"><file name="Environments.php" hash="f3fc028d17c82b9b84b709b932e64eae"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FullController.php" hash="f80e78a808e99f11a7bc00bd02be3f2e"/></dir><file name="ResponseController.php" hash="550c29c6c6706067bac3531b8f3eb37f"/></dir><dir name="etc"><file name="config.xml" hash="e8508707f181d416e892295153e366fa"/><file name="system.xml" hash="9ed5ff1209c08a7babb0e286804c1f9b"/></dir><dir name="sql"><dir name="riskified_full_setup"><file name="mysql4-install-1.0.1.php" hash="6d29dde79353e8bfefa6ea7bc2ef562a"/><file name="mysql4-upgrade-1.0.2.0-1.0.2.1.php" hash="822e85326678a320f141a3ae948e4a24"/><file name="mysql4-upgrade-1.0.4-1.0.5.0.php" hash="557115e1a978d9b194b2cd1cfb8b5a95"/><file name="mysql4-upgrade-1.0.5.5-1.0.6.0.php" hash="0318846fbe8f3e56d8f7d3fdc750e102"/></dir></dir></dir><file name=".DS_Store" hash="715cd4ccc06f4d229c9e00b8f6557eb0"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Riskified_Full.xml" hash="d684caecdf710e5d0173ca07e5c5d1c0"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="full.xml" hash="8dbb3dd16fcb5821eb07e9b5d978d55c"/></dir><dir name="template"><dir name="full"><file name="jsinit.phtml" hash="6d115f22624a7a4e9841888ba5df35cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="full.xml" hash="9497753e5c3d2860062c5446c058b4bc"/></dir><dir name="template"><dir name="full"><file name="riskified.phtml" hash="fe4a577c6ef98316d906c36c17f11406"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="riskified"><file name="logo.jpg" hash="0ac96bf07aa8b8ecb3ff06c2ccbf0827"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="riskified_php_sdk"><file name="README.md" hash="f37118baa641e4ef6d670bb1c0298482"/><dir><dir name="sample"><file name="callback.php" hash="c6fb5a90b2c527b794fcec803acb36d9"/><file name="order_full_flow.php" hash="71d931fff3aa98402c9a7d3b271a6ae4"/><file name="order_marketplace_create.php" hash="ae3d2fb28154a710934d6243302a590d"/><file name="order_simple_submit.php" hash="d8458f7992b486b6dac28558526f068b"/><file name="run_callback_server.sh" hash="8202fd93c15e088d072805d3a2f4c02b"/><file name="upload_historical.php" hash="78bdb85c036183de16968a79c8836efd"/></dir><dir name="src"><dir name="Riskified"><dir name="Common"><file name="Env.php" hash="3fc8342a423141fb0c110901deebfe25"/><dir name="Exception"><file name="BaseException.php" hash="ce902d0a3bd9af53b3c1923541602ead"/></dir><file name="Riskified.php" hash="2137e73cf6371aeb113a6755357b603f"/><dir name="Signature"><file name="HttpDataSignature.php" hash="b9f5d57db1903126a72eb38ca55ba878"/></dir><file name="Validations.php" hash="4af37b31901f215b660c868c31594b75"/></dir><dir name="DecisionNotification"><dir name="Exception"><file name="AuthorizationException.php" hash="4cab71ac324efd3b29bdfa6236a8f531"/><file name="BadHeaderException.php" hash="407a0d9e94d52e8b43bed02e34bd4a70"/><file name="BadPostJsonException.php" hash="2e2a7f84fae19fd525f01f6899ea218b"/><file name="NotificationException.php" hash="8f7d1ed8b9523ec66423c6ff2703085f"/></dir><dir name="Model"><file name="Notification.php" hash="9e2f5fd421abe37ab7b742767966f312"/></dir></dir><dir name="OrderWebhook"><dir name="Exception"><file name="ClassMismatchPropertyException.php" hash="8854b7aea6736b290826eb44ac0ba578"/><file name="CurlException.php" hash="27488d2dd0fa2c25b647a5967e3821b1"/><file name="FormatMismatchPropertyException.php" hash="2729989c3ac2a245341fd01a4d004b49"/><file name="InvalidPropertyException.php" hash="97084ff2ff33f5c657c5876a44aa97d2"/><file name="MalformedJsonException.php" hash="8c795b605988f20f1899dcf160f29cf1"/><file name="MissingPropertyException.php" hash="5ad8df6ba645a113fac7b65e08167d2c"/><file name="MultiplePropertiesException.php" hash="aaa042c5a0fcfd15dc2744059b15798b"/><file name="PropertyException.php" hash="7a234406434c5616aab72da27a1ed6ed"/><file name="TypeMismatchPropertyException.php" hash="5eed61220c954a462411f433a2c85bf2"/><file name="UnsuccessfulActionException.php" hash="b02fafbda955fa889ca36c5092ccc68d"/></dir><dir name="Model"><file name="AbstractModel.php" hash="73adfaac9fe9e189827baac5a71e41a4"/><file name="Address.php" hash="68d2ed178575374f2b6f7701b6f30cd9"/><file name="Attribute.php" hash="e7fa146d7c9c807494c225e6a41afcfb"/><file name="AuthorizationError.php" hash="b82229eff42d94ceba58d4d6a3a4118b"/><file name="Checkout.php" hash="ede0e6d2fd8319ada669de35b4c3190f"/><file name="ClientDetails.php" hash="50b329fa6b77bcbeff4b725705b957af"/><file name="Customer.php" hash="02801c70557fbfa6aea7ac6058f6f4b4"/><file name="DiscountCode.php" hash="0861920950828a3ff19904b92b4cb50d"/><file name="Fulfillment.php" hash="9111db9b13ae7b2fbe6bf806a66d78f2"/><file name="FulfillmentDetails.php" hash="d3c11d4e8943862fc4a774f3f8e9d7d7"/><file name="LineItem.php" hash="3a03c75348060aa9ca930174b9d5dc56"/><file name="Order.php" hash="d32cd686532d5cc2810321c5befe3149"/><file name="OrderCancellation.php" hash="f6f2d5234bb98b56902e632fbccc07b3"/><file name="PaymentDetails.php" hash="413b5a6ab26ec6b9b0664a9d9e301c02"/><file name="Refund.php" hash="1c3ad264984585cfcefc909ffa708dc4"/><file name="RefundDetails.php" hash="f9a0e27e26bbfb6699bb0dd44fe6a184"/><file name="Seller.php" hash="2dd5dc2dc22582231263cad803149a16"/><file name="ShippingLine.php" hash="5ac14361474789db570fa6d14b17a973"/><file name="SocialDetails.php" hash="8a9296a4277a645bb86f5956b7437081"/><file name="TaxLine.php" hash="59f82a19bc9ada690aa79bc96307db5e"/></dir><dir name="Transport"><file name="AbstractTransport.php" hash="4ab3636ee044c9272542ce8076ac8d33"/><file name="CurlTransport.php" hash="ecfb195ac0f8f9599dd859dffc40c968"/></dir></dir><file name="autoloader.php" hash="f3471e90daf6184a096d337bbcd40bd1"/><file name=".DS_Store" hash="cb0eca70daefed8b870bdb3fe4b6c9e5"/></dir></dir></dir><file name=".gitignore" hash="73f01e1298c44b6cc3e24a70cad8c56c"/></dir><dir name="riskified_scripts"><file name="riskified_historical_upload.php" hash="db28908aa4d29a78b712057fa60924fb"/></dir></target></contents>
17
<compatible/>
18
<dependencies><required><php><min>4.4.0</min><max>6.0.0</max></php></required></dependencies>
19
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>riskified_magento</name>
4
+ <version>1.0.6.6</version>
5
<stability>stable</stability>
6
<license>OSL v3.0</license>
7
<channel>community</channel>
9
<summary>Riskified Magento extension</summary>
10
<description>Riskified reviews, approves &amp; guarantees&#xD;
11
transactions you would otherwise decline.</description>
12
+ <notes>* Approved Status and Declined Status are now customizable by the user via Riskified configuration</notes>
13
<authors><author><name>Riskified_Mage</name><user>Riskified_Mage</user><email>support@riskified.com</email></author></authors>
14
+ <date>2015-04-01</date>
15
+ <time>07:39:00</time>
16
+ <contents><target name="magecommunity"><dir name="Riskified"><dir name="Full"><dir><dir name="Helper"><file name="Data.php" hash="d93bce09c7ea559f4be2e057ea9620c4"/><file name="Debug.php" hash="18335d988a142ee639ea59dbecafa15c"/><file name="Log.php" hash="14125243576ab5b08f40066d24b7241d"/><dir name="Order"><file name="Invoice.php" hash="fd6fcbdedd44551785eddd0e1a482e80"/><file name="Status.php" hash="478a2b111b02a5ba3a7df6cf1fa8c8cc"/></dir><file name="Order.php" hash="c1542ba1aea97df272db14fddcd900cf"/></dir><dir name="Model"><file name="Authorizenet.php" hash="bd42f62d06a036b9da7709d2e40fc8f1"/><file name="Cron.php" hash="187b86ebe9238ff132ed0337f05a8ae9"/><file name="Observer.php" hash="7ea3679763c6409159584526a0670457"/><dir name="Resource"><dir name="Retry"><file name="Collection.php" hash="fd62ad4e4cdd8d372751bfa9988cc3a9"/></dir><file name="Retry.php" hash="3be3db7e54bd8bb45e0faffa1941f515"/></dir><file name="Retry.php" hash="89e7344139affa4fe0b9a252a5d1c592"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ApprovedState.php" hash="5c620d1039347218354bd58c2238ecb4"/><file name="CanceledStateStatuses.php" hash="f7c38690820a5354ca8879931a3b08c2"/><file name="CaptureCase.php" hash="daafa6f53c65fa6e6e7ffbb067dbbbba"/><file name="DeclinedState.php" hash="a00907072c06ade079483e3db03bb94f"/><file name="Env.php" hash="4d923355b3e56fac95c2a9b3c353ab76"/><file name="HoldedStateStatuses.php" hash="c081ae14278e82ba8805c8231bbe1068"/><file name="ProcessingStateStatuses.php" hash="74760571fb4273d4b9fbb3d42205ca8d"/></dir></dir></dir></dir><dir name="Test"><dir name="Config"><file name="General.php" hash="a5d4950c5655960879e7d75c06977941"/></dir><dir name="Helper"><dir name="General"><dir name="fixtures"><file name="extensionConfigEnabled.yaml" hash="eec8c8d8a1d5de49897b19740cf8e074"/></dir></dir><file name="General.php" hash="607c9711656be48084f6688e114b6bf6"/></dir><dir name="Model"><file name="Environments.php" hash="f3fc028d17c82b9b84b709b932e64eae"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FullController.php" hash="f80e78a808e99f11a7bc00bd02be3f2e"/></dir><file name="ResponseController.php" hash="550c29c6c6706067bac3531b8f3eb37f"/></dir><dir name="etc"><file name="config.xml" hash="84cd4851931632948afc3a08a8cffd33"/><file name="system.xml" hash="aea61d1e3c742c1a8cd8048650fa54eb"/></dir><dir name="sql"><dir name="riskified_full_setup"><file name="mysql4-install-1.0.1.php" hash="6d29dde79353e8bfefa6ea7bc2ef562a"/><file name="mysql4-upgrade-1.0.2.0-1.0.2.1.php" hash="822e85326678a320f141a3ae948e4a24"/><file name="mysql4-upgrade-1.0.4-1.0.5.0.php" hash="557115e1a978d9b194b2cd1cfb8b5a95"/><file name="mysql4-upgrade-1.0.5.5-1.0.6.0.php" hash="0318846fbe8f3e56d8f7d3fdc750e102"/></dir></dir></dir><file name=".DS_Store" hash="1dcf4d325e6c5f915f06d957fe08104b"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Riskified_Full.xml" hash="d684caecdf710e5d0173ca07e5c5d1c0"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="full.xml" hash="8dbb3dd16fcb5821eb07e9b5d978d55c"/></dir><dir name="template"><dir name="full"><file name="jsinit.phtml" hash="6d115f22624a7a4e9841888ba5df35cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="full.xml" hash="9497753e5c3d2860062c5446c058b4bc"/></dir><dir name="template"><dir name="full"><file name="riskified.phtml" hash="fe4a577c6ef98316d906c36c17f11406"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="riskified"><file name="logo.jpg" hash="0ac96bf07aa8b8ecb3ff06c2ccbf0827"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="riskified_php_sdk"><file name="README.md" hash="f37118baa641e4ef6d670bb1c0298482"/><dir><dir name="sample"><file name="callback.php" hash="c6fb5a90b2c527b794fcec803acb36d9"/><file name="order_full_flow.php" hash="71d931fff3aa98402c9a7d3b271a6ae4"/><file name="order_marketplace_create.php" hash="ae3d2fb28154a710934d6243302a590d"/><file name="order_simple_submit.php" hash="d8458f7992b486b6dac28558526f068b"/><file name="run_callback_server.sh" hash="8202fd93c15e088d072805d3a2f4c02b"/><file name="upload_historical.php" hash="78bdb85c036183de16968a79c8836efd"/></dir><dir name="src"><dir name="Riskified"><dir name="Common"><file name="Env.php" hash="3fc8342a423141fb0c110901deebfe25"/><dir name="Exception"><file name="BaseException.php" hash="ce902d0a3bd9af53b3c1923541602ead"/></dir><file name="Riskified.php" hash="2137e73cf6371aeb113a6755357b603f"/><dir name="Signature"><file name="HttpDataSignature.php" hash="b9f5d57db1903126a72eb38ca55ba878"/></dir><file name="Validations.php" hash="4af37b31901f215b660c868c31594b75"/></dir><dir name="DecisionNotification"><dir name="Exception"><file name="AuthorizationException.php" hash="4cab71ac324efd3b29bdfa6236a8f531"/><file name="BadHeaderException.php" hash="407a0d9e94d52e8b43bed02e34bd4a70"/><file name="BadPostJsonException.php" hash="2e2a7f84fae19fd525f01f6899ea218b"/><file name="NotificationException.php" hash="8f7d1ed8b9523ec66423c6ff2703085f"/></dir><dir name="Model"><file name="Notification.php" hash="9e2f5fd421abe37ab7b742767966f312"/></dir></dir><dir name="OrderWebhook"><dir name="Exception"><file name="ClassMismatchPropertyException.php" hash="8854b7aea6736b290826eb44ac0ba578"/><file name="CurlException.php" hash="27488d2dd0fa2c25b647a5967e3821b1"/><file name="FormatMismatchPropertyException.php" hash="2729989c3ac2a245341fd01a4d004b49"/><file name="InvalidPropertyException.php" hash="97084ff2ff33f5c657c5876a44aa97d2"/><file name="MalformedJsonException.php" hash="8c795b605988f20f1899dcf160f29cf1"/><file name="MissingPropertyException.php" hash="5ad8df6ba645a113fac7b65e08167d2c"/><file name="MultiplePropertiesException.php" hash="aaa042c5a0fcfd15dc2744059b15798b"/><file name="PropertyException.php" hash="7a234406434c5616aab72da27a1ed6ed"/><file name="TypeMismatchPropertyException.php" hash="5eed61220c954a462411f433a2c85bf2"/><file name="UnsuccessfulActionException.php" hash="b02fafbda955fa889ca36c5092ccc68d"/></dir><dir name="Model"><file name="AbstractModel.php" hash="73adfaac9fe9e189827baac5a71e41a4"/><file name="Address.php" hash="c2aa3d4e7ac69daf79422e16b868b3d8"/><file name="Attribute.php" hash="e7fa146d7c9c807494c225e6a41afcfb"/><file name="AuthorizationError.php" hash="b82229eff42d94ceba58d4d6a3a4118b"/><file name="Checkout.php" hash="ede0e6d2fd8319ada669de35b4c3190f"/><file name="ClientDetails.php" hash="50b329fa6b77bcbeff4b725705b957af"/><file name="Customer.php" hash="02801c70557fbfa6aea7ac6058f6f4b4"/><file name="DiscountCode.php" hash="0861920950828a3ff19904b92b4cb50d"/><file name="Fulfillment.php" hash="9111db9b13ae7b2fbe6bf806a66d78f2"/><file name="FulfillmentDetails.php" hash="d3c11d4e8943862fc4a774f3f8e9d7d7"/><file name="LineItem.php" hash="3a03c75348060aa9ca930174b9d5dc56"/><file name="Order.php" hash="d32cd686532d5cc2810321c5befe3149"/><file name="OrderCancellation.php" hash="f6f2d5234bb98b56902e632fbccc07b3"/><file name="PaymentDetails.php" hash="413b5a6ab26ec6b9b0664a9d9e301c02"/><file name="Refund.php" hash="1c3ad264984585cfcefc909ffa708dc4"/><file name="RefundDetails.php" hash="f9a0e27e26bbfb6699bb0dd44fe6a184"/><file name="Seller.php" hash="2dd5dc2dc22582231263cad803149a16"/><file name="ShippingLine.php" hash="5ac14361474789db570fa6d14b17a973"/><file name="SocialDetails.php" hash="8a9296a4277a645bb86f5956b7437081"/><file name="TaxLine.php" hash="59f82a19bc9ada690aa79bc96307db5e"/></dir><dir name="Transport"><file name="AbstractTransport.php" hash="4ab3636ee044c9272542ce8076ac8d33"/><file name="CurlTransport.php" hash="ecfb195ac0f8f9599dd859dffc40c968"/></dir></dir><file name="autoloader.php" hash="f3471e90daf6184a096d337bbcd40bd1"/></dir></dir></dir><file name=".gitignore" hash="73f01e1298c44b6cc3e24a70cad8c56c"/></dir></target></contents>
17
<compatible/>
18
<dependencies><required><php><min>4.4.0</min><max>6.0.0</max></php></required></dependencies>
19
</package>