Version Notes
* Support for /api/checkout_denied call.
* Only sends session ID for orders initiated by the end customer.
Download this release
Release Info
Developer | Riskified_Mage |
Extension | riskified_magento |
Version | 1.0.9.3 |
Comparing to | |
See all releases |
Code changes from version 1.0.9.2 to 1.0.9.3
- app/code/community/Riskified/Full/.DS_Store +0 -0
- app/code/community/Riskified/Full/Helper/Data.php +32 -0
- app/code/community/Riskified/Full/Helper/Order.php +33 -232
- app/code/community/Riskified/Full/Helper/Order/Payment.php +414 -0
- app/code/community/Riskified/Full/Model/Observer.php +1 -1
- app/code/community/Riskified/Full/Model/Observer/Order/Creditmemo/Save.php +68 -0
- app/code/community/Riskified/Full/Model/Observer/Order/Payment/Failed.php +56 -0
- app/code/community/Riskified/Full/Model/Observer/Quote/Submit.php +36 -0
- {lib/riskified_scripts → app/code/community/Riskified/Full/Test}/.DS_Store +0 -0
- app/code/community/Riskified/Full/etc/config.xml +25 -1
- app/code/community/Riskified/Full/etc/system.xml +1 -1
- app/code/community/Riskified/Full/sql/riskified_full_setup/mysql4-upgrade-1.0.4-1.0.5.0.php.old +39 -0
- app/design/adminhtml/default/default/template/full/jsinit.phtml +1 -1
- lib/riskified_php_sdk/src/Riskified/OrderWebhook/Transport/CurlTransport.php +6 -0
- package.xml +6 -5
app/code/community/Riskified/Full/.DS_Store
CHANGED
Binary file
|
app/code/community/Riskified/Full/Helper/Data.php
CHANGED
@@ -104,4 +104,36 @@ class Riskified_Full_Helper_Data extends Mage_Core_Helper_Abstract
|
|
104 |
{
|
105 |
return Riskified\Common\Riskified::API_VERSION;
|
106 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
}
|
104 |
{
|
105 |
return Riskified\Common\Riskified::API_VERSION;
|
106 |
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Return accept language header.
|
110 |
+
*
|
111 |
+
* @return string
|
112 |
+
*/
|
113 |
+
public function getAcceptLanguage()
|
114 |
+
{
|
115 |
+
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
116 |
+
$acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
|
117 |
+
} else {
|
118 |
+
$acceptLanguage = Mage::app()->getLocale()->getLocaleCode();
|
119 |
+
}
|
120 |
+
|
121 |
+
return $acceptLanguage;
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Return current date time with timezone.
|
126 |
+
*
|
127 |
+
* @param string $time Time.
|
128 |
+
*
|
129 |
+
* @return string
|
130 |
+
*/
|
131 |
+
public function getDateTime($time = 'now')
|
132 |
+
{
|
133 |
+
$timezone = Mage::getStoreConfig('general/locale/timezone');
|
134 |
+
$dateTimeZone = new DateTimeZone($timezone);
|
135 |
+
$dateTime = new DateTime($time, $dateTimeZone);
|
136 |
+
|
137 |
+
return $dateTime->format($dateTime::ATOM);
|
138 |
+
}
|
139 |
}
|
app/code/community/Riskified/Full/Helper/Order.php
CHANGED
@@ -15,8 +15,12 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
15 |
const ACTION_UPDATE = 'update';
|
16 |
const ACTION_SUBMIT = 'submit';
|
17 |
const ACTION_CANCEL = 'cancel';
|
|
|
|
|
|
|
18 |
|
19 |
private $_customer = array();
|
|
|
20 |
|
21 |
public function __construct()
|
22 |
{
|
@@ -90,17 +94,28 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
90 |
case self::ACTION_UPDATE:
|
91 |
$orderForTransport = $this->getOrder($order);
|
92 |
$response = $transport->updateOrder($orderForTransport);
|
93 |
-
|
94 |
break;
|
95 |
case self::ACTION_SUBMIT:
|
96 |
$orderForTransport = $this->getOrder($order);
|
97 |
$response = $transport->submitOrder($orderForTransport);
|
98 |
-
|
99 |
break;
|
100 |
case self::ACTION_CANCEL:
|
101 |
$orderForTransport = $this->getOrderCancellation($order);
|
102 |
$response = $transport->cancelOrder($orderForTransport);
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
break;
|
105 |
}
|
106 |
|
@@ -138,6 +153,7 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
138 |
throw $e;
|
139 |
}
|
140 |
catch (Exception $e) {
|
|
|
141 |
Mage::helper('full/log')->logException($e);
|
142 |
Mage::getSingleton('adminhtml/session')->addError('Riskified extension: ' . $e->getMessage());
|
143 |
|
@@ -263,6 +279,9 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
263 |
{
|
264 |
$transport = new Transport\CurlTransport(new Signature\HttpDataSignature());
|
265 |
$transport->timeout = 15;
|
|
|
|
|
|
|
266 |
return $transport;
|
267 |
}
|
268 |
|
@@ -282,12 +301,15 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
282 |
private function getOrder($model)
|
283 |
{
|
284 |
$gateway = 'unavailable';
|
|
|
|
|
285 |
if ($model->getPayment()) {
|
286 |
$gateway = $model->getPayment()->getMethod();
|
287 |
}
|
288 |
|
289 |
$order_array = array(
|
290 |
'id' => $this->getOrderOrigId($model),
|
|
|
291 |
'name' => $model->getIncrementId(),
|
292 |
'email' => $model->getCustomerEmail(),
|
293 |
'created_at' => $this->formatDateAsIso8601($model->getCreatedAt()),
|
@@ -316,12 +338,18 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
316 |
unset($order_array['cart_token']);
|
317 |
}
|
318 |
|
|
|
|
|
|
|
|
|
319 |
$order = new Model\Order(array_filter($order_array, 'strlen'));
|
320 |
|
321 |
$order->customer = $this->getCustomer($model);
|
322 |
$order->shipping_address = $this->getShippingAddress($model);
|
323 |
$order->billing_address = $this->getBillingAddress($model);
|
324 |
-
|
|
|
|
|
325 |
$order->line_items = $this->getLineItems($model);
|
326 |
$order->shipping_lines = $this->getShippingLines($model);
|
327 |
|
@@ -387,233 +415,6 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
387 |
return $this->getAddress($mageAddr);
|
388 |
}
|
389 |
|
390 |
-
private function logPaymentData($model)
|
391 |
-
{
|
392 |
-
Mage::helper('full/log')->log("Payment info debug Logs:");
|
393 |
-
try {
|
394 |
-
$payment = $model->getPayment();
|
395 |
-
$gatewayName = $payment->getMethod();
|
396 |
-
Mage::helper('full/log')->log("Payment Gateway: " . $gatewayName);
|
397 |
-
Mage::helper('full/log')->log("payment->getCcLast4(): " . $payment->getCcLast4());
|
398 |
-
Mage::helper('full/log')->log("payment->getCcType(): " . $payment->getCcType());
|
399 |
-
Mage::helper('full/log')->log("payment->getCcCidStatus(): " . $payment->getCcCidStatus());
|
400 |
-
Mage::helper('full/log')->log("payment->getCcAvsStatus(): " . $payment->getCcAvsStatus());
|
401 |
-
Mage::helper('full/log')->log("payment->getAdditionalInformation(): " . PHP_EOL . var_export($payment->getAdditionalInformation(), 1));
|
402 |
-
|
403 |
-
|
404 |
-
Mage::helper('full/log')->log("payment->getAdyenPspReference(): " . $payment->getAdyenPspReference());
|
405 |
-
Mage::helper('full/log')->log("payment->getAdyenKlarnaNumber(): " . $payment->getAdyenKlarnaNumber());
|
406 |
-
Mage::helper('full/log')->log("payment->getAdyenAvsResult(): " . $payment->getAdyenAvsResult());
|
407 |
-
Mage::helper('full/log')->log("payment->getAdyenCvcResult(): " . $payment->getAdyenCvcResult());
|
408 |
-
Mage::helper('full/log')->log("payment->getAdyenBoletoPaidAmount(): " . $payment->getAdyenBoletoPaidAmount());
|
409 |
-
Mage::helper('full/log')->log("payment->getAdyenTotalFraudScore(): " . $payment->getAdyenTotalFraudScore());
|
410 |
-
Mage::helper('full/log')->log("payment->getAdyenRefusalReasonRaw(): " . $payment->getAdyenRefusalReasonRaw());
|
411 |
-
Mage::helper('full/log')->log("payment->getAdyenAcquirerReference(): " . $payment->getAdyenAcquirerReference());
|
412 |
-
Mage::helper('full/log')->log("(possibly BIN?) payment->getAdyenAuthCode(): " . $payment->getAdyenAuthCode());
|
413 |
-
|
414 |
-
Mage::helper('full/log')->log("payment->getInfo(): " . PHP_EOL . var_export($payment->getInfo(), 1));
|
415 |
-
|
416 |
-
# paypal_avs_code,paypal_cvv2_match,paypal_fraud_filters,avs_result,cvv2_check_result,address_verification,
|
417 |
-
# postcode_verification,payment_status,pending_reason,payer_id,payer_status,email,credit_card_cvv2,
|
418 |
-
# cc_avs_status,cc_approval,cc_last4,cc_owner,cc_exp_month,cc_exp_year,
|
419 |
-
$sage = $model->getSagepayInfo();
|
420 |
-
if (is_object($sage)) {
|
421 |
-
#####,postcode_result,avscv2,address_status,payer_status
|
422 |
-
Mage::helper('full/log')->log("sagepay->getLastFourDigits(): " . $sage->getLastFourDigits());
|
423 |
-
Mage::helper('full/log')->log("sagepay->last_four_digits: " . $sage->getData('last_four_digits'));
|
424 |
-
Mage::helper('full/log')->log("sagepay->getCardType(): " . $sage->getCardType());
|
425 |
-
Mage::helper('full/log')->log("sagepay->card_type: " . $sage->getData('card_type'));
|
426 |
-
Mage::helper('full/log')->log("sagepay->getAvsCv2Status: " . $sage->getAvsCv2Status());
|
427 |
-
Mage::helper('full/log')->log("sagepay->address_result: " . $sage->getData('address_result'));
|
428 |
-
Mage::helper('full/log')->log("sagepay->getCv2result: " . $sage->getCv2result());
|
429 |
-
Mage::helper('full/log')->log("sagepay->cv2result: " . $sage->getData('cv2result'));
|
430 |
-
Mage::helper('full/log')->log("sagepay->getAvscv2: " . $sage->getAvscv2());
|
431 |
-
Mage::helper('full/log')->log("sagepay->getAddressResult: " . $sage->getAddressResult());
|
432 |
-
Mage::helper('full/log')->log("sagepay->getPostcodeResult: " . $sage->getPostcodeResult());
|
433 |
-
Mage::helper('full/log')->log("sagepay->getDeclineCode: " . $sage->getDeclineCode());
|
434 |
-
Mage::helper('full/log')->log("sagepay->getBankAuthCode: " . $sage->getBankAuthCode());
|
435 |
-
Mage::helper('full/log')->log("sagepay->getPayerStatus: " . $sage->getPayerStatus());
|
436 |
-
}
|
437 |
-
if ($gatewayName == "optimal_hosted") {
|
438 |
-
$optimalTransaction = unserialize($payment->getAdditionalInformation('transaction'));
|
439 |
-
if ($optimalTransaction) {
|
440 |
-
Mage::helper('full/log')->log("Optimal transaction: ");
|
441 |
-
Mage::helper('full/log')->log("transaction->cvdVerification: " . $optimalTransaction->cvdVerification);
|
442 |
-
Mage::helper('full/log')->log("transaction->houseNumberVerification: " . $optimalTransaction->houseNumberVerification);
|
443 |
-
Mage::helper('full/log')->log("transaction->zipVerification: " . $optimalTransaction->zipVerification);
|
444 |
-
} else {
|
445 |
-
Mage::helper('full/log')->log("Optimal gateway but no transaction found");
|
446 |
-
}
|
447 |
-
}
|
448 |
-
|
449 |
-
} catch (Exception $e) {
|
450 |
-
Mage::helper('full/log')->logException($e);
|
451 |
-
}
|
452 |
-
}
|
453 |
-
|
454 |
-
private function getPaymentDetails($model)
|
455 |
-
{
|
456 |
-
$payment = $model->getPayment();
|
457 |
-
if (!$payment) {
|
458 |
-
return null;
|
459 |
-
}
|
460 |
-
|
461 |
-
if (Mage::helper('full')->isDebugLogsEnabled()) {
|
462 |
-
$this->logPaymentData($model);
|
463 |
-
}
|
464 |
-
|
465 |
-
$transactionId = $payment->getTransactionId();
|
466 |
-
|
467 |
-
$gatewayName = $payment->getMethod();
|
468 |
-
|
469 |
-
try {
|
470 |
-
switch ($gatewayName) {
|
471 |
-
case 'authorizenet':
|
472 |
-
$authorizeData = $payment->getAdditionalInformation('authorize_cards');
|
473 |
-
if ($authorizeData && is_array($authorizeData)) {
|
474 |
-
$cardsData = array_values($authorizeData);
|
475 |
-
if ($cardsData && $cardsData[0]) {
|
476 |
-
$cardData = $cardsData[0];
|
477 |
-
if (isset($cardData['cc_last4'])) {
|
478 |
-
$creditCardNumber = $cardData['cc_last4'];
|
479 |
-
}
|
480 |
-
if (isset($cardData['cc_type'])) {
|
481 |
-
$creditCardCompany = $cardData['cc_type'];
|
482 |
-
}
|
483 |
-
if (isset($cardData['cc_avs_result_code'])) {
|
484 |
-
$avsResultCode = $cardData['cc_avs_result_code'];
|
485 |
-
}// getAvsResultCode
|
486 |
-
if (isset($cardData['cc_response_code'])) {
|
487 |
-
$cvvResultCode = $cardData['cc_response_code'];
|
488 |
-
} // getCardCodeResponseCode
|
489 |
-
}
|
490 |
-
}
|
491 |
-
break;
|
492 |
-
case 'authnetcim':
|
493 |
-
$avsResultCode = $payment->getAdditionalInformation('avs_result_code');
|
494 |
-
$cvvResultCode = $payment->getAdditionalInformation('card_code_response_code');
|
495 |
-
#$cavv_result_code = $payment->getAdditionalInformation('cavv_response_code');
|
496 |
-
#$is_fraud = $payment->getAdditionalInformation('is_fraud');
|
497 |
-
break;
|
498 |
-
case 'optimal_hosted':
|
499 |
-
try {
|
500 |
-
$optimalTransaction = unserialize($payment->getAdditionalInformation('transaction'));
|
501 |
-
$cvvResultCode = $optimalTransaction->cvdVerification;
|
502 |
-
$houseVerification = $optimalTransaction->houseNumberVerification;
|
503 |
-
$zipVerification = $optimalTransaction->zipVerification;
|
504 |
-
$avsResultCode = $houseVerification . ',' . $zipVerification;
|
505 |
-
} catch (Exception $e) {
|
506 |
-
Mage::helper('full/log')->log("optimal payment (" . $gatewayName . ") additional payment info failed to parse:" . $e->getMessage());
|
507 |
-
}
|
508 |
-
break;
|
509 |
-
case 'paypal_express':
|
510 |
-
case 'paypaluk_express':
|
511 |
-
case 'paypal_standard':
|
512 |
-
$payerEmail = $payment->getAdditionalInformation('paypal_payer_email');
|
513 |
-
$payerStatus = $payment->getAdditionalInformation('paypal_payer_status');
|
514 |
-
$payerAddressStatus = $payment->getAdditionalInformation('paypal_address_status');
|
515 |
-
$protectionEligibility = $payment->getAdditionalInformation('paypal_protection_eligibility');
|
516 |
-
$paymentStatus = $payment->getAdditionalInformation('paypal_payment_status');
|
517 |
-
$pendingReason = $payment->getAdditionalInformation('paypal_pending_reason');
|
518 |
-
return new Model\PaymentDetails(array_filter(array(
|
519 |
-
'authorization_id' => $transactionId,
|
520 |
-
'payer_email' => $payerEmail,
|
521 |
-
'payer_status' => $payerStatus,
|
522 |
-
'payer_address_status' => $payerAddressStatus,
|
523 |
-
'protection_eligibility' => $protectionEligibility,
|
524 |
-
'payment_status' => $paymentStatus,
|
525 |
-
'pending_reason' => $pendingReason
|
526 |
-
), 'strlen'));
|
527 |
-
case 'paypal_direct':
|
528 |
-
case 'paypaluk_direct':
|
529 |
-
$avsResultCode = $payment->getAdditionalInformation('paypal_avs_code');
|
530 |
-
$cvvResultCode = $payment->getAdditionalInformation('paypal_cvv2_match');
|
531 |
-
$creditCardNumber = $payment->getCcLast4();
|
532 |
-
$creditCardCompany = $payment->getCcType();
|
533 |
-
break;
|
534 |
-
case 'sagepaydirectpro':
|
535 |
-
case 'sage_pay_form':
|
536 |
-
case 'sagepayserver':
|
537 |
-
$sage = $model->getSagepayInfo();
|
538 |
-
if ($sage) {
|
539 |
-
$avsResultCode = $sage->getData('address_result');
|
540 |
-
$cvvResultCode = $sage->getData('cv2result');
|
541 |
-
$creditCardNumber = $sage->getData('last_four_digits');
|
542 |
-
$creditCardCompany = $sage->getData('card_type');
|
543 |
-
//Mage::helper('full/log')->log("sagepay payment (".$gatewayName.") additional info: ".PHP_EOL.var_export($sage->getAdditionalInformation(), 1));
|
544 |
-
Mage::helper('full/log')->log("sagepay payment (" . $gatewayName . ") additional info: " . PHP_EOL . var_export($payment->getAdditionalInformation(), 1));
|
545 |
-
} else {
|
546 |
-
Mage::helper('full/log')->log("sagepay payment (" . $gatewayName . ") - getSagepayInfo returned null object");
|
547 |
-
}
|
548 |
-
break;
|
549 |
-
|
550 |
-
case 'transarmor':
|
551 |
-
$avsResultCode = $payment->getAdditionalInformation('avs_response');
|
552 |
-
$cvvResultCode = $payment->getAdditionalInformation('cvv2_response');
|
553 |
-
Mage::helper('full/log')->log("transarmor payment additional info: " . PHP_EOL . var_export($payment->getAdditionalInformation(), 1));
|
554 |
-
break;
|
555 |
-
|
556 |
-
case 'braintree':
|
557 |
-
case 'braintreevzero':
|
558 |
-
$cvvResultCode = $payment->getAdditionalInformation('cvvResponseCode');
|
559 |
-
$creditCardBin = $payment->getAdditionalInformation('bin');
|
560 |
-
$houseVerification = $payment->getAdditionalInformation('avsStreetAddressResponseCode');
|
561 |
-
$zipVerification = $payment->getAdditionalInformation('avsPostalCodeResponseCode');
|
562 |
-
$avsResultCode = $houseVerification . ',' . $zipVerification;
|
563 |
-
break;
|
564 |
-
|
565 |
-
case 'adyen_cc':
|
566 |
-
$avsResultCode = $payment->getAdyenAvsResult();
|
567 |
-
$cvvResultCode = $payment->getAdyenCvcResult();
|
568 |
-
$transactionId = $payment->getAdyenPspReference();
|
569 |
-
$creditCardBin = $payment->getAdyenCardBin();
|
570 |
-
break;
|
571 |
-
|
572 |
-
// Conekta gateway
|
573 |
-
case 'card':
|
574 |
-
$creditCardBin = $payment->getCardBin();
|
575 |
-
break;
|
576 |
-
|
577 |
-
default:
|
578 |
-
Mage::helper('full/log')->log("unknown gateway:" . $gatewayName);
|
579 |
-
Mage::helper('full/log')->log("Gateway payment (" . $gatewayName . ") additional info: " . PHP_EOL . var_export($payment->getAdditionalInformation(), 1));
|
580 |
-
break;
|
581 |
-
}
|
582 |
-
} catch (Exception $e) {
|
583 |
-
Mage::helper('full/log')->logException($e);
|
584 |
-
Mage::getSingleton('adminhtml/session')->addError('Riskified extension: ' . $e->getMessage());
|
585 |
-
}
|
586 |
-
|
587 |
-
if (!isset($cvvResultCode)) {
|
588 |
-
$cvvResultCode = $payment->getCcCidStatus();
|
589 |
-
}
|
590 |
-
if (!isset($creditCardNumber)) {
|
591 |
-
$creditCardNumber = $payment->getCcLast4();
|
592 |
-
}
|
593 |
-
if (!isset($creditCardCompany)) {
|
594 |
-
$creditCardCompany = $payment->getCcType();
|
595 |
-
}
|
596 |
-
if (!isset($avsResultCode)) {
|
597 |
-
$avsResultCode = $payment->getCcAvsStatus();
|
598 |
-
}
|
599 |
-
if (!isset($creditCardBin)) {
|
600 |
-
$creditCardBin = $payment->getAdditionalInformation('riskified_cc_bin');
|
601 |
-
}
|
602 |
-
if (isset($creditCardNumber)) {
|
603 |
-
$creditCardNumber = "XXXX-XXXX-XXXX-" . $creditCardNumber;
|
604 |
-
}
|
605 |
-
|
606 |
-
|
607 |
-
return new Model\PaymentDetails(array_filter(array(
|
608 |
-
'authorization_id' => $transactionId,
|
609 |
-
'avs_result_code' => $avsResultCode,
|
610 |
-
'cvv_result_code' => $cvvResultCode,
|
611 |
-
'credit_card_number' => $creditCardNumber,
|
612 |
-
'credit_card_company' => $creditCardCompany,
|
613 |
-
'credit_card_bin' => $creditCardBin
|
614 |
-
), 'strlen'));
|
615 |
-
}
|
616 |
-
|
617 |
private function getLineItems($model)
|
618 |
{
|
619 |
$lineItems = array();
|
@@ -675,7 +476,7 @@ class Riskified_Full_Helper_Order extends Mage_Core_Helper_Abstract
|
|
675 |
private function getClientDetails($model)
|
676 |
{
|
677 |
return new Model\ClientDetails(array_filter(array(
|
678 |
-
'accept_language' => Mage::
|
679 |
//'browser_ip' => $this->getRemoteIp($model),
|
680 |
'user_agent' => Mage::helper('core/http')->getHttpUserAgent()
|
681 |
), 'strlen'));
|
15 |
const ACTION_UPDATE = 'update';
|
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 |
|
22 |
private $_customer = array();
|
23 |
+
protected $requestData = array();
|
24 |
|
25 |
public function __construct()
|
26 |
{
|
94 |
case self::ACTION_UPDATE:
|
95 |
$orderForTransport = $this->getOrder($order);
|
96 |
$response = $transport->updateOrder($orderForTransport);
|
|
|
97 |
break;
|
98 |
case self::ACTION_SUBMIT:
|
99 |
$orderForTransport = $this->getOrder($order);
|
100 |
$response = $transport->submitOrder($orderForTransport);
|
|
|
101 |
break;
|
102 |
case self::ACTION_CANCEL:
|
103 |
$orderForTransport = $this->getOrderCancellation($order);
|
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);
|
113 |
+
Mage::log(var_export($this->requestData, true), null, 'riskified-request-data.log');
|
114 |
+
break;
|
115 |
+
case self::ACTION_CHECKOUT_DENIED:
|
116 |
+
$checkoutForTransport = new Model\Checkout($order);
|
117 |
+
$response = $transport->deniedCheckout($checkoutForTransport);
|
118 |
+
Mage::log(var_export($this->requestData, true), null, 'riskified-request-data.log');
|
119 |
break;
|
120 |
}
|
121 |
|
153 |
throw $e;
|
154 |
}
|
155 |
catch (Exception $e) {
|
156 |
+
Mage::log(var_export($this->requestData, true), null, 'riskified-request-data.log');
|
157 |
Mage::helper('full/log')->logException($e);
|
158 |
Mage::getSingleton('adminhtml/session')->addError('Riskified extension: ' . $e->getMessage());
|
159 |
|
279 |
{
|
280 |
$transport = new Transport\CurlTransport(new Signature\HttpDataSignature());
|
281 |
$transport->timeout = 15;
|
282 |
+
|
283 |
+
$transport->requestData = &$this->requestData;
|
284 |
+
|
285 |
return $transport;
|
286 |
}
|
287 |
|
301 |
private function getOrder($model)
|
302 |
{
|
303 |
$gateway = 'unavailable';
|
304 |
+
$currentStore = Mage::app()->getStore();
|
305 |
+
|
306 |
if ($model->getPayment()) {
|
307 |
$gateway = $model->getPayment()->getMethod();
|
308 |
}
|
309 |
|
310 |
$order_array = array(
|
311 |
'id' => $this->getOrderOrigId($model),
|
312 |
+
'checkout_id' => $model->getQuoteId(),
|
313 |
'name' => $model->getIncrementId(),
|
314 |
'email' => $model->getCustomerEmail(),
|
315 |
'created_at' => $this->formatDateAsIso8601($model->getCreatedAt()),
|
338 |
unset($order_array['cart_token']);
|
339 |
}
|
340 |
|
341 |
+
if ($currentStore->isAdmin()) {
|
342 |
+
$order_array['cart_token'] = null;
|
343 |
+
}
|
344 |
+
|
345 |
$order = new Model\Order(array_filter($order_array, 'strlen'));
|
346 |
|
347 |
$order->customer = $this->getCustomer($model);
|
348 |
$order->shipping_address = $this->getShippingAddress($model);
|
349 |
$order->billing_address = $this->getBillingAddress($model);
|
350 |
+
|
351 |
+
$orderPaymentHelper = Mage::helper('full/order_payment');
|
352 |
+
$order->payment_details = $orderPaymentHelper->getPaymentDetails($model);
|
353 |
$order->line_items = $this->getLineItems($model);
|
354 |
$order->shipping_lines = $this->getShippingLines($model);
|
355 |
|
415 |
return $this->getAddress($mageAddr);
|
416 |
}
|
417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
private function getLineItems($model)
|
419 |
{
|
420 |
$lineItems = array();
|
476 |
private function getClientDetails($model)
|
477 |
{
|
478 |
return new Model\ClientDetails(array_filter(array(
|
479 |
+
'accept_language' => Mage::helper('full')->getAcceptLanguage(),
|
480 |
//'browser_ip' => $this->getRemoteIp($model),
|
481 |
'user_agent' => Mage::helper('core/http')->getHttpUserAgent()
|
482 |
), 'strlen'));
|
app/code/community/Riskified/Full/Helper/Order/Payment.php
ADDED
@@ -0,0 +1,414 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once
|
4 |
+
Mage::getBaseDir('lib')
|
5 |
+
. DS . 'riskified_php_sdk'
|
6 |
+
. DS . 'src'
|
7 |
+
. DS . 'Riskified'
|
8 |
+
. DS . 'autoloader.php';
|
9 |
+
|
10 |
+
use Riskified\OrderWebhook\Model;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Riskified Full order payment helper.
|
14 |
+
*
|
15 |
+
* @category Riskified
|
16 |
+
* @package Riskified_Full
|
17 |
+
* @author Piotr Pierzak <piotrek.pierzak@gmail.com>
|
18 |
+
*/
|
19 |
+
class Riskified_Full_Helper_Order_Payment extends Mage_Core_Helper_Abstract
|
20 |
+
{
|
21 |
+
/**
|
22 |
+
* Return order payment details.
|
23 |
+
*
|
24 |
+
* @param Mage_Sales_Model_Order $order Order object.
|
25 |
+
*
|
26 |
+
* @return Model\PaymentDetails|null
|
27 |
+
*/
|
28 |
+
public function getPaymentDetails($order)
|
29 |
+
{
|
30 |
+
$payment = $order->getPayment();
|
31 |
+
if (!$payment) {
|
32 |
+
return null;
|
33 |
+
}
|
34 |
+
|
35 |
+
if (Mage::helper('full')->isDebugLogsEnabled()) {
|
36 |
+
$this->logPaymentData($order);
|
37 |
+
}
|
38 |
+
|
39 |
+
$transactionId = $payment->getTransactionId();
|
40 |
+
$gatewayName = $payment->getMethod();
|
41 |
+
|
42 |
+
try {
|
43 |
+
switch ($gatewayName) {
|
44 |
+
case 'authorizenet':
|
45 |
+
$authorizeData = $payment
|
46 |
+
->getAdditionalInformation('authorize_cards');
|
47 |
+
if ($authorizeData && is_array($authorizeData)) {
|
48 |
+
$cardsData = array_values($authorizeData);
|
49 |
+
if ($cardsData && $cardsData[0]) {
|
50 |
+
$cardData = $cardsData[0];
|
51 |
+
if (isset($cardData['cc_last4'])) {
|
52 |
+
$creditCardNumber = $cardData['cc_last4'];
|
53 |
+
}
|
54 |
+
if (isset($cardData['cc_type'])) {
|
55 |
+
$creditCardCompany = $cardData['cc_type'];
|
56 |
+
}
|
57 |
+
if (isset($cardData['cc_avs_result_code'])) {
|
58 |
+
$avsResultCode = $cardData['cc_avs_result_code'];
|
59 |
+
} // getAvsResultCode
|
60 |
+
if (isset($cardData['cc_response_code'])) {
|
61 |
+
$cvvResultCode = $cardData['cc_response_code'];
|
62 |
+
} // getCardCodeResponseCode
|
63 |
+
}
|
64 |
+
}
|
65 |
+
break;
|
66 |
+
case 'authnetcim':
|
67 |
+
$avsResultCode = $payment
|
68 |
+
->getAdditionalInformation('avs_result_code');
|
69 |
+
$cvvResultCode = $payment
|
70 |
+
->getAdditionalInformation('card_code_response_code');
|
71 |
+
break;
|
72 |
+
case 'optimal_hosted':
|
73 |
+
try {
|
74 |
+
$optimalTransaction = unserialize(
|
75 |
+
$payment->getAdditionalInformation('transaction')
|
76 |
+
);
|
77 |
+
$cvvResultCode = $optimalTransaction->cvdVerification;
|
78 |
+
$houseVerification = $optimalTransaction
|
79 |
+
->houseNumberVerification;
|
80 |
+
$zipVerification = $optimalTransaction->zipVerification;
|
81 |
+
$avsResultCode = $houseVerification . ',' . $zipVerification;
|
82 |
+
} catch (Exception $e) {
|
83 |
+
Mage::helper('full/log')->log(
|
84 |
+
'optimal payment (' . $gatewayName . ') additional '
|
85 |
+
. 'payment info failed to parse:' . $e->getMessage()
|
86 |
+
);
|
87 |
+
}
|
88 |
+
break;
|
89 |
+
case 'paypal_express':
|
90 |
+
case 'paypaluk_express':
|
91 |
+
case 'paypal_standard':
|
92 |
+
$payerEmail = $payment
|
93 |
+
->getAdditionalInformation('paypal_payer_email');
|
94 |
+
$payerStatus = $payment
|
95 |
+
->getAdditionalInformation('paypal_payer_status');
|
96 |
+
$payerAddressStatus = $payment
|
97 |
+
->getAdditionalInformation('paypal_address_status');
|
98 |
+
$protectionEligibility = $payment
|
99 |
+
->getAdditionalInformation('paypal_protection_eligibility');
|
100 |
+
$paymentStatus = $payment
|
101 |
+
->getAdditionalInformation('paypal_payment_status');
|
102 |
+
$pendingReason = $payment
|
103 |
+
->getAdditionalInformation('paypal_pending_reason');
|
104 |
+
|
105 |
+
return new Model\PaymentDetails(
|
106 |
+
array_filter(
|
107 |
+
array(
|
108 |
+
'authorization_id' => $transactionId,
|
109 |
+
'payer_email' => $payerEmail,
|
110 |
+
'payer_status' => $payerStatus,
|
111 |
+
'payer_address_status' => $payerAddressStatus,
|
112 |
+
'protection_eligibility' => $protectionEligibility,
|
113 |
+
'payment_status' => $paymentStatus,
|
114 |
+
'pending_reason' => $pendingReason,
|
115 |
+
),
|
116 |
+
'strlen'
|
117 |
+
)
|
118 |
+
);
|
119 |
+
case 'paypal_direct':
|
120 |
+
case 'paypaluk_direct':
|
121 |
+
$avsResultCode = $payment
|
122 |
+
->getAdditionalInformation('paypal_avs_code');
|
123 |
+
$cvvResultCode = $payment
|
124 |
+
->getAdditionalInformation('paypal_cvv2_match');
|
125 |
+
$creditCardNumber = $payment->getCcLast4();
|
126 |
+
$creditCardCompany = $payment->getCcType();
|
127 |
+
break;
|
128 |
+
case 'sagepaydirectpro':
|
129 |
+
case 'sage_pay_form':
|
130 |
+
case 'sagepayserver':
|
131 |
+
$sage = $order->getSagepayInfo();
|
132 |
+
if ($sage) {
|
133 |
+
$avsResultCode = $sage->getData('address_result');
|
134 |
+
$cvvResultCode = $sage->getData('cv2result');
|
135 |
+
$creditCardNumber = $sage->getData('last_four_digits');
|
136 |
+
$creditCardCompany = $sage->getData('card_type');
|
137 |
+
Mage::helper('full/log')->log(
|
138 |
+
'sagepay payment (' . $gatewayName . ') additional'
|
139 |
+
. 'info: ' . PHP_EOL
|
140 |
+
. var_export($payment->getAdditionalInformation(),
|
141 |
+
1)
|
142 |
+
);
|
143 |
+
} else {
|
144 |
+
Mage::helper('full/log')->log(
|
145 |
+
'sagepay payment (' . $gatewayName . ') - '
|
146 |
+
. 'getSagepayInfo returned null object'
|
147 |
+
);
|
148 |
+
}
|
149 |
+
break;
|
150 |
+
|
151 |
+
case 'transarmor':
|
152 |
+
$avsResultCode = $payment
|
153 |
+
->getAdditionalInformation('avs_response');
|
154 |
+
$cvvResultCode = $payment
|
155 |
+
->getAdditionalInformation('cvv2_response');
|
156 |
+
Mage::helper('full/log')->log(
|
157 |
+
'transarmor payment additional info: ' . PHP_EOL
|
158 |
+
. var_export($payment->getAdditionalInformation(), 1)
|
159 |
+
);
|
160 |
+
break;
|
161 |
+
|
162 |
+
case 'braintree':
|
163 |
+
case 'braintreevzero':
|
164 |
+
$cvvResultCode = $payment
|
165 |
+
->getAdditionalInformation('cvvResponseCode');
|
166 |
+
$creditCardBin = $payment
|
167 |
+
->getAdditionalInformation('bin');
|
168 |
+
$houseVerification = $payment
|
169 |
+
->getAdditionalInformation('avsStreetAddressResponseCode');
|
170 |
+
$zipVerification = $payment
|
171 |
+
->getAdditionalInformation('avsPostalCodeResponseCode');
|
172 |
+
$avsResultCode = $houseVerification . ',' . $zipVerification;
|
173 |
+
break;
|
174 |
+
|
175 |
+
case 'adyen_cc':
|
176 |
+
$avsResultCode = $payment->getAdyenAvsResult();
|
177 |
+
$cvvResultCode = $payment->getAdyenCvcResult();
|
178 |
+
$transactionId = $payment->getAdyenPspReference();
|
179 |
+
$creditCardBin = $payment->getAdyenCardBin();
|
180 |
+
break;
|
181 |
+
|
182 |
+
// Conekta gateway
|
183 |
+
case 'card':
|
184 |
+
$creditCardBin = $payment->getCardBin();
|
185 |
+
break;
|
186 |
+
|
187 |
+
default:
|
188 |
+
Mage::helper('full/log')->log('unknown gateway:' . $gatewayName);
|
189 |
+
Mage::helper('full/log')->log(
|
190 |
+
'Gateway payment (' . $gatewayName . ') additional '
|
191 |
+
. 'info: ' . PHP_EOL
|
192 |
+
. var_export($payment->getAdditionalInformation(), 1)
|
193 |
+
);
|
194 |
+
break;
|
195 |
+
}
|
196 |
+
} catch (Exception $e) {
|
197 |
+
Mage::helper('full/log')->logException($e);
|
198 |
+
Mage::getSingleton('adminhtml/session')
|
199 |
+
->addError('Riskified extension: ' . $e->getMessage());
|
200 |
+
}
|
201 |
+
|
202 |
+
if (!isset($cvvResultCode)) {
|
203 |
+
$cvvResultCode = $payment->getCcCidStatus();
|
204 |
+
}
|
205 |
+
if (!isset($creditCardNumber)) {
|
206 |
+
$creditCardNumber = $payment->getCcLast4();
|
207 |
+
}
|
208 |
+
if (!isset($creditCardCompany)) {
|
209 |
+
$creditCardCompany = $payment->getCcType();
|
210 |
+
}
|
211 |
+
if (!isset($avsResultCode)) {
|
212 |
+
$avsResultCode = $payment->getCcAvsStatus();
|
213 |
+
}
|
214 |
+
if (!isset($creditCardBin)) {
|
215 |
+
$creditCardBin = $payment->getAdditionalInformation('riskified_cc_bin');
|
216 |
+
}
|
217 |
+
if (isset($creditCardNumber)) {
|
218 |
+
$creditCardNumber = "XXXX-XXXX-XXXX-" . $creditCardNumber;
|
219 |
+
}
|
220 |
+
|
221 |
+
return new Model\PaymentDetails(
|
222 |
+
array_filter(
|
223 |
+
array(
|
224 |
+
'authorization_id' => $transactionId,
|
225 |
+
'avs_result_code' => $avsResultCode,
|
226 |
+
'cvv_result_code' => $cvvResultCode,
|
227 |
+
'credit_card_number' => $creditCardNumber,
|
228 |
+
'credit_card_company' => $creditCardCompany,
|
229 |
+
'credit_card_bin' => $creditCardBin,
|
230 |
+
),
|
231 |
+
'strlen'
|
232 |
+
)
|
233 |
+
);
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Log payment data.
|
238 |
+
*
|
239 |
+
* @param Mage_Sales_Model_Order $order Order object.
|
240 |
+
*
|
241 |
+
* @return Riskified_Full_Helper_Order_Payment
|
242 |
+
*/
|
243 |
+
protected function logPaymentData($order)
|
244 |
+
{
|
245 |
+
$logHelper = Mage::helper('full/log');
|
246 |
+
|
247 |
+
$logHelper->log('Payment info debug Logs:');
|
248 |
+
try {
|
249 |
+
$payment = $order->getPayment();
|
250 |
+
$gatewayName = $payment->getMethod();
|
251 |
+
|
252 |
+
$logHelper->log(
|
253 |
+
'Payment Gateway: ' . $gatewayName
|
254 |
+
);
|
255 |
+
$logHelper->log(
|
256 |
+
'payment->getCcLast4(): ' . $payment->getCcLast4()
|
257 |
+
);
|
258 |
+
$logHelper->log(
|
259 |
+
'payment->getCcType(): ' . $payment->getCcType()
|
260 |
+
);
|
261 |
+
$logHelper->log(
|
262 |
+
'payment->getCcCidStatus(): '
|
263 |
+
. $payment->getCcCidStatus()
|
264 |
+
);
|
265 |
+
$logHelper->log(
|
266 |
+
'payment->getCcAvsStatus(): '
|
267 |
+
. $payment->getCcAvsStatus()
|
268 |
+
);
|
269 |
+
$logHelper->log(
|
270 |
+
'payment->getAdditionalInformation(): ' . PHP_EOL
|
271 |
+
. var_export($payment->getAdditionalInformation(), 1)
|
272 |
+
);
|
273 |
+
|
274 |
+
$logHelper->log(
|
275 |
+
'payment->getAdyenPspReference(): '
|
276 |
+
. $payment->getAdyenPspReference()
|
277 |
+
);
|
278 |
+
$logHelper->log(
|
279 |
+
'payment->getAdyenKlarnaNumber(): '
|
280 |
+
. $payment->getAdyenKlarnaNumber()
|
281 |
+
);
|
282 |
+
$logHelper->log(
|
283 |
+
'payment->getAdyenAvsResult(): '
|
284 |
+
. $payment->getAdyenAvsResult()
|
285 |
+
);
|
286 |
+
$logHelper->log(
|
287 |
+
'payment->getAdyenCvcResult(): '
|
288 |
+
. $payment->getAdyenCvcResult()
|
289 |
+
);
|
290 |
+
$logHelper->log(
|
291 |
+
'payment->getAdyenBoletoPaidAmount(): '
|
292 |
+
. $payment->getAdyenBoletoPaidAmount()
|
293 |
+
);
|
294 |
+
$logHelper->log(
|
295 |
+
'payment->getAdyenTotalFraudScore(): '
|
296 |
+
. $payment->getAdyenTotalFraudScore()
|
297 |
+
);
|
298 |
+
$logHelper->log(
|
299 |
+
'payment->getAdyenRefusalReasonRaw(): '
|
300 |
+
. $payment->getAdyenRefusalReasonRaw()
|
301 |
+
);
|
302 |
+
$logHelper->log(
|
303 |
+
'payment->getAdyenAcquirerReference(): '
|
304 |
+
. $payment->getAdyenAcquirerReference()
|
305 |
+
);
|
306 |
+
$logHelper->log(
|
307 |
+
'(possibly BIN?) payment->getAdyenAuthCode(): '
|
308 |
+
. $payment->getAdyenAuthCode()
|
309 |
+
);
|
310 |
+
|
311 |
+
$logHelper->log(
|
312 |
+
'payment->getInfo(): ' . PHP_EOL
|
313 |
+
. var_export($payment->getInfo(), 1)
|
314 |
+
);
|
315 |
+
|
316 |
+
// paypal_avs_code,paypal_cvv2_match,paypal_fraud_filters,
|
317 |
+
// avs_result,cvv2_check_result,address_verification,
|
318 |
+
// postcode_verification,payment_status,pending_reason,payer_id,
|
319 |
+
// payer_status,email,credit_card_cvv2, cc_avs_status,cc_approval,
|
320 |
+
// cc_last4,cc_owner,cc_exp_month,cc_exp_year
|
321 |
+
|
322 |
+
$sage = $order->getSagepayInfo();
|
323 |
+
if (is_object($sage)) {
|
324 |
+
// postcode_result,avscv2,address_status,payer_status
|
325 |
+
$logHelper->log(
|
326 |
+
'sagepay->getLastFourDigits(): '
|
327 |
+
. $sage->getLastFourDigits()
|
328 |
+
);
|
329 |
+
$logHelper->log(
|
330 |
+
'sagepay->last_four_digits: '
|
331 |
+
. $sage->getData('last_four_digits')
|
332 |
+
);
|
333 |
+
$logHelper->log(
|
334 |
+
'sagepay->getCardType(): '
|
335 |
+
. $sage->getCardType()
|
336 |
+
);
|
337 |
+
$logHelper->log(
|
338 |
+
'sagepay->card_type: '
|
339 |
+
. $sage->getData('card_type')
|
340 |
+
);
|
341 |
+
$logHelper->log(
|
342 |
+
'sagepay->getAvsCv2Status: '
|
343 |
+
. $sage->getAvsCv2Status()
|
344 |
+
);
|
345 |
+
$logHelper->log(
|
346 |
+
'sagepay->address_result: '
|
347 |
+
. $sage->getData('address_result')
|
348 |
+
);
|
349 |
+
$logHelper->log(
|
350 |
+
'sagepay->getCv2result: '
|
351 |
+
. $sage->getCv2result()
|
352 |
+
);
|
353 |
+
$logHelper->log(
|
354 |
+
'sagepay->cv2result: '
|
355 |
+
. $sage->getData('cv2result')
|
356 |
+
);
|
357 |
+
$logHelper->log(
|
358 |
+
'sagepay->getAvscv2: '
|
359 |
+
. $sage->getAvscv2()
|
360 |
+
);
|
361 |
+
$logHelper->log(
|
362 |
+
'sagepay->getAddressResult: '
|
363 |
+
. $sage->getAddressResult()
|
364 |
+
);
|
365 |
+
$logHelper->log(
|
366 |
+
'sagepay->getPostcodeResult: '
|
367 |
+
. $sage->getPostcodeResult()
|
368 |
+
);
|
369 |
+
$logHelper->log(
|
370 |
+
'sagepay->getDeclineCode: '
|
371 |
+
. $sage->getDeclineCode()
|
372 |
+
);
|
373 |
+
$logHelper->log(
|
374 |
+
'sagepay->getBankAuthCode: '
|
375 |
+
. $sage->getBankAuthCode()
|
376 |
+
);
|
377 |
+
$logHelper->log(
|
378 |
+
'sagepay->getPayerStatus: '
|
379 |
+
. $sage->getPayerStatus()
|
380 |
+
);
|
381 |
+
}
|
382 |
+
|
383 |
+
if ($gatewayName == 'optimal_hosted') {
|
384 |
+
$optimalTransaction = unserialize(
|
385 |
+
$payment->getAdditionalInformation('transaction')
|
386 |
+
);
|
387 |
+
if ($optimalTransaction) {
|
388 |
+
$logHelper->log(
|
389 |
+
'Optimal transaction: '
|
390 |
+
);
|
391 |
+
$logHelper->log(
|
392 |
+
'transaction->cvdVerification: '
|
393 |
+
. $optimalTransaction->cvdVerification
|
394 |
+
);
|
395 |
+
$logHelper->log(
|
396 |
+
'transaction->houseNumberVerification: '
|
397 |
+
. $optimalTransaction->houseNumberVerification
|
398 |
+
);
|
399 |
+
$logHelper->log(
|
400 |
+
'transaction->zipVerification: '
|
401 |
+
. $optimalTransaction->zipVerification
|
402 |
+
);
|
403 |
+
} else {
|
404 |
+
$logHelper->log('Optimal gateway but no transaction found');
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
} catch (Exception $e) {
|
409 |
+
$logHelper->logException($e);
|
410 |
+
}
|
411 |
+
|
412 |
+
return $this;
|
413 |
+
}
|
414 |
+
}
|
app/code/community/Riskified/Full/Model/Observer.php
CHANGED
@@ -392,7 +392,7 @@ class Riskified_Full_Model_Observer
|
|
392 |
$order = $observer->getOrder();
|
393 |
|
394 |
// Sanity check
|
395 |
-
if (!$order || !$order->getId()) {
|
396 |
return;
|
397 |
}
|
398 |
|
392 |
$order = $observer->getOrder();
|
393 |
|
394 |
// Sanity check
|
395 |
+
if (!$order || !$order instanceof Mage_Sales_Model_Order || !$order->getId()) {
|
396 |
return;
|
397 |
}
|
398 |
|
app/code/community/Riskified/Full/Model/Observer/Order/Creditmemo/Save.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Riskified Full order creditmemo save observer.
|
5 |
+
*
|
6 |
+
* @category Riskified
|
7 |
+
* @package Riskified_Full
|
8 |
+
* @author Piotr Pierzak <piotrek.pierzak@gmail.com>
|
9 |
+
*/
|
10 |
+
class Riskified_Full_Model_Observer_Order_Creditmemo_Save
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Handle credit memo save.
|
14 |
+
*
|
15 |
+
* @param Varien_Event_Observer $observer Observer object.
|
16 |
+
*
|
17 |
+
* @return Riskified_Full_Model_Observer_Order_Creditmemo_Save
|
18 |
+
*/
|
19 |
+
public function handleCreditmemoSave(
|
20 |
+
Varien_Event_Observer $observer
|
21 |
+
) {
|
22 |
+
$creditmemo = $observer->getEvent()->getCreditmemo();
|
23 |
+
|
24 |
+
$reason = '';
|
25 |
+
$commentsCollection = $creditmemo->getCommentsCollection();
|
26 |
+
foreach ($commentsCollection as $commentModel) {
|
27 |
+
$comment = trim($commentModel->getComment());
|
28 |
+
$comment = ucfirst($comment);
|
29 |
+
if (substr($comment, -1) !== '.') {
|
30 |
+
$comment .= '.';
|
31 |
+
}
|
32 |
+
|
33 |
+
$reason .= $comment . ' ';
|
34 |
+
}
|
35 |
+
$reason = trim($reason);
|
36 |
+
|
37 |
+
$payload = array(
|
38 |
+
'id' => (int)$creditmemo->getOrderId(),
|
39 |
+
'refunds' => array(
|
40 |
+
array(
|
41 |
+
'refund_id' => $creditmemo->getId(),
|
42 |
+
'amount' => $creditmemo->getGrandTotal(),
|
43 |
+
'refunded_at' => Mage::helper('full')->getDateTime(
|
44 |
+
$creditmemo->getCreatedAt()
|
45 |
+
),
|
46 |
+
'currency' => $creditmemo->getOrderCurrencyCode(),
|
47 |
+
'reason' => $reason,
|
48 |
+
),
|
49 |
+
),
|
50 |
+
);
|
51 |
+
|
52 |
+
unset(
|
53 |
+
$comment,
|
54 |
+
$commentModel,
|
55 |
+
$commentsCollection,
|
56 |
+
$creditmemo,
|
57 |
+
$reason
|
58 |
+
);
|
59 |
+
|
60 |
+
$helper = Mage::helper('full/order');
|
61 |
+
$helper->postOrder(
|
62 |
+
$payload,
|
63 |
+
Riskified_Full_Helper_Order::ACTION_REFUND
|
64 |
+
);
|
65 |
+
|
66 |
+
return $this;
|
67 |
+
}
|
68 |
+
}
|
app/code/community/Riskified/Full/Model/Observer/Order/Payment/Failed.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Riskified Full failed order payment observer.
|
5 |
+
*
|
6 |
+
* @category Riskified
|
7 |
+
* @package Riskified_Full
|
8 |
+
* @author Piotr Pierzak <piotrek.pierzak@gmail.com>
|
9 |
+
*/
|
10 |
+
class Riskified_Full_Model_Observer_Order_Payment_Failed
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Default failed transaction handler.
|
14 |
+
*
|
15 |
+
* @param Varien_Event_Observer $observer Observer object.
|
16 |
+
*
|
17 |
+
* @return Riskified_Full_Model_Observer_Order_Payment_Failed
|
18 |
+
*/
|
19 |
+
public function handleDefaultFailedTransaction(
|
20 |
+
Varien_Event_Observer $observer
|
21 |
+
) {
|
22 |
+
$order = $observer->getEvent()->getOrder();
|
23 |
+
|
24 |
+
$orderPaymentHelper = Mage::helper('full/order_payment');
|
25 |
+
$paymentDetails = $orderPaymentHelper->getPaymentDetails($order);
|
26 |
+
|
27 |
+
$paymentDetailsArray = json_decode($paymentDetails->toJson(), true);
|
28 |
+
$payload = array(
|
29 |
+
'id' => (int)$order->getQuoteId(),
|
30 |
+
'payment_details' => array_merge(
|
31 |
+
$paymentDetailsArray,
|
32 |
+
array(
|
33 |
+
'authorization_error' => array(
|
34 |
+
'error_code' => 'magento_generic_auth_error',
|
35 |
+
'message' => 'General processing error',
|
36 |
+
'created_at' => Mage::helper('full')->getDateTime(),
|
37 |
+
),
|
38 |
+
)
|
39 |
+
),
|
40 |
+
);
|
41 |
+
|
42 |
+
unset(
|
43 |
+
$orderPaymentHelper,
|
44 |
+
$paymentDetails,
|
45 |
+
$paymentDetailsArray
|
46 |
+
);
|
47 |
+
|
48 |
+
$helper = Mage::helper('full/order');
|
49 |
+
$helper->postOrder(
|
50 |
+
$payload,
|
51 |
+
Riskified_Full_Helper_Order::ACTION_CHECKOUT_DENIED
|
52 |
+
);
|
53 |
+
|
54 |
+
return $this;
|
55 |
+
}
|
56 |
+
}
|
app/code/community/Riskified/Full/Model/Observer/Quote/Submit.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Riskified Full quote submit observer.
|
5 |
+
*
|
6 |
+
* @category Riskified
|
7 |
+
* @package Riskified_Full
|
8 |
+
* @author Piotr Pierzak <piotrek.pierzak@gmail.com>
|
9 |
+
*/
|
10 |
+
class Riskified_Full_Model_Observer_Quote_Submit
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Default failed transaction handler.
|
14 |
+
*
|
15 |
+
* @param Varien_Event_Observer $observer Observer object.
|
16 |
+
*
|
17 |
+
* @return Riskified_Full_Model_Observer_Quote_Submit
|
18 |
+
*/
|
19 |
+
public function handleQuoteSubmit(
|
20 |
+
Varien_Event_Observer $observer
|
21 |
+
) {
|
22 |
+
/*$quote = $observer->getEvent()->getQuote();
|
23 |
+
|
24 |
+
$payload = array(
|
25 |
+
'id' => (int)$quote->getId(),
|
26 |
+
);
|
27 |
+
|
28 |
+
$helper = Mage::helper('full/order');
|
29 |
+
$helper->postOrder(
|
30 |
+
$payload,
|
31 |
+
Riskified_Full_Helper_Order::ACTION_CHECKOUT_CREATE
|
32 |
+
);*/
|
33 |
+
|
34 |
+
return $this;
|
35 |
+
}
|
36 |
+
}
|
{lib/riskified_scripts → app/code/community/Riskified/Full/Test}/.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.
|
6 |
</Riskified_Full>
|
7 |
</modules>
|
8 |
|
@@ -182,6 +182,22 @@
|
|
182 |
</riskified_full_process_successful_post>
|
183 |
</observers>
|
184 |
</riskified_full_post_order_success>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
</events>
|
186 |
</global>
|
187 |
|
@@ -228,6 +244,14 @@
|
|
228 |
</module>
|
229 |
</observers>
|
230 |
</adminhtml_widget_container_html_before>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
</events>
|
232 |
<layout>
|
233 |
<updates>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Riskified_Full>
|
5 |
+
<version>1.0.9.3</version>
|
6 |
</Riskified_Full>
|
7 |
</modules>
|
8 |
|
182 |
</riskified_full_process_successful_post>
|
183 |
</observers>
|
184 |
</riskified_full_post_order_success>
|
185 |
+
<sales_model_service_quote_submit_failure>
|
186 |
+
<observers>
|
187 |
+
<riskified_full_handle_default_failed_transaction>
|
188 |
+
<class>full/observer_order_payment_failed</class>
|
189 |
+
<method>handleDefaultFailedTransaction</method>
|
190 |
+
</riskified_full_handle_default_failed_transaction>
|
191 |
+
</observers>
|
192 |
+
</sales_model_service_quote_submit_failure>
|
193 |
+
<sales_model_service_quote_submit_before>
|
194 |
+
<observers>
|
195 |
+
<riskified_full_handle_quote_submit>
|
196 |
+
<class>full/observer_quote_submit</class>
|
197 |
+
<method>handleQuoteSubmit</method>
|
198 |
+
</riskified_full_handle_quote_submit>
|
199 |
+
</observers>
|
200 |
+
</sales_model_service_quote_submit_before>
|
201 |
</events>
|
202 |
</global>
|
203 |
|
244 |
</module>
|
245 |
</observers>
|
246 |
</adminhtml_widget_container_html_before>
|
247 |
+
<sales_order_creditmemo_save_after>
|
248 |
+
<observers>
|
249 |
+
<riskified_full_handle_creditmemo_save>
|
250 |
+
<class>full/observer_order_creditmemo_save</class>
|
251 |
+
<method>handleCreditmemoSave</method>
|
252 |
+
</riskified_full_handle_creditmemo_save>
|
253 |
+
</observers>
|
254 |
+
</sales_order_creditmemo_save_after>
|
255 |
</events>
|
256 |
<layout>
|
257 |
<updates>
|
app/code/community/Riskified/Full/etc/system.xml
CHANGED
@@ -43,7 +43,7 @@
|
|
43 |
<show_in_website>0</show_in_website>
|
44 |
<show_in_store>0</show_in_store>
|
45 |
<comment>
|
46 |
-
<![CDATA[This is the shop domain used during signup. See <a href="
|
47 |
</domain>
|
48 |
<key translate="label comment">
|
49 |
<label>Auth token</label>
|
43 |
<show_in_website>0</show_in_website>
|
44 |
<show_in_store>0</show_in_store>
|
45 |
<comment>
|
46 |
+
<![CDATA[This is the shop domain used during signup. See <a href="https://www.riskified.com/documentation/magento.html" target="_blank">documentation</a> for more details.]]></comment>
|
47 |
</domain>
|
48 |
<key translate="label comment">
|
49 |
<label>Auth token</label>
|
app/code/community/Riskified/Full/sql/riskified_full_setup/mysql4-upgrade-1.0.4-1.0.5.0.php.old
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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();
|
app/design/adminhtml/default/default/template/full/jsinit.phtml
CHANGED
@@ -181,7 +181,7 @@ $sendingOrdersToRiskified = Mage::getStoreConfig('riskified/cron/run_historical_
|
|
181 |
rhtml += ' </div>';
|
182 |
rhtml += ' <span class="step-inner">';
|
183 |
rhtml += ' <span class="step-action">';
|
184 |
-
rhtml += ' <a class="riskified-botton" style="margin-top:13px" href="
|
185 |
rhtml += ' </span>';
|
186 |
rhtml += ' </span>';
|
187 |
rhtml += '</span>';
|
181 |
rhtml += ' </div>';
|
182 |
rhtml += ' <span class="step-inner">';
|
183 |
rhtml += ' <span class="step-action">';
|
184 |
+
rhtml += ' <a class="riskified-botton" style="margin-top:13px" href="https://www.riskified.com/?platform=magento#install-section" target="_blank">Create an account</a>';
|
185 |
rhtml += ' </span>';
|
186 |
rhtml += ' </span>';
|
187 |
rhtml += '</span>';
|
lib/riskified_php_sdk/src/Riskified/OrderWebhook/Transport/CurlTransport.php
CHANGED
@@ -27,6 +27,8 @@ class CurlTransport extends AbstractTransport {
|
|
27 |
public $timeout = 10;
|
28 |
public $dns_cache = true;
|
29 |
|
|
|
|
|
30 |
/**
|
31 |
* @param $order object Order to send
|
32 |
* @param $endpoint String API endpoint to send request
|
@@ -49,13 +51,17 @@ class CurlTransport extends AbstractTransport {
|
|
49 |
);
|
50 |
curl_setopt_array($ch, $curl_options);
|
51 |
|
|
|
|
|
52 |
|
53 |
$body = curl_exec($ch);
|
|
|
54 |
if (curl_errno($ch)) {
|
55 |
throw new Exception\CurlException(curl_error($ch), curl_errno($ch));
|
56 |
}
|
57 |
|
58 |
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
59 |
curl_close($ch);
|
60 |
|
61 |
return $this->json_response($body, $status);
|
27 |
public $timeout = 10;
|
28 |
public $dns_cache = true;
|
29 |
|
30 |
+
public $requestData;
|
31 |
+
|
32 |
/**
|
33 |
* @param $order object Order to send
|
34 |
* @param $endpoint String API endpoint to send request
|
51 |
);
|
52 |
curl_setopt_array($ch, $curl_options);
|
53 |
|
54 |
+
$this->requestData['endpoint'] = $this->endpoint_prefix().$endpoint;
|
55 |
+
$this->requestData['payload'] = $json;
|
56 |
|
57 |
$body = curl_exec($ch);
|
58 |
+
$this->requestData['responseBody'] = $body;
|
59 |
if (curl_errno($ch)) {
|
60 |
throw new Exception\CurlException(curl_error($ch), curl_errno($ch));
|
61 |
}
|
62 |
|
63 |
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
64 |
+
$this->requestData['responseStatus'] = $status;
|
65 |
curl_close($ch);
|
66 |
|
67 |
return $this->json_response($body, $status);
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>riskified_magento</name>
|
4 |
-
<version>1.0.9.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -9,11 +9,12 @@
|
|
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>
|
15 |
-
<time>
|
16 |
-
<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="de74f8666de65022c11ccc7290c494be"/><file name="Debug.php" hash="b4cd9735bdd601cb624f7495242606e2"/><file name="Log.php" hash="ae614c5071160221b71fb0ed600da67e"/><dir name="Order"><file name="Invoice.php" hash="0117cd5689818c3dc9ab9b59fced6c18"/><file name="Status.php" hash="210a0c440b4070fdcb2ead2c2db4e567"/></dir><file name="Order.php" hash="2ac086bcac466a1828430db727147704"/></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"/><file name="Observer.php" hash="ce32dda2157928a76fd94311a113bb27"/><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"/></dir><dir name="etc"><file name="adminhtml.xml" hash="333f4002a4c677b670cd449147b9d3c8"/><file name="cache.xml" hash="3a7cd749515499cce292330c46ce5028"/><file name="config.xml" hash="f7aac272dae6a5a44b51d64de2721531"/><file name="system.xml" hash="58e468c2ef66e1b0b8ffc0dcd7e6c55e"/></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="87b64a6de9627eade2d4e9ade2a3ffc1"/></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="ae0e337973ce84f21ba956f80bf2ff4c"/></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="ecfb195ac0f8f9599dd859dffc40c968"/></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>
|
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.9.3</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>* Support for /api/checkout_denied call.
|
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>
|