riskified_magento - Version 1.0.9.4

Version Notes

* Support for /api/fulfill call.

Download this release

Release Info

Developer Riskified_Mage
Extension riskified_magento
Version 1.0.9.4
Comparing to
See all releases


Code changes from version 1.0.9.3 to 1.0.9.4

app/code/community/Riskified/Full/.DS_Store CHANGED
Binary file
app/code/community/Riskified/Full/Helper/.DS_Store ADDED
Binary file
app/code/community/Riskified/Full/Helper/Order.php CHANGED
@@ -16,6 +16,7 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
16
  const ACTION_SUBMIT = 'submit';
17
  const ACTION_CANCEL = 'cancel';
18
  const ACTION_REFUND = 'refund';
 
19
  const ACTION_CHECKOUT_CREATE = 'checkout_create';
20
  const ACTION_CHECKOUT_DENIED = 'checkout_denied';
21
 
@@ -104,9 +105,13 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
104
  $response = $transport->cancelOrder($orderForTransport);
105
  break;
106
  case self::ACTION_REFUND:
107
- $orderForTransport = new Model\Refund($order);
108
  $response = $transport->refundOrder($orderForTransport);
109
  break;
 
 
 
 
110
  case self::ACTION_CHECKOUT_CREATE:
111
  $checkoutForTransport = new Model\Checkout($order);
112
  $response = $transport->createCheckout($checkoutForTransport);
@@ -201,6 +206,7 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
201
  */
202
  public function updateOrder($order, $status, $oldStatus, $description)
203
  {
 
204
  Mage::helper('full/log')->log('Dispatching event for order ' . $order->getId() . ' with status "' . $status .
205
  '" old status "' . $oldStatus . '" and description "' . $description . '"');
206
 
@@ -255,6 +261,27 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
255
  return $order->getId() . '_' . $order->getIncrementId();
256
  }
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  private $version;
259
 
260
  private function initSdk()
@@ -285,6 +312,24 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
285
  return $transport;
286
  }
