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 +0 -0
- app/code/community/Riskified/Full/Helper/Data.php +15 -1
- app/code/community/Riskified/Full/Helper/Order.php +47 -1
- app/code/community/Riskified/Full/Helper/Order/Status.php +37 -3
- app/code/community/Riskified/Full/Model/Observer.php +2 -6
- app/code/community/Riskified/Full/Model/System/Config/Source/CanceledStateStatuses.php +13 -0
- app/code/community/Riskified/Full/Model/System/Config/Source/HoldedStateStatuses.php +13 -0
- app/code/community/Riskified/Full/Model/System/Config/Source/ProcessingStateStatuses.php +13 -0
- app/code/community/Riskified/Full/etc/config.xml +8 -3
- app/code/community/Riskified/Full/etc/system.xml +71 -11
- lib/riskified_php_sdk/src/Riskified/.DS_Store +0 -0
- lib/riskified_php_sdk/src/Riskified/OrderWebhook/Model/Address.php +2 -2
- lib/riskified_scripts/riskified_historical_upload.php +0 -69
- package.xml +5 -5
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' => $
|
| 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::
|
| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
*
|
| 104 |
* @return string
|
| 105 |
*/
|
| 106 |
public function getSelectedDeclinedState()
|
| 107 |
{
|
| 108 |
-
$state = Mage::
|
| 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 |
-
|
| 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->
|
| 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.
|
| 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
|
| 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
|
| 63 |
-
<br>'decline' => state: [defined bellow by 'Declined State' value], status: 'Declined
|
| 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>
|
| 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 |
-
|
| 101 |
-
<
|
| 102 |
-
<frontend_type>
|
| 103 |
-
<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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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-
|
| 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}$/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 |
<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 & guarantees
|
| 11 |
transactions you would otherwise decline.</description>
|
| 12 |
-
<notes
|
| 13 |
<authors><author><name>Riskified_Mage</name><user>Riskified_Mage</user><email>support@riskified.com</email></author></authors>
|
| 14 |
-
<date>2015-
|
| 15 |
-
<time>07:
|
| 16 |
-
<contents><target name="magecommunity"><dir name="Riskified"><dir name="Full"><dir><dir name="Helper"><file name="Data.php" hash="
|
| 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 & guarantees
|
| 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>
|