287
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  private function getOrderCancellation($model)
289
  {
290
  $orderCancellation = new Model\OrderCancellation(array_filter(array(
@@ -298,6 +343,44 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
298
  return $orderCancellation;
299
  }
300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  private function getOrder($model)
302
  {
303
  $gateway = 'unavailable';
@@ -419,49 +502,67 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
419
  {
420
  $lineItems = array();
421
  foreach ($model->getAllVisibleItems() as $key => $val) {
422
- $prodType = null;
423
- $category = null;
424
- $subCategories = null;
425
- $brand = null;
426
- $product = $val->getProduct();
427
- if ($product) {
428
- $prodType = $val->getProduct()->getTypeId();
429
- $categoryIds = $product->getCategoryIds();
430
- foreach ($categoryIds as $categoryId) {
431
- $cat = Mage::getModel('catalog/category')->load($categoryId);
432
- $catName = $cat->getName();
433
- if (!empty($catName)) {
434
- if (empty($category)) {
435
- $category = $catName;
436
- } else if (empty($subCategories)) {
437
- $subCategories = $catName;
438
- } else {
439
- $subCategories = $subCategories . '|' . $catName;
440
- }
441
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
442
  }
 
443
  }
 
444
 
445
 
446
- if ($product->getManufacturer()) {
447
- $brand = $product->getAttributeText('manufacturer');
448
- }
449
  }
450
- $lineItems[] = new Model\LineItem(array_filter(array(
451
- 'price' => $val->getPrice(),
452
- 'quantity' => intval($val->getQtyOrdered()),
453
- 'title' => $val->getName(),
454
- 'sku' => $val->getSku(),
455
- 'product_id' => $val->getItemId(),
456
- 'grams' => $val->getWeight(),
457
- 'product_type' => $prodType,
458
- 'category' => $category,
459
- 'brand' => $brand,
460
- //'sub_category' => $subCategories
461
- ), 'strlen'));
462
  }
463
 
464
- return $lineItems;
 
 
 
 
 
 
 
 
 
 
 
 
 
465
  }
466
 
467
  private function getShippingLines($model)
16
  const ACTION_SUBMIT = 'submit';
17
  const ACTION_CANCEL = 'cancel';
18
  const ACTION_REFUND = 'refund';
19
+ const ACTION_FULFILL = 'fulfill';
20
  const ACTION_CHECKOUT_CREATE = 'checkout_create';
21
  const ACTION_CHECKOUT_DENIED = 'checkout_denied';
22
 
105
  $response = $transport->cancelOrder($orderForTransport);
106
  break;
107
  case self::ACTION_REFUND:
108
+ $orderForTransport = $this->getOrderRefund($order);
109
  $response = $transport->refundOrder($orderForTransport);
110
  break;
111
+ case self::ACTION_FULFILL:
112
+ $orderForTransport = $this->getOrderFulfillments($order);
113
+ $response = $transport->fulfillOrder($orderForTransport);
114
+ break;
115
  case self::ACTION_CHECKOUT_CREATE:
116
  $checkoutForTransport = new Model\Checkout($order);
117
  $response = $transport->createCheckout($checkoutForTransport);
206
  */
207
  public function updateOrder($order, $status, $oldStatus, $description)
208
  {
209
+
210
  Mage::helper('full/log')->log('Dispatching event for order ' . $order->getId() . ' with status "' . $status .
211
  '" old status "' . $oldStatus . '" and description "' . $description . '"');
212
 
261
  return $order->getId() . '_' . $order->getIncrementId();
262
  }
263
 
264
+ // similar of method in ResponseController.php for now
265
+ private function loadOrderByOrigId($full_orig_id)
266
+ {
267
+ if (!$full_orig_id) {
268
+ return null;
269
+ }
270
+ $magento_ids = explode("_", $full_orig_id);
271
+ $order_id = $magento_ids[0];
272
+ $increment_id = null;
273
+ if (count($magento_ids) > 1) {
274
+ $increment_id = $magento_ids[1];
275
+ }
276
+ if ($order_id && $increment_id) {
277
+ return Mage::getModel('sales/order')->getCollection()
278
+ ->addFieldToFilter('entity_id', $order_id)
279
+ ->addFieldToFilter('increment_id', $increment_id)
280
+ ->getFirstItem();
281
+ }
282
+ return Mage::getModel('sales/order')->load($order_id);
283
+ }
284
+
285
  private $version;
286
 
287
  private function initSdk()
312
  return $transport;
313
  }
314
 
315
+ private function getOrderRefund($model)
316
+ {
317
+ $order = $this->loadOrderByOrigId($model['id']);
318
+ $orig_id = $this->getOrderOrigId($order);
319
+ if (!$orig_id) {
320
+ return null;
321
+ }
322
+
323
+ $orderRefund = new Model\Refund(array_filter(array(
324
+ 'id' => $orig_id,
325
+ 'refunds' => $model['refunds']
326
+ )));
327
+
328
+ Mage::helper('full/log')->log("getOrderRefund(): " . PHP_EOL . json_encode(json_decode($orderRefund->toJson())));
329
+
330
+ return $orderRefund;
331
+ }
332
+
333
  private function getOrderCancellation($model)
334
  {
335
  $orderCancellation = new Model\OrderCancellation(array_filter(array(
343
  return $orderCancellation;
344
  }
345
 
346
+ /**
347
+ * Method creates shipment information needed to update order shipment
348
+ * @param $model
349
+ * @return Model\Fulfillment
350
+ *
351
+ * @api http://apiref.riskified.com/curl/#actions-fulfill
352
+ */
353
+ protected function getOrderFulfillments($model)
354
+ {
355
+ $fulfillments = array();
356
+
357
+ foreach ($model->getShipmentsCollection() as $shipment) {
358
+ $tracking = $shipment->getTracksCollection()->getFirstItem();
359
+ $comment = $shipment->getCommentsCollection()->getFirstItem();
360
+ $payload = array(
361
+ "fulfillment_id" => $shipment->getIncrementId(),
362
+ "created_at" => $this->formatDateAsIso8601($shipment->getCreatedAt()),
363
+ "status" => "success",
364
+ "tracking_company" => $tracking->getTitle(),
365
+ "tracking_numbers" => $tracking->getTrackNumber(),
366
+ "message" => $comment->getComment(),
367
+ "line_items" => $this->getAllLineItems($shipment)
368
+ );
369
+
370
+ $fulfillments[] = new Model\FulfillmentDetails(array_filter($payload));
371
+ }
372
+
373
+
374
+ $orderFulfillments = new Model\Fulfillment(array_filter(array(
375
+ 'id' => $this->getOrderOrigId($model),
376
+ 'fulfillments' => $fulfillments,
377
+ )));
378
+
379
+ Mage::helper('full/log')->log("getOrderFulfillments(): " . PHP_EOL . json_encode(json_decode($orderFulfillments->toJson())));
380
+
381
+ return $orderFulfillments;
382
+ }
383
+
384
  private function getOrder($model)
385
  {
386
  $gateway = 'unavailable';
502
  {
503
  $lineItems = array();
504
  foreach ($model->getAllVisibleItems() as $key => $val) {
505
+ $lineItems[] = $this->getLineItemData($val);
506
+ }
507
+
508
+ return $lineItems;
509
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
510
 
511
+ private function getAllLineItems($model)
512
+ {
513
+ $lineItems = array();
514
+ foreach ($model->getAllItems() as $key => $val) {
515
+ $lineItems[] = $this->getLineItemData($val);
516
+ }
517
+
518
+ return $lineItems;
519
+ }
520
+
521
+ private function getLineItemData($val)
522
+ {
523
+ $prodType = null;
524
+ $category = null;
525
+ $subCategories = null;
526
+ $brand = null;
527
+ $product = $val->getProduct();
528
+ if ($product) {
529
+ $prodType = $val->getProduct()->getTypeId();
530
+ $categoryIds = $product->getCategoryIds();
531
+ foreach ($categoryIds as $categoryId) {
532
+ $cat = Mage::getModel('catalog/category')->load($categoryId);
533
+ $catName = $cat->getName();
534
+ if (!empty($catName)) {
535
+ if (empty($category)) {
536
+ $category = $catName;
537
+ } else if (empty($subCategories)) {
538
+ $subCategories = $catName;
539
+ } else {
540
+ $subCategories = $subCategories . '|' . $catName;
541
  }
542
+
543
  }
544
+ }
545
 
546
 
547
+ if ($product->getManufacturer()) {
548
+ $brand = $product->getAttributeText('manufacturer');
 
549
  }
 
 
 
 
 
 
 
 
 
 
 
 
550
  }
551
 
552
+ $lineItemData = new Model\LineItem(array_filter(array(
553
+ 'price' => $val->getPrice(),
554
+ 'quantity' => intval($val->getQtyOrdered()),
555
+ 'title' => $val->getName(),
556
+ 'sku' => $val->getSku(),
557
+ 'product_id' => $val->getItemId(),
558
+ 'grams' => $val->getWeight(),
559
+ 'product_type' => $prodType,
560
+ 'category' => $category,
561
+ 'brand' => $brand,
562
+ //'sub_category' => $subCategories
563
+ ), 'strlen'));
564
+
565
+ return $lineItemData;
566
  }
567
 
568
  private function getShippingLines($model)
app/code/community/Riskified/Full/Model/Observer.php CHANGED
@@ -415,6 +415,10 @@ class Riskified_Full_Model_Observer
415
  /* @var Mage_Sales_Model_Order $order */
416
  $order = $observer->getOrder();
417
 
 
 
 
 
418
  /* @var stdClass $response */
419
  $response = $observer->getResponse();
420
 
@@ -439,4 +443,4 @@ class Riskified_Full_Model_Observer
439
  Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__("Malformed response from Riskified"));
440
  }
441
  }
442
- }
415
  /* @var Mage_Sales_Model_Order $order */
416
  $order = $observer->getOrder();
417
 
418
+ if (!method_exists($order, 'getId')) {
419
+ return;
420
+ }
421
+
422
  /* @var stdClass $response */
423
  $response = $observer->getResponse();
424
 
443
  Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__("Malformed response from Riskified"));
444
  }
445
  }
446
+ }
app/code/community/Riskified/Full/Model/Observer/Order/Shipment/Save.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Riskified_Full_Model_Observer_Order_Shipment_Save
4
+ {
5
+ public function handleShipmentSave(
6
+ Varien_Event_Observer $observer
7
+ ) {
8
+ $shipment = $observer->getEvent()->getShipment();
9
+
10
+ $order = $shipment->getOrder();
11
+ $helper = Mage::helper('full/order');
12
+ $helper->postOrder(
13
+ $order,
14
+ Riskified_Full_Helper_Order::ACTION_FULFILL
15
+ );
16
+ }
17
+ }
app/code/community/Riskified/Full/{Test → controllers}/.DS_Store RENAMED
Binary file
app/code/community/Riskified/Full/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Riskified_Full>
5
- <version>1.0.9.3</version>
6
  </Riskified_Full>
7
  </modules>
8
 
@@ -252,6 +252,14 @@
252
  </riskified_full_handle_creditmemo_save>
253
  </observers>
254
  </sales_order_creditmemo_save_after>
 
 
 
 
 
 
 
 
255
  </events>
256
  <layout>
257
  <updates>
2
  <config>
3
  <modules>
4
  <Riskified_Full>
5
+ <version>1.0.9.4</version>
6
  </Riskified_Full>
7
  </modules>
8
 
252
  </riskified_full_handle_creditmemo_save>
253
  </observers>
254
  </sales_order_creditmemo_save_after>
255
+ <sales_order_shipment_save_after>
256
+ <observers>
257
+ <riskified_full_handle_shipment_save>
258
+ <class>full/observer_order_shipment_save</class>
259
+ <method>handleShipmentSave</method>
260
+ </riskified_full_handle_shipment_save>
261
+ </observers>
262
+ </sales_order_shipment_save_after>
263
  </events>
264
  <layout>
265
  <updates>
app/code/community/Riskified/Full/sql/riskified_full_setup/mysql4-upgrade-1.0.4-1.0.5.0.php.old DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
-
3
- /* @var $installer Mage_Core_Model_Resource_Setup */
4
- $installer = $this;
5
-
6
- $installer->startSetup();
7
-
8
- $table = $installer->getConnection()
9
- ->newTable($installer->getTable('full/retry'))
10
- ->addColumn('retry_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
11
- 'identity' => true,
12
- 'unsigned' => true,
13
- 'nullable' => false,
14
- 'primary' => true,
15
- ), 'Id')
16
- ->addColumn('order_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
17
- 'unsigned' => true,
18
- 'nullable' => false,
19
- 'default' => 0
20
- ), 'Order Id')
21
- ->addColumn('action', Varien_Db_Ddl_Table::TYPE_VARCHAR, null, array(
22
- 'nullable' => false,
23
- ), 'Action')
24
- ->addColumn('last_error', Varien_Db_Ddl_Table::TYPE_TEXT, null, array(
25
- 'nullable' => true,
26
- ), 'Last Error')
27
- ->addColumn('attempts', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
28
- 'unsigned' => true,
29
- 'nullable' => false,
30
- 'default' => 0
31
- ), 'Number of retry attempts')
32
- ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_DATETIME, null, array(
33
- 'nullable' => false
34
- ), 'Date last updated')
35
- ;
36
-
37
- $installer->getConnection()->createTable($table);
38
-
39
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/riskified_scripts/.DS_Store ADDED
Binary file
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>riskified_magento</name>
4
- <version>1.0.9.3</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
@@ -9,12 +9,12 @@
9
  <summary>Riskified Magento extension</summary>
10
  <description>Riskified reviews, approves &amp; guarantees&#xD;
11
  transactions you would otherwise decline.</description>
12
- <notes>* Support for /api/checkout_denied call.&#xD;
13
- * Only sends session ID for orders initiated by the end customer.</notes>
14
  <authors><author><name>Riskified_Mage</name><user>Riskified_Mage</user><email>support@riskified.com</email></author></authors>
15
- <date>2017-01-17</date>
16
- <time>20:52:24</time>
17
- <contents><target name="magecommunity"><dir name="Riskified"><dir name="Full"><dir><dir name="Block"><file name="Beacon.php" hash="00c6f36ab82a4805b5408cda907bdcfa"/></dir><dir name="Helper"><dir name="Customer"><file name="Order.php" hash="38278dee0939fba4a017e347ac1784ad"/></dir><file name="Data.php" hash="d96b50cf6738f7aa1f47b7d4743cc634"/><file name="Debug.php" hash="b4cd9735bdd601cb624f7495242606e2"/><file name="Log.php" hash="ae614c5071160221b71fb0ed600da67e"/><dir name="Order"><file name="Invoice.php" hash="0117cd5689818c3dc9ab9b59fced6c18"/><file name="Payment.php" hash="8622a489426113a2820f6bce045cd42d"/><file name="Status.php" hash="210a0c440b4070fdcb2ead2c2db4e567"/></dir><file name="Order.php" hash="a1708f35a4acab5a2230b2b79b3f3cad"/></dir><dir name="Model"><file name="Authorizenet.php" hash="4b910a92820a8d5571a5129e51b54fd3"/><dir name="Container"><file name="Beacon.php" hash="b1c3910031983b9291c98dbe46d61f09"/></dir><file name="Cron.php" hash="123074f2f44bc1f28f55ae864d759e27"/><dir name="Observer"><dir name="Order"><dir name="Creditmemo"><file name="Save.php" hash="8a3a35edeacdd098fb18c67340bdf931"/></dir><dir name="Payment"><file name="Failed.php" hash="a5e5020d71dce440d604cd056a4061e0"/></dir></dir><dir name="Quote"><file name="Submit.php" hash="b3f99a7b3e0541bcbd428d011de1fff2"/></dir></dir><file name="Observer.php" hash="db85966e71fdf13fd537acb09281994e"/><dir name="Resource"><dir name="Retry"><file name="Collection.php" hash="fd62ad4e4cdd8d372751bfa9988cc3a9"/></dir><file name="Retry.php" hash="3be3db7e54bd8bb45e0faffa1941f515"/><dir name="Sent"><file name="Collection.php" hash="8960157c9c5b16463aac33cf75116bc8"/></dir><file name="Sent.php" hash="744833cbe4ac4bb7ca69395d90229c0c"/></dir><file name="Retry.php" hash="89e7344139affa4fe0b9a252a5d1c592"/><file name="Sent.php" hash="cf2b22314d20f469f40e31ae14477032"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ApprovedState.php" hash="6f4d7f7eb52922e57ff9069ec6031b63"/><file name="CanceledStateStatuses.php" hash="c274fb739314b34104e0b0085f1039c8"/><file name="CaptureCase.php" hash="6f2505f2c51df6a7caa26d5f89995b47"/><file name="DeclinedState.php" hash="d2c80dd15b3843bce5eb4d2a660b080a"/><file name="Env.php" hash="e213a59d9c438e4dc39b226134a85fab"/><file name="HoldedStateStatuses.php" hash="212f2476e5f6bed6d3456133d6e27c40"/><file name="ProcessingStateStatuses.php" hash="19af6046f86df7a5ba28693545493304"/></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><file name=".DS_Store" hash="3c8a9b40165ed36dee5272758bacaf05"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="RiskifiedfullController.php" hash="c1927328b0feadc25073ae1e948cfa6b"/></dir><file name="ResponseController.php" hash="05173a743f73c1ed7b7cb9e0a580de3a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="333f4002a4c677b670cd449147b9d3c8"/><file name="cache.xml" hash="3a7cd749515499cce292330c46ce5028"/><file name="config.xml" hash="931afc9680daf24ab7a075e96b523cde"/><file name="system.xml" hash="6d97d40215a389de432c01c5c6d8b5d4"/></dir><dir name="sql"><dir name="riskified_full_setup"><file name="mysql4-install-1.0.1.php" hash="66592f315ddacbb116e70b34094fbbef"/><file name="mysql4-upgrade-1.0.2.0-1.0.2.1.php" hash="5d12b7203027e843f6322b5a48fb3d23"/><file name="mysql4-upgrade-1.0.4-1.0.5.0.php" hash="df9bb6016ebab61444d65a5d92b0a70e"/><file name="mysql4-upgrade-1.0.4-1.0.5.0.php.old" hash="557115e1a978d9b194b2cd1cfb8b5a95"/><file name="mysql4-upgrade-1.0.5.5-1.0.6.0.php" hash="c749f3c2564fdf9310dcd22d493630d8"/><file name="mysql4-upgrade-1.0.8.0-1.0.8.1.php" hash="45ac33ab1e02f06f6850dd9876017f09"/><file name="mysql4-upgrade-1.0.9.0-1.0.9.1.php" hash="3cc6f0423a53bf1b8484b7dfe14fc328"/></dir></dir></dir><file name=".DS_Store" hash="3d700965c172761e3d44283ed7b58325"/></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="dbf48e2d0d5a89db58cd474028bc2e7d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="full.xml" hash="96d4fb310618a1e6fb149dc367952812"/></dir><dir name="template"><dir name="full"><file name="beacon.phtml" hash="396625d0c46c9f4dd287cef289a9bef8"/></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"/><file name="composer.json" hash="96ba594b3b4ae47223d03f4fc78dcb16"/><dir><dir name="sample"><file name="README.md" hash="d6e555fdf2501b66b52d056857b3d903"/><file name="callback.php" hash="c6fb5a90b2c527b794fcec803acb36d9"/><file name="order_full_flow.php" hash="f85e1ca28b6f7deae958271d88cbeaed"/><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="update_merchant_settings.php" hash="24499737ab057aba76cd054fd5051aad"/><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="0d1ff23815dbbf8716f2f3d349c1f8f3"/><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="743e6e5ad9562d19e6af68334079d3cb"/><file name="Attribute.php" hash="e7fa146d7c9c807494c225e6a41afcfb"/><file name="AuthorizationError.php" hash="b82229eff42d94ceba58d4d6a3a4118b"/><file name="ChargeFreePaymentDetails.php" hash="07ab9a9022cc3152404617b72230e843"/><file name="Checkout.php" hash="ede0e6d2fd8319ada669de35b4c3190f"/><file name="ClientDetails.php" hash="50b329fa6b77bcbeff4b725705b957af"/><file name="Customer.php" hash="7e68c5804c145a93c2e48f4460a63759"/><file name="Decision.php" hash="55bf62bfcfc49ab9e5b823e7ec90d6bd"/><file name="DecisionDetails.php" hash="317121548885d2b8eb75a4d5e383f9f8"/><file name="DiscountCode.php" hash="0861920950828a3ff19904b92b4cb50d"/><file name="Fulfillment.php" hash="9111db9b13ae7b2fbe6bf806a66d78f2"/><file name="FulfillmentDetails.php" hash="d3c11d4e8943862fc4a774f3f8e9d7d7"/><file name="LineItem.php" hash="28af24c031cb3e162c2b4b7a3423980b"/><file name="MerchantSettings.php" hash="62f42b50b7a25b014cbed4ea528998aa"/><file name="Order.php" hash="cdff0611ed8e2b673938a8e1d36d64c5"/><file name="OrderCancellation.php" hash="f6f2d5234bb98b56902e632fbccc07b3"/><file name="PaymentDetails.php" hash="1d0bc8094d3a02ba6fe6b52ee139f47e"/><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="1fbc1939121c9618e612316c1a4500ca"/><file name="TaxLine.php" hash="59f82a19bc9ada690aa79bc96307db5e"/></dir><dir name="Transport"><file name="AbstractTransport.php" hash="6be123376c81f478968ee420ca5b31cb"/><file name="CurlTransport.php" hash="360863ea799e1c2f9860c16bd1ea401a"/></dir></dir><file name="autoloader.php" hash="f3471e90daf6184a096d337bbcd40bd1"/></dir></dir></dir><file name=".gitignore" hash="73f01e1298c44b6cc3e24a70cad8c56c"/></dir><dir name="riskified_scripts"><file name="riskified_historical_upload.php" hash="db28908aa4d29a78b712057fa60924fb"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>4.4.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>riskified_magento</name>
4
+ <version>1.0.9.4</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>* Support for /api/fulfill call.&#xD;
13
+ </notes>
14
  <authors><author><name>Riskified_Mage</name><user>Riskified_Mage</user><email>support@riskified.com</email></author></authors>
15
+ <date>2017-03-09</date>
16
+ <time>13:27:14</time>
17
+ <contents><target name="magecommunity"><dir name="Riskified"><dir name="Full"><dir><dir name="Block"><file name="Beacon.php" hash="00c6f36ab82a4805b5408cda907bdcfa"/></dir><dir name="Helper"><dir name="Customer"><file name="Order.php" hash="38278dee0939fba4a017e347ac1784ad"/></dir><file name="Data.php" hash="d96b50cf6738f7aa1f47b7d4743cc634"/><file name="Debug.php" hash="b4cd9735bdd601cb624f7495242606e2"/><file name="Log.php" hash="ae614c5071160221b71fb0ed600da67e"/><dir name="Order"><file name="Invoice.php" hash="0117cd5689818c3dc9ab9b59fced6c18"/><file name="Payment.php" hash="8622a489426113a2820f6bce045cd42d"/><file name="Status.php" hash="210a0c440b4070fdcb2ead2c2db4e567"/></dir><file name="Order.php" hash="1b80efee369e505bcd15e9d25f73666d"/><file name=".DS_Store" hash="e06036c76f2129fd97ad05d90495eac9"/></dir><dir name="Model"><file name="Authorizenet.php" hash="4b910a92820a8d5571a5129e51b54fd3"/><dir name="Container"><file name="Beacon.php" hash="b1c3910031983b9291c98dbe46d61f09"/></dir><file name="Cron.php" hash="123074f2f44bc1f28f55ae864d759e27"/><dir name="Observer"><dir name="Order"><dir name="Creditmemo"><file name="Save.php" hash="8a3a35edeacdd098fb18c67340bdf931"/></dir><dir name="Payment"><file name="Failed.php" hash="a5e5020d71dce440d604cd056a4061e0"/></dir><dir name="Shipment"><file name="Save.php" hash="0c0d4253cab09112a3f71c860ca95e73"/></dir></dir><dir name="Quote"><file name="Submit.php" hash="b3f99a7b3e0541bcbd428d011de1fff2"/></dir></dir><file name="Observer.php" hash="66d354af4213d6463b1421117a5e7973"/><dir name="Resource"><dir name="Retry"><file name="Collection.php" hash="fd62ad4e4cdd8d372751bfa9988cc3a9"/></dir><file name="Retry.php" hash="3be3db7e54bd8bb45e0faffa1941f515"/><dir name="Sent"><file name="Collection.php" hash="8960157c9c5b16463aac33cf75116bc8"/></dir><file name="Sent.php" hash="744833cbe4ac4bb7ca69395d90229c0c"/></dir><file name="Retry.php" hash="89e7344139affa4fe0b9a252a5d1c592"/><file name="Sent.php" hash="cf2b22314d20f469f40e31ae14477032"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ApprovedState.php" hash="6f4d7f7eb52922e57ff9069ec6031b63"/><file name="CanceledStateStatuses.php" hash="c274fb739314b34104e0b0085f1039c8"/><file name="CaptureCase.php" hash="6f2505f2c51df6a7caa26d5f89995b47"/><file name="DeclinedState.php" hash="d2c80dd15b3843bce5eb4d2a660b080a"/><file name="Env.php" hash="e213a59d9c438e4dc39b226134a85fab"/><file name="HoldedStateStatuses.php" hash="212f2476e5f6bed6d3456133d6e27c40"/><file name="ProcessingStateStatuses.php" hash="19af6046f86df7a5ba28693545493304"/></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="RiskifiedfullController.php" hash="c1927328b0feadc25073ae1e948cfa6b"/></dir><file name="ResponseController.php" hash="05173a743f73c1ed7b7cb9e0a580de3a"/><file name=".DS_Store" hash="0047fe0bc161a58c6088a4e959de43a4"/></dir><dir name="etc"><file name="adminhtml.xml" hash="333f4002a4c677b670cd449147b9d3c8"/><file name="cache.xml" hash="3a7cd749515499cce292330c46ce5028"/><file name="config.xml" hash="100567e2973a0e2122089e3f6e993895"/><file name="system.xml" hash="6d97d40215a389de432c01c5c6d8b5d4"/></dir><dir name="sql"><dir name="riskified_full_setup"><file name="mysql4-install-1.0.1.php" hash="66592f315ddacbb116e70b34094fbbef"/><file name="mysql4-upgrade-1.0.2.0-1.0.2.1.php" hash="5d12b7203027e843f6322b5a48fb3d23"/><file name="mysql4-upgrade-1.0.4-1.0.5.0.php" hash="df9bb6016ebab61444d65a5d92b0a70e"/><file name="mysql4-upgrade-1.0.5.5-1.0.6.0.php" hash="c749f3c2564fdf9310dcd22d493630d8"/><file name="mysql4-upgrade-1.0.8.0-1.0.8.1.php" hash="45ac33ab1e02f06f6850dd9876017f09"/><file name="mysql4-upgrade-1.0.9.0-1.0.9.1.php" hash="3cc6f0423a53bf1b8484b7dfe14fc328"/></dir></dir></dir><file name=".DS_Store" hash="9dde5569103534c45d9698851528d853"/></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="dbf48e2d0d5a89db58cd474028bc2e7d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="full.xml" hash="96d4fb310618a1e6fb149dc367952812"/></dir><dir name="template"><dir name="full"><file name="beacon.phtml" hash="396625d0c46c9f4dd287cef289a9bef8"/></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"/><file name="composer.json" hash="96ba594b3b4ae47223d03f4fc78dcb16"/><dir><dir name="sample"><file name="README.md" hash="d6e555fdf2501b66b52d056857b3d903"/><file name="callback.php" hash="c6fb5a90b2c527b794fcec803acb36d9"/><file name="order_full_flow.php" hash="f85e1ca28b6f7deae958271d88cbeaed"/><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="update_merchant_settings.php" hash="24499737ab057aba76cd054fd5051aad"/><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="0d1ff23815dbbf8716f2f3d349c1f8f3"/><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="743e6e5ad9562d19e6af68334079d3cb"/><file name="Attribute.php" hash="e7fa146d7c9c807494c225e6a41afcfb"/><file name="AuthorizationError.php" hash="b82229eff42d94ceba58d4d6a3a4118b"/><file name="ChargeFreePaymentDetails.php" hash="07ab9a9022cc3152404617b72230e843"/><file name="Checkout.php" hash="ede0e6d2fd8319ada669de35b4c3190f"/><file name="ClientDetails.php" hash="50b329fa6b77bcbeff4b725705b957af"/><file name="Customer.php" hash="7e68c5804c145a93c2e48f4460a63759"/><file name="Decision.php" hash="55bf62bfcfc49ab9e5b823e7ec90d6bd"/><file name="DecisionDetails.php" hash="317121548885d2b8eb75a4d5e383f9f8"/><file name="DiscountCode.php" hash="0861920950828a3ff19904b92b4cb50d"/><file name="Fulfillment.php" hash="9111db9b13ae7b2fbe6bf806a66d78f2"/><file name="FulfillmentDetails.php" hash="d3c11d4e8943862fc4a774f3f8e9d7d7"/><file name="LineItem.php" hash="28af24c031cb3e162c2b4b7a3423980b"/><file name="MerchantSettings.php" hash="62f42b50b7a25b014cbed4ea528998aa"/><file name="Order.php" hash="cdff0611ed8e2b673938a8e1d36d64c5"/><file name="OrderCancellation.php" hash="f6f2d5234bb98b56902e632fbccc07b3"/><file name="PaymentDetails.php" hash="1d0bc8094d3a02ba6fe6b52ee139f47e"/><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="1fbc1939121c9618e612316c1a4500ca"/><file name="TaxLine.php" hash="59f82a19bc9ada690aa79bc96307db5e"/></dir><dir name="Transport"><file name="AbstractTransport.php" hash="6be123376c81f478968ee420ca5b31cb"/><file name="CurlTransport.php" hash="360863ea799e1c2f9860c16bd1ea401a"/></dir></dir><file name="autoloader.php" hash="f3471e90daf6184a096d337bbcd40bd1"/></dir></dir></dir><file name=".gitignore" hash="73f01e1298c44b6cc3e24a70cad8c56c"/></dir><dir name="riskified_scripts"><file name="riskified_historical_upload.php" hash="db28908aa4d29a78b712057fa60924fb"/><file name=".DS_Store" hash="2d4da7900011d5d8888ce53ed3dfcba7"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>4.4.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>