Securetrading_Stpp - Version 3.6.0

Version Notes

The official SecureTrading STPP Magento integration.

Download this release

Release Info

Developer PeteST
Extension Securetrading_Stpp
Version 3.6.0
Comparing to
See all releases


Code changes from version 3.5.2 to 3.6.0

Files changed (51) hide show
  1. app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Data/Abstract.php +1 -0
  2. app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Data/Request.php +1 -1
  3. app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Single.php +1 -1
  4. app/code/local/Securetrading/Stpp/Block/Adminhtml/System/Config/Fields/Password/Button.php +33 -0
  5. app/code/local/Securetrading/Stpp/Block/Adminhtml/System/Config/Fieldset/Fields.php +41 -21
  6. app/code/local/Securetrading/Stpp/Block/Payment/Direct/Info.php +5 -0
  7. app/code/local/Securetrading/Stpp/Block/Payment/Info/Abstract.php +4 -0
  8. app/code/local/Securetrading/Stpp/Block/Payment/Redirect/Form.php +17 -0
  9. app/code/local/Securetrading/Stpp/Block/Payment/Redirect/Info.php +5 -0
  10. app/code/local/Securetrading/Stpp/Block/Payment/Tokenization/Info.php +5 -0
  11. app/code/local/Securetrading/Stpp/Helper/Data.php +14 -0
  12. app/code/local/Securetrading/Stpp/Model/Actions/Abstract.php +2 -1
  13. app/code/local/Securetrading/Stpp/Model/Actions/Direct.php +10 -9
  14. app/code/local/Securetrading/Stpp/Model/Actions/Redirect.php +5 -4
  15. app/code/local/Securetrading/Stpp/Model/Cron.php +19 -14
  16. app/code/local/Securetrading/Stpp/Model/Integration.php +28 -30
  17. app/code/local/Securetrading/Stpp/Model/Observer.php +2 -1
  18. app/code/local/Securetrading/Stpp/Model/Payment/Abstract.php +8 -8
  19. app/code/local/Securetrading/Stpp/Model/Payment/Direct.php +5 -0
  20. app/code/local/Securetrading/Stpp/Model/Payment/Redirect.php +128 -14
  21. app/code/local/Securetrading/Stpp/Model/Source/Connection.php +0 -17
  22. app/code/local/Securetrading/Stpp/Model/Source/PpgVersion.php +22 -0
  23. app/code/local/Securetrading/Stpp/controllers/RedirectController.php +9 -1
  24. app/code/local/Securetrading/Stpp/controllers/Sales/Order/Create/SecuretradingController.php +5 -1
  25. app/code/local/Securetrading/Stpp/controllers/Securetrading/PasswordController.php +13 -0
  26. app/code/local/Securetrading/Stpp/etc/config.xml +10 -25
  27. app/code/local/Securetrading/Stpp/etc/system.xml +974 -994
  28. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Facade.php +5 -1
  29. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Helper.php +1 -1
  30. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Log.php +2 -0
  31. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Xml/Writer.php +21 -15
  32. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Fields/Admin.php +16 -6
  33. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Http/Base.php +9 -2
  34. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Base.php +56 -27
  35. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Facade.php +8 -2
  36. app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Helper.php +14 -1
  37. app/code/local/Securetrading/Stpp/sql/securetrading_stpp/install-3.6.0.php +285 -0
  38. app/code/local/Securetrading/Stpp/sql/securetrading_stpp/upgrade-3.5.2-3.6.0.php +63 -0
  39. app/design/adminhtml/default/default/template/securetrading/stpp/payment/direct/info.phtml +8 -5
  40. app/design/adminhtml/default/default/template/securetrading/stpp/payment/direct/info_pdf.phtml +14 -0
  41. app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/info.phtml +3 -0
  42. app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/info_pdf.phtml +14 -0
  43. app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/post.phtml +15 -1
  44. app/design/adminhtml/default/default/template/securetrading/stpp/payment/tokenization/info.phtml +3 -0
  45. app/design/adminhtml/default/default/template/securetrading/stpp/payment/tokenization/info_pdf.phtml +14 -0
  46. app/design/adminhtml/default/default/template/securetrading/stpp/system/config/fields/password/button.phtml +22 -0
  47. app/design/frontend/base/default/template/securetrading/stpp/payment/direct/form.phtml +1 -1
  48. app/design/frontend/base/default/template/securetrading/stpp/payment/redirect/form.phtml +17 -1
  49. app/design/frontend/base/default/template/securetrading/stpp/payment/redirect/post.phtml +13 -1
  50. app/design/frontend/base/default/template/securetrading/stpp/payment/tokenization/form.phtml +1 -1
  51. package.xml +5 -5
app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Data/Abstract.php CHANGED
@@ -18,6 +18,7 @@ abstract class Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Data_Abstra
18
  protected function _prepareCollection() {
19
  $collection = new Varien_Data_Collection();
20
  foreach ($this->_getGridData() as $key => $value) {
 
21
  $data = new Varien_Object(array('key' => $key, 'value' => $value));
22
  $collection->addItem($data);
23
  }
18
  protected function _prepareCollection() {
19
  $collection = new Varien_Data_Collection();
20
  foreach ($this->_getGridData() as $key => $value) {
21
+ $value = is_array($value) ? 'SERIALIZED FOR DISPLAY: ' . serialize($value) : $value;
22
  $data = new Varien_Object(array('key' => $key, 'value' => $value));
23
  $collection->addItem($data);
24
  }
app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Data/Request.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  class Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Data_Request extends Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Data_Abstract {
4
- protected function _getGridData() {
5
  return $this->_getTransaction()->getRequestData();
6
  }
7
  }
1
  <?php
2
 
3
  class Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Data_Request extends Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Data_Abstract {
4
+ protected function _getGridData() {
5
  return $this->_getTransaction()->getRequestData();
6
  }
7
  }
app/code/local/Securetrading/Stpp/Block/Adminhtml/Sales/Transactions/Single.php CHANGED
@@ -61,7 +61,7 @@ class Securetrading_Stpp_Block_Adminhtml_Sales_Transactions_Single extends Mage_
61
  }
62
 
63
  public function replaceIfXReference($transactionReferenceOrXReference) {
64
- if (substr($transactionReferenceOrXReference, 0, 1) === 'X') {
65
  $filters = $this->getTransaction()->getRequestData('filter');
66
  $return = $filters['transactionreference'];
67
  }
61
  }
62
 
63
  public function replaceIfXReference($transactionReferenceOrXReference) {
64
+ if (substr($transactionReferenceOrXReference, 0, 1) === 'W') {
65
  $filters = $this->getTransaction()->getRequestData('filter');
66
  $return = $filters['transactionreference'];
67
  }
app/code/local/Securetrading/Stpp/Block/Adminhtml/System/Config/Fields/Password/Button.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fields_Password_Button extends Mage_Adminhtml_Block_System_Config_Form_Field {
4
+ protected $_buttonTemplate = 'securetrading/stpp/system/config/fields/password/button.phtml';
5
+
6
+ protected function _prepareLayout() {
7
+ parent::_prepareLayout();
8
+ if (!$this->getTemplate()) {
9
+ $this->setTemplate($this->_buttonTemplate);
10
+ }
11
+ return $this;
12
+ }
13
+
14
+ public function getButtonUrl() {
15
+ return Mage::getModel('adminhtml/url')->getUrl('*/securetrading_password/generate', array('_nosecret' => true));
16
+ }
17
+
18
+ public function render(Varien_Data_Form_Element_Abstract $element) {
19
+ $element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
20
+ return parent::render($element);
21
+ }
22
+
23
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
24
+ $originalData = $element->getOriginalData();
25
+ $this->addData(array(
26
+ 'button_label' => Mage::helper('securetrading_stpp')->__($originalData['button_label']),
27
+ 'html_id' => $element->getHtmlId(),
28
+ 'confirm_text' => $originalData['confirm_text'],
29
+ 'button_updates' => $originalData['button_updates'],
30
+ ));
31
+ return $this->_toHtml();
32
+ }
33
+ }
app/code/local/Securetrading/Stpp/Block/Adminhtml/System/Config/Fieldset/Fields.php CHANGED
@@ -21,20 +21,32 @@ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fieldset_Fields
21
  }
22
 
23
  protected function _getHeaderTitleHtml($element) {
24
- return '
 
 
 
 
 
 
 
 
 
 
 
 
25
  <div class="config-heading" >
26
  <span style="display: inline-block; width: 16px; float: left; position: relative; left: -6px; top: 8px;">
27
  <img src="' . $this->getSkinUrl('images/securetrading/stpp/success_16_16.png') . '" style="' . ($this->_isPaymentEnabled($element) ? '' : 'visibility: hidden;') . '" />
28
  </span>
29
- <span style="display: inline-block; width: 120px; float: left;">' .
30
  (($filename = (string) $element->getGroup()->image_logo) ? '<img src="' . $this->getSkinUrl('images/securetrading/stpp/' . $filename) . '" />' : '') . '
31
  </span>
32
 
33
  <div class="heading">
34
- <strong>' . $element->getLegend() . '</strong>
35
- <span class="heading-intro">' . $element->getComment() . '</span>
36
  </div>
37
- <div class="button-container">
38
  <button
39
  type="button"
40
  class="button"
@@ -47,12 +59,13 @@ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fieldset_Fields
47
  </div>
48
  </div>
49
  ';
 
 
 
 
 
50
  }
51
-
52
- protected function _getHeaderCommentHtml($element) {
53
- return '';
54
- }
55
-
56
  public function render(Varien_Data_Form_Element_Abstract $element) {
57
  $fields = Mage::getModel('securetrading_stpp/integration')->getAdminFields();
58
  $matches = null;
@@ -88,14 +101,6 @@ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fieldset_Fields
88
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_SITE_SECURITY_PASSWORD);
89
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_SITE_SECURITY_PASSWORD);
90
  break;
91
- case 'use_notification_password':
92
- $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_USE_NOTIFICATION_HASH);
93
- $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_USE_NOTIFICATION_HASH);
94
- break;
95
- case 'notification_password':
96
- $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_NOTIFICATION_HASH_PASSWORD);
97
- $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_NOTIFICATION_HASH_PASSWORD);
98
- break;
99
  case 'parent_css':
100
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_PARENT_CSS);
101
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_PARENT_CSS);
@@ -112,9 +117,17 @@ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fieldset_Fields
112
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_CHILD_JS);
113
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_CHILD_JS);
114
  break;
115
- case 'sub_site_reference':
116
- $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_SUB_SITE_REFERENCE);
117
- $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_SUB_SITE_REFERENCE);
 
 
 
 
 
 
 
 
118
  break;
119
  case 'use_api':
120
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_USE_API);
@@ -267,6 +280,13 @@ class Securetrading_Stpp_Block_Adminhtml_System_Config_Fieldset_Fields
267
  $label = $this->__('Config Inheritance');
268
  $tooltip = $this->__('Defines which payment method to inherit certain configuration values from.');
269
  break;
 
 
 
 
 
 
 
270
  default:
271
  $label = $e->getLabel();
272
  $tooltip = $e->getTooltip();
21
  }
22
 
23
  protected function _getHeaderTitleHtml($element) {
24
+ $groupConfig = $this->getGroup($element);
25
+ if ($groupConfig->use_large_fieldset) {
26
+ $headerComment = (string) $groupConfig->header_comment;
27
+ if (isset($groupConfig->help_urls)) {
28
+ $helpLink = '';
29
+ foreach($groupConfig->help_urls->children() as $url) {Mage::log($url);
30
+ $helpLink .= '<a target="_blank" href="' . $url->url . '">' . $url->text . '</a>';
31
+ }
32
+ }
33
+ else {
34
+ $helpLink = '';
35
+ }
36
+ $return = '
37
  <div class="config-heading" >
38
  <span style="display: inline-block; width: 16px; float: left; position: relative; left: -6px; top: 8px;">
39
  <img src="' . $this->getSkinUrl('images/securetrading/stpp/success_16_16.png') . '" style="' . ($this->_isPaymentEnabled($element) ? '' : 'visibility: hidden;') . '" />
40
  </span>
41
+ <span style="display: inline-block; width: 120px; float: left; padding-top: 10px;">' .
42
  (($filename = (string) $element->getGroup()->image_logo) ? '<img src="' . $this->getSkinUrl('images/securetrading/stpp/' . $filename) . '" />' : '') . '
43
  </span>
44
 
45
  <div class="heading">
46
+ <strong>' . $element->getLegend() . '</strong>' . $helpLink . '
47
+ <span class="heading-intro">' . $headerComment . '</span>
48
  </div>
49
+ <div class="button-container" style="line-height: 50px;" >
50
  <button
51
  type="button"
52
  class="button"
59
  </div>
60
  </div>
61
  ';
62
+ }
63
+ else {
64
+ $return = parent::_getHeaderTitleHtml($element);
65
+ }
66
+ return $return;
67
  }
68
+
 
 
 
 
69
  public function render(Varien_Data_Form_Element_Abstract $element) {
70
  $fields = Mage::getModel('securetrading_stpp/integration')->getAdminFields();
71
  $matches = null;
101
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_SITE_SECURITY_PASSWORD);
102
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_SITE_SECURITY_PASSWORD);
103
  break;
 
 
 
 
 
 
 
 
104
  case 'parent_css':
105
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_PARENT_CSS);
106
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_PARENT_CSS);
117
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_CHILD_JS);
118
  $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_CHILD_JS);
119
  break;
120
+ case 'st_profile':
121
+ $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_ST_PROFILE);
122
+ $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_ST_PROFILE);
123
+ break;
124
+ case 'ppg_version':
125
+ $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_VERSION);
126
+ $tooltip = null;
127
+ break;
128
+ case 'skip_choice_page':
129
+ $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_SKIP_CHOICE_PAGE);
130
+ $tooltip = $fields->getDescription(Stpp_Fields_Admin::FIELD_PPG_SKIP_CHOICE_PAGE);
131
  break;
132
  case 'use_api':
133
  $label = $fields->getLabel(Stpp_Fields_Admin::FIELD_PPG_USE_API);
280
  $label = $this->__('Config Inheritance');
281
  $tooltip = $this->__('Defines which payment method to inherit certain configuration values from.');
282
  break;
283
+ case 'enable_declined_redirect':
284
+ $label = $this->__('Enable Declined Redirects');
285
+ $tooltip = $this->__('Enable this if would like your customers to be redirected to your checkout when their card is declined. The default behavior is for them to remain on the Payment Pages.');
286
+ case 'show_paymenttype_on_magento':
287
+ $label = $this->__('Show Accepted Cards Multi-select');
288
+ $tooltip = $this->__('Enable this to show the list of Accepted Cards in the payment method section of the checkout. If disabled the payment type will automatically be determined using the customers\' PAN.');
289
+ break;
290
  default:
291
  $label = $e->getLabel();
292
  $tooltip = $e->getTooltip();
app/code/local/Securetrading/Stpp/Block/Payment/Direct/Info.php CHANGED
@@ -5,4 +5,9 @@ class Securetrading_Stpp_Block_Payment_Direct_Info extends Securetrading_Stpp_Bl
5
  parent::_construct();
6
  $this->setTemplate('securetrading/stpp/payment/direct/info.phtml');
7
  }
 
 
 
 
 
8
  }
5
  parent::_construct();
6
  $this->setTemplate('securetrading/stpp/payment/direct/info.phtml');
7
  }
8
+
9
+ public function toPdf() {
10
+ $this->setTemplate('securetrading/stpp/payment/direct/info_pdf.phtml');
11
+ return $this->toHtml();
12
+ }
13
  }
app/code/local/Securetrading/Stpp/Block/Payment/Info/Abstract.php CHANGED
@@ -74,6 +74,10 @@ abstract class Securetrading_Stpp_Block_Payment_Info_Abstract extends Mage_Payme
74
  public function getTransactionReference() {
75
  return $this->getSpecific('transaction_reference');
76
  }
 
 
 
 
77
 
78
  public function getTransactionReferenceUrl() {
79
  $transaction = Mage::getModel('securetrading_stpp/transaction')->load($this->getTransactionReference(), 'transaction_reference');
74
  public function getTransactionReference() {
75
  return $this->getSpecific('transaction_reference');
76
  }
77
+
78
+ public function getAuthCode() {
79
+ return $this->getSpecific('authcode');
80
+ }
81
 
82
  public function getTransactionReferenceUrl() {
83
  $transaction = Mage::getModel('securetrading_stpp/transaction')->load($this->getTransactionReference(), 'transaction_reference');
app/code/local/Securetrading/Stpp/Block/Payment/Redirect/Form.php CHANGED
@@ -36,4 +36,21 @@ class Securetrading_Stpp_Block_Payment_Redirect_Form extends Mage_Payment_Block_
36
  $customerExists = $this->getMethod()->getInfoInstance()->getQuote()->getCustomerId();
37
  return $this->getMethod()->getConfigData('use_tokenization') && $this->_canSaveCards() && $customerExists;
38
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  }
36
  $customerExists = $this->getMethod()->getInfoInstance()->getQuote()->getCustomerId();
37
  return $this->getMethod()->getConfigData('use_tokenization') && $this->_canSaveCards() && $customerExists;
38
  }
39
+
40
+ public function getSkipChoicePage() {
41
+ return $this->getMethod()->getConfigData('ppg_version') === '2' && $this->getMethod()->getConfigData('skip_choice_page');
42
+ }
43
+
44
+ public function getShowPaymentTypeMultiselect() {
45
+ return $this->getMethod()->getConfigData('show_paymenttype_on_magento');
46
+ }
47
+
48
+ public function getAcceptedCards() {
49
+ $method = $this->getMethod();
50
+ return $method->getIntegration()->getAcceptedCards(true, $method->getConfigData('accepted_cards'));
51
+ }
52
+
53
+ public function getCardTypeLabel() {
54
+ return $this->_getIntegration()->getCardTypeLabel();
55
+ }
56
  }
app/code/local/Securetrading/Stpp/Block/Payment/Redirect/Info.php CHANGED
@@ -5,4 +5,9 @@ class Securetrading_Stpp_Block_Payment_Redirect_Info extends Securetrading_Stpp_
5
  parent::_construct();
6
  $this->setTemplate('securetrading/stpp/payment/redirect/info.phtml');
7
  }
 
 
 
 
 
8
  }
5
  parent::_construct();
6
  $this->setTemplate('securetrading/stpp/payment/redirect/info.phtml');
7
  }
8
+
9
+ public function toPdf() {
10
+ $this->setTemplate('securetrading/stpp/payment/redirect/info_pdf.phtml');
11
+ return $this->toHtml();
12
+ }
13
  }
app/code/local/Securetrading/Stpp/Block/Payment/Tokenization/Info.php CHANGED
@@ -6,6 +6,11 @@ class Securetrading_Stpp_Block_Payment_Tokenization_Info extends Securetrading_S
6
  $this->setTemplate('securetrading/stpp/payment/tokenization/info.phtml');
7
  }
8
 
 
 
 
 
 
9
  public function getCardLabel() {
10
  $label = '';
11
  $activeBillingAgreement = $this->getInfo()->getMethodInstance()->getActiveBillingAgreement(true);
6
  $this->setTemplate('securetrading/stpp/payment/tokenization/info.phtml');
7
  }
8
 
9
+ public function toPdf() {
10
+ $this->setTemplate('securetrading/stpp/payment/tokenization/info_pdf.phtml');
11
+ return $this->toHtml();
12
+ }
13
+
14
  public function getCardLabel() {
15
  $label = '';
16
  $activeBillingAgreement = $this->getInfo()->getMethodInstance()->getActiveBillingAgreement(true);
app/code/local/Securetrading/Stpp/Helper/Data.php CHANGED
@@ -155,6 +155,20 @@ class Securetrading_Stpp_Helper_Data extends Mage_Core_Helper_Abstract {
155
  $order->save();
156
  }
157
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  public function mask($string) {
159
  $toMask = substr($string, 0, -4);
160
  $masked = str_repeat('#', strlen($toMask));
155
  $order->save();
156
  }
157
 
158
+ public function getRandomBytes($nbBytes = 32) {
159
+ $bytes = openssl_random_pseudo_bytes($nbBytes, $strong);
160
+ if (false !== $bytes && true === $strong) {
161
+ return $bytes;
162
+ }
163
+ else {
164
+ throw new Exception("Unable to generate secure token from OpenSSL.");
165
+ }
166
+ }
167
+
168
+ public function generatePassword($length = 16){
169
+ return substr(preg_replace("/[^a-zA-Z0-9]/", "", base64_encode($this->getRandomBytes($length+1))),0,$length);
170
+ }
171
+
172
  public function mask($string) {
173
  $toMask = substr($string, 0, -4);
174
  $masked = str_repeat('#', strlen($toMask));
app/code/local/Securetrading/Stpp/Model/Actions/Abstract.php CHANGED
@@ -178,6 +178,7 @@ abstract class Securetrading_Stpp_Model_Actions_Abstract extends Stpp_Actions_Ab
178
  ->setAdditionalInformation('security_code', $response->get('securityresponsesecuritycode'))
179
  ->setAdditionalInformation('enrolled', $response->get('enrolled'))
180
  ->setAdditionalInformation('status', $response->get('status'))
 
181
  ->setCcTransId($response->get('transactionreference'))
182
  ->setCcLast($payment->getMethodInstance()->getIntegration()->getCcLast4($response->get('maskedpan')))
183
  ;
@@ -258,7 +259,7 @@ abstract class Securetrading_Stpp_Model_Actions_Abstract extends Stpp_Actions_Ab
258
  }
259
  $responseData = $response->toArray();
260
  $requestData = $response->getRequest()->toArray();
261
-
262
  $requestTypeDescription = $response->getRequest()->get('requesttypedescription') ?: $response->get('requesttypedescription'); // look in request object for api, response object for ppg.
263
  $requestType = $this->_mapRequestType($requestTypeDescription);
264
 
178
  ->setAdditionalInformation('security_code', $response->get('securityresponsesecuritycode'))
179
  ->setAdditionalInformation('enrolled', $response->get('enrolled'))
180
  ->setAdditionalInformation('status', $response->get('status'))
181
+ ->setAdditionalInformation('authcode', $response->get('authcode'))
182
  ->setCcTransId($response->get('transactionreference'))
183
  ->setCcLast($payment->getMethodInstance()->getIntegration()->getCcLast4($response->get('maskedpan')))
184
  ;
259
  }
260
  $responseData = $response->toArray();
261
  $requestData = $response->getRequest()->toArray();
262
+
263
  $requestTypeDescription = $response->getRequest()->get('requesttypedescription') ?: $response->get('requesttypedescription'); // look in request object for api, response object for ppg.
264
  $requestType = $this->_mapRequestType($requestTypeDescription);
265
 
app/code/local/Securetrading/Stpp/Model/Actions/Direct.php CHANGED
@@ -39,13 +39,14 @@ class Securetrading_Stpp_Model_Actions_Direct extends Securetrading_Stpp_Model_A
39
  $order = $this->_getOrder($response);
40
  $payment = $order->getPayment();
41
  $methodInstance = $payment->getMethodInstance();
42
-
43
  if ($this->_authShouldEnterPaymentReview($response)) {
44
  if ($methodInstance->getIsMultishipping() && !$methodInstance->getIsFirstMultishipping()) {
45
  $payment->setIsTransactionPending(false); ## reverse the setting to pending - so exception at bottom of mage_sales_model_order_payment::capture() isn't thrown - but it will be reset by our code in direct payment method's capture() func.
46
- Mage::register('stpp_test_key', true);
 
 
47
  }
48
-
49
  }
50
 
51
  if ($this->_paymentIsSuccessful($response) || $this->_authShouldEnterPaymentReview($response)) {
@@ -56,12 +57,12 @@ class Securetrading_Stpp_Model_Actions_Direct extends Securetrading_Stpp_Model_A
56
  }
57
 
58
  if ($methodInstance->getCode() === Mage::getModel('securetrading_stpp/payment_tokenization')->getCode()) {
59
- $payment
60
- ->setCcType($response->get('paymenttypedescription'))
61
- ->setCcLast4($payment->getMethodInstance()->getIntegration()->getCcLast4($response->get('maskedpan')))
62
- ->save()
63
- ;
64
  }
 
 
 
 
65
  }
66
 
67
  public function process3dQuery(Stpp_Data_Response $response) {
@@ -69,7 +70,7 @@ class Securetrading_Stpp_Model_Actions_Direct extends Securetrading_Stpp_Model_A
69
  $this->setOrder($order);
70
  parent::process3dQuery($response);
71
  }
72
- return $this->_isErrorCodeZero($response);
73
  }
74
 
75
  public function processRiskDecision(Stpp_Data_Response $response) {
39
  $order = $this->_getOrder($response);
40
  $payment = $order->getPayment();
41
  $methodInstance = $payment->getMethodInstance();
42
+
43
  if ($this->_authShouldEnterPaymentReview($response)) {
44
  if ($methodInstance->getIsMultishipping() && !$methodInstance->getIsFirstMultishipping()) {
45
  $payment->setIsTransactionPending(false); ## reverse the setting to pending - so exception at bottom of mage_sales_model_order_payment::capture() isn't thrown - but it will be reset by our code in direct payment method's capture() func.
46
+ if (!Mage::registry('stpp_test_key')) {
47
+ Mage::register('stpp_test_key', true);
48
+ }
49
  }
 
50
  }
51
 
52
  if ($this->_paymentIsSuccessful($response) || $this->_authShouldEnterPaymentReview($response)) {
57
  }
58
 
59
  if ($methodInstance->getCode() === Mage::getModel('securetrading_stpp/payment_tokenization')->getCode()) {
60
+ $payment->setCcLast4($payment->getMethodInstance()->getIntegration()->getCcLast4($response->get('maskedpan')));
 
 
 
 
61
  }
62
+ $payment
63
+ ->setCcType($response->get('paymenttypedescription'))
64
+ ->save()
65
+ ;
66
  }
67
 
68
  public function process3dQuery(Stpp_Data_Response $response) {
70
  $this->setOrder($order);
71
  parent::process3dQuery($response);
72
  }
73
+ return $this->_isErrorCodeZero($response) || $response->get('errorcode') === '60031' || $response->get('errorcode') === '60032';
74
  }
75
 
76
  public function processRiskDecision(Stpp_Data_Response $response) {
app/code/local/Securetrading/Stpp/Model/Actions/Redirect.php CHANGED
@@ -51,6 +51,7 @@ class Securetrading_Stpp_Model_Actions_Redirect extends Securetrading_Stpp_Model
51
  if ($this->_paymentIsSuccessful($response) && $response->get('savecc')) {
52
  $this->_createBillingAgreement($response);
53
  }
 
54
  return $this->_isErrorCodeZero($response);
55
  }
56
 
@@ -142,10 +143,10 @@ class Securetrading_Stpp_Model_Actions_Redirect extends Securetrading_Stpp_Model
142
  protected function _updateOrder(Stpp_Data_Response $response, $firstOrder) {
143
  $order = $this->_getOrder($response);
144
  if ($firstOrder) {
145
- $addresses = array(
146
- 'billing' => $order->getBillingAddress(),
147
- 'customer' => $order->getShippingAddress(),
148
- );
149
  }
150
  else {
151
  $addresses = array('billing' => $order->getBillingAddress());
51
  if ($this->_paymentIsSuccessful($response) && $response->get('savecc')) {
52
  $this->_createBillingAgreement($response);
53
  }
54
+
55
  return $this->_isErrorCodeZero($response);
56
  }
57
 
143
  protected function _updateOrder(Stpp_Data_Response $response, $firstOrder) {
144
  $order = $this->_getOrder($response);
145
  if ($firstOrder) {
146
+ $addresses = array('billing' => $order->getBillingAddress());
147
+ if ($order->getShippingAddress()) {
148
+ $addresses['customer'] = $order->getShippingAddress();
149
+ }
150
  }
151
  else {
152
  $addresses = array('billing' => $order->getBillingAddress());
app/code/local/Securetrading/Stpp/Model/Cron.php CHANGED
@@ -108,28 +108,33 @@ class Securetrading_Stpp_Model_Cron {
108
  $collection = Mage::getModel('sales/order')->getCollection();
109
  $collection->addFieldToFilter('status', array('eq' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PROCESSING_SOFORT));
110
  $collection->addFieldToSelect('increment_id');
 
111
  $orderIncrementIds = array();
112
  foreach($collection as $order) {
113
  $orderIncrementIds[] = $order->getIncrementId();
114
  }
115
 
116
- $startDate = date('Y-m-d', strtotime('-30 day'));//TODO - the crons have arbitrary limits on start dates. E.g. merchant runs module for year, doesn't configure cron. then sets it up. not all transactions will be retrieved and updated. two potential solutions: allow cron to be manually fired from admin area with no limits, or make start dates configurable.
117
- $endDate = date('Y-m-d');
118
-
119
- $models = array(Mage::getModel('securetrading_stpp/payment_redirect'));
120
- $filters = array('orderreferences' => $orderIncrementIds);
121
- $additionalFields = array('orderreference', 'settlestatus');
122
- $csvData = Mage::helper('securetrading_stpp')->getCsvData($models, $filters, $additionalFields, $startDate, $endDate);
123
-
124
- // take order to SOFORT auth page - it is now pending sofort. if decline - customer can try again. new ST transaction made for each try. all one order id. so multiple transactionreferences - some cancelled, one may be settled - for each order increment id. handle this case - if there is a 100 then the order was a success.
125
  $finalCsvData = array();
126
- foreach($csvData as $row) {
127
- $orderIncrementId = $row[1];
128
- if (array_key_exists($orderIncrementId, $finalCsvData) && $finalCsvData[$orderIncrementId][2] === '100') { // If a transaction already exists for this order increement ID and is settlestatus 100, continue so that the transaction isn't set back to a 3 again (if a 3 also exists)
129
- continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  }
131
- $finalCsvData[$orderIncrementId] = $row;
132
  }
 
133
  return $finalCsvData;
134
  }
135
 
108
  $collection = Mage::getModel('sales/order')->getCollection();
109
  $collection->addFieldToFilter('status', array('eq' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PROCESSING_SOFORT));
110
  $collection->addFieldToSelect('increment_id');
111
+
112
  $orderIncrementIds = array();
113
  foreach($collection as $order) {
114
  $orderIncrementIds[] = $order->getIncrementId();
115
  }
116
 
 
 
 
 
 
 
 
 
 
117
  $finalCsvData = array();
118
+
119
+ if (!empty($orderIncrementIds)) {
120
+ $startDate = date('Y-m-d', strtotime('-30 day'));//TODO - the crons have arbitrary limits on start dates. E.g. merchant runs module for year, doesn't configure cron. then sets it up. not all transactions will be retrieved and updated. two potential solutions: allow cron to be manually fired from admin area with no limits, or make start dates configurable.
121
+ $endDate = date('Y-m-d');
122
+
123
+ $models = array(Mage::getModel('securetrading_stpp/payment_redirect'));
124
+ $filters = array('orderreferences' => $orderIncrementIds);
125
+ $additionalFields = array('orderreference', 'settlestatus');
126
+ $csvData = Mage::helper('securetrading_stpp')->getCsvData($models, $filters, $additionalFields, $startDate, $endDate);
127
+
128
+ // take order to SOFORT auth page - it is now pending sofort. if decline - customer can try again. new ST transaction made for each try. all one order id. so multiple transactionreferences - some cancelled, one may be settled - for each order increment id. handle this case - if there is a 100 then the order was a success.
129
+ foreach($csvData as $row) {
130
+ $orderIncrementId = $row[1];
131
+ if (array_key_exists($orderIncrementId, $finalCsvData) && $finalCsvData[$orderIncrementId][2] === '100') { // If a transaction already exists for this order increement ID and is settlestatus 100, continue so that the transaction isn't set back to a 3 again (if a 3 also exists)
132
+ continue;
133
+ }
134
+ $finalCsvData[$orderIncrementId] = $row;
135
  }
 
136
  }
137
+
138
  return $finalCsvData;
139
  }
140
 
app/code/local/Securetrading/Stpp/Model/Integration.php CHANGED
@@ -20,7 +20,7 @@ class Securetrading_Stpp_Model_Integration extends Mage_Core_Model_Abstract {
20
  public function _construct() {
21
  require_once(Mage::getModuleDir('', 'Securetrading_Stpp') . DS . 'lib' . DS . 'Securetrading.php');
22
  Securetrading::init();
23
-
24
  $config = array();
25
  $paymentMethod = $this->getPaymentMethod();
26
 
@@ -28,59 +28,65 @@ class Securetrading_Stpp_Model_Integration extends Mage_Core_Model_Abstract {
28
  $this->_ppagesActionInstance = Mage::getModel('securetrading_stpp/actions_redirect');
29
  $this->_apiActionInstance = Mage::getModel('securetrading_stpp/actions_direct');
30
 
 
 
 
 
 
 
31
  $config = array(
32
  'connections' => array(
33
  'web_services' => array(
34
  'username' => $paymentMethod->getConfigData('ws_username'),
35
  'password' => $paymentMethod->getConfigData('ws_password'),
36
- 'alias' => $paymentMethod->getConfigData('ws_alias'),
37
  'ssl_verify_peer' => $paymentMethod->getConfigData('ws_verify_ca'),
38
  'ssl_verify_host'=> 2,
39
  'ssl_cacertfile' => $paymentMethod->getConfigData('ws_ca_file'),
 
40
  ),
41
- 'api' => array(
42
- 'host' => $paymentMethod->getConfigData('stapi_host'),
43
- 'port' => $paymentMethod->getConfigData('stapi_port'),
44
- 'alias'=> $paymentMethod->getConfigData('stapi_alias'),
45
- ),
46
  ),
47
  'interfaces' => array(
48
  'ppages' => array(
49
  'action_instance' => $this->_ppagesActionInstance,
50
  'notificationhash' => array(
51
- 'password' => $paymentMethod->getConfigData('notification_password'),
52
  'algorithm' => 'sha256',
53
- 'use' => $paymentMethod->getConfigData('use_notification_password'),
54
  ),
55
  'sitesecurity' => array(
56
  'password' => $paymentMethod->getConfigData('site_security_password'),
57
  'algorithm' => 'sha256',
58
- 'use' => $paymentMethod->getConfigData('use_site_security'),
59
- 'fields'=> array('order_increment_ids'),
60
  ),
61
  'use_authenticated_moto' => false,
62
  'use_http_post' => true,
63
  ),
64
  'api' => array(
65
  'action_instance' => $this->_apiActionInstance,
66
- 'active_connection' => $paymentMethod->getConfigData('connection'),
67
  'use_3d_secure' => $paymentMethod->getConfigData('use_3d_secure'),
68
  'use_risk_decision' => $paymentMethod->getConfigData('use_risk_decision'),
69
  'use_account_check' => $paymentMethod->getConfigData('use_account_check'),
70
  'use_card_store' => $paymentMethod->getConfigData('use_card_store'),
71
- //'use_risk_decision_after_auth' => $paymentMethod->getConfigData('delay_risk_decision'),
72
- //'use_auto_card_store' => $paymentMethod->getConfigData('use_auto_card_store'),
73
  )
74
  ),
75
  'transactionsearch' => array(
76
- 'username'=> $paymentMethod->getConfigData('transactionsearch_username'),
77
- 'password'=> $paymentMethod->getConfigData('transactionsearch_password'),
78
- 'ssl_verify_peer'=> $paymentMethod->getConfigData('transactionsearch_verify_ca'),
79
  'ssl_verify_host'=> 2,
80
- 'ssl_cacertfile'=> $paymentMethod->getConfigData('transactionsearch_ca_file'),
81
-
82
  )
83
  );
 
 
 
 
 
 
 
 
84
  }
85
 
86
  $utilityFacade = Magento_Utility_Facade::instance($config); // Must be done before using any other parts of the STPP framework.
@@ -136,15 +142,7 @@ class Securetrading_Stpp_Model_Integration extends Mage_Core_Model_Abstract {
136
  public function getCardTypes() {
137
  return Stpp_Types::getCardTypes();
138
  }
139
-
140
- public function getConnections() {
141
- $connections = array();
142
- foreach($this->_apiFacade->newApiConnectionStore()->getAll() as $k => $v) {
143
- $connections[$k] = $v::getName();
144
- }
145
- return $connections;
146
- }
147
-
148
  protected function _setOrderToActionInstances(Mage_Sales_Model_Order $order) {
149
  $this->_apiActionInstance->setOrder($order);
150
  $this->_ppagesActionInstance->setOrder($order);
@@ -203,9 +201,9 @@ class Securetrading_Stpp_Model_Integration extends Mage_Core_Model_Abstract {
203
  return $this->_apiFacade->runApiRequests($data, array(Stpp_Types::API_CARDSTORE));
204
  }
205
 
206
- public function runPaymentPages(array $data, $isMoto = false) {
207
  $request = Stpp_Data_Request::instance()->setMultiple($data);
208
- $result = $this->_ppagesFacade->runPaymentPagesStandard($request, $isMoto);
209
  Mage::getModel('securetrading_stpp/payment_redirect_request')->addRequest($this->getPaymentMethod()->getInfoInstance(), $result->getRequest());
210
 
211
 
20
  public function _construct() {
21
  require_once(Mage::getModuleDir('', 'Securetrading_Stpp') . DS . 'lib' . DS . 'Securetrading.php');
22
  Securetrading::init();
23
+
24
  $config = array();
25
  $paymentMethod = $this->getPaymentMethod();
26
 
28
  $this->_ppagesActionInstance = Mage::getModel('securetrading_stpp/actions_redirect');
29
  $this->_apiActionInstance = Mage::getModel('securetrading_stpp/actions_direct');
30
 
31
+ $siteSecurity = $paymentMethod->getConfigData('site_security_password');
32
+ $notificationHash = $paymentMethod->getConfigData('notification_password');
33
+
34
+ $useNotificationHash = (bool) is_string($siteSecurity) && !empty($siteSecurity);
35
+ $notificationHash = $siteSecurity;
36
+
37
  $config = array(
38
  'connections' => array(
39
  'web_services' => array(
40
  'username' => $paymentMethod->getConfigData('ws_username'),
41
  'password' => $paymentMethod->getConfigData('ws_password'),
42
+ 'alias' => $paymentMethod->getConfigData('ws_username'),
43
  'ssl_verify_peer' => $paymentMethod->getConfigData('ws_verify_ca'),
44
  'ssl_verify_host'=> 2,
45
  'ssl_cacertfile' => $paymentMethod->getConfigData('ws_ca_file'),
46
+ 'user_agent' => Securetrading_Stpp_Model_Payment_Abstract::getVersionInformation(),
47
  ),
 
 
 
 
 
48
  ),
49
  'interfaces' => array(
50
  'ppages' => array(
51
  'action_instance' => $this->_ppagesActionInstance,
52
  'notificationhash' => array(
53
+ 'password' => $notificationHash,
54
  'algorithm' => 'sha256',
55
+ 'use' => $useNotificationHash,
56
  ),
57
  'sitesecurity' => array(
58
  'password' => $paymentMethod->getConfigData('site_security_password'),
59
  'algorithm' => 'sha256',
60
+ 'use' => is_string($siteSecurity) && !empty($siteSecurity),
 
61
  ),
62
  'use_authenticated_moto' => false,
63
  'use_http_post' => true,
64
  ),
65
  'api' => array(
66
  'action_instance' => $this->_apiActionInstance,
67
+ 'active_connection' => Stpp_Api_Connection_Webservices::getKey(),
68
  'use_3d_secure' => $paymentMethod->getConfigData('use_3d_secure'),
69
  'use_risk_decision' => $paymentMethod->getConfigData('use_risk_decision'),
70
  'use_account_check' => $paymentMethod->getConfigData('use_account_check'),
71
  'use_card_store' => $paymentMethod->getConfigData('use_card_store'),
 
 
72
  )
73
  ),
74
  'transactionsearch' => array(
75
+ 'username'=> $paymentMethod->getConfigData('ws_username'),
76
+ 'password'=> $paymentMethod->getConfigData('ws_password'),
77
+ 'ssl_verify_peer'=> $paymentMethod->getConfigData('ws_verify_ca'),
78
  'ssl_verify_host'=> 2,
79
+ 'ssl_cacertfile'=> $paymentMethod->getConfigData('ws_ca_file'),
 
80
  )
81
  );
82
+
83
+ if ($paymentMethod->getConfigData('ppg_version') === '1') {
84
+ $config['interfaces']['ppages']['sitesecurity']['default_field_override'] = array('currencyiso3a','mainamount','sitereference','settlestatus','settleduedate');
85
+ $config['interfaces']['ppages']['sitesecurity']['fields'] = array('orderreference', 'accounttypedescription', 'order_increment_ids');
86
+ }
87
+ else {
88
+ $config['interfaces']['ppages']['sitesecurity']['fields'] = array('orderreference', 'accounttypedescription', 'order_increment_ids', 'order_increment_id', 'allurlnotification');
89
+ }
90
  }
91
 
92
  $utilityFacade = Magento_Utility_Facade::instance($config); // Must be done before using any other parts of the STPP framework.
142
  public function getCardTypes() {
143
  return Stpp_Types::getCardTypes();
144
  }
145
+
 
 
 
 
 
 
 
 
146
  protected function _setOrderToActionInstances(Mage_Sales_Model_Order $order) {
147
  $this->_apiActionInstance->setOrder($order);
148
  $this->_ppagesActionInstance->setOrder($order);
201
  return $this->_apiFacade->runApiRequests($data, array(Stpp_Types::API_CARDSTORE));
202
  }
203
 
204
+ public function runPaymentPages(array $data, $bypassChoicePage = false, $isMoto = false) {
205
  $request = Stpp_Data_Request::instance()->setMultiple($data);
206
+ $result = $this->_ppagesFacade->runPaymentPagesStandard($request, $bypassChoicePage, $isMoto);
207
  Mage::getModel('securetrading_stpp/payment_redirect_request')->addRequest($this->getPaymentMethod()->getInfoInstance(), $result->getRequest());
208
 
209
 
app/code/local/Securetrading/Stpp/Model/Observer.php CHANGED
@@ -55,9 +55,10 @@ class Securetrading_Stpp_Model_Observer {
55
  'security_address',
56
  'security_postcode',
57
  'security_code',
58
- 'shield_status_code',
59
  'enrolled',
60
  'status',
 
61
  );
62
 
63
  $payment = $observer->getEvent()->getPayment();
55
  'security_address',
56
  'security_postcode',
57
  'security_code',
58
+ 'shield_status_code',
59
  'enrolled',
60
  'status',
61
+ 'authcode',
62
  );
63
 
64
  $payment = $observer->getEvent()->getPayment();
app/code/local/Securetrading/Stpp/Model/Payment/Abstract.php CHANGED
@@ -22,6 +22,13 @@ abstract class Securetrading_Stpp_Model_Payment_Abstract extends Mage_Payment_Mo
22
  return true;
23
  }
24
 
 
 
 
 
 
 
 
25
  public function getIntegration() {
26
  return Mage::getModel('securetrading_stpp/integration', array('payment_method' => $this));
27
  }
@@ -103,7 +110,7 @@ abstract class Securetrading_Stpp_Model_Payment_Abstract extends Mage_Payment_Mo
103
  'orderreference' => $order->getIncrementId(),
104
 
105
  'customfield4' => $this->_getCartInformation(),
106
- 'customfield5' => $this->_getVersionInformation(),
107
  );
108
 
109
  if ($order->getShippingMethod()) {
@@ -135,11 +142,4 @@ abstract class Securetrading_Stpp_Model_Payment_Abstract extends Mage_Payment_Mo
135
  protected function _getCartInformation() {
136
  return 'MAGENTO';
137
  }
138
-
139
- protected function _getVersionInformation() {
140
- $stppVersion = (string) Mage::getConfig()->getModuleConfig('Securetrading_Stpp')->version;
141
- $multishippingVersion = (string) Mage::getConfig()->getModuleConfig('Securetrading_Multishipping')->version;
142
- $str = sprintf('Magento %s %s (Securetrading_Stpp-%s Securetrading_Multishipping-%s)', Mage::getEdition(), Mage::getVersion(), $stppVersion, $multishippingVersion);
143
- return $str;
144
- }
145
  }
22
  return true;
23
  }
24
 
25
+ public static function getVersionInformation() {
26
+ $stppVersion = (string) Mage::getConfig()->getModuleConfig('Securetrading_Stpp')->version;
27
+ $multishippingVersion = (string) Mage::getConfig()->getModuleConfig('Securetrading_Multishipping')->version;
28
+ $str = sprintf('Magento %s %s (Securetrading_Stpp-%s Securetrading_Multishipping-%s)', Mage::getEdition(), Mage::getVersion(), $stppVersion, $multishippingVersion);
29
+ return $str;
30
+ }
31
+
32
  public function getIntegration() {
33
  return Mage::getModel('securetrading_stpp/integration', array('payment_method' => $this));
34
  }
110
  'orderreference' => $order->getIncrementId(),
111
 
112
  'customfield4' => $this->_getCartInformation(),
113
+ 'customfield5' => self::getVersionInformation(),
114
  );
115
 
116
  if ($order->getShippingMethod()) {
142
  protected function _getCartInformation() {
143
  return 'MAGENTO';
144
  }
 
 
 
 
 
 
 
145
  }
app/code/local/Securetrading/Stpp/Model/Payment/Direct.php CHANGED
@@ -9,6 +9,11 @@ class Securetrading_Stpp_Model_Payment_Direct extends Securetrading_Stpp_Model_P
9
 
10
  protected $_sessionModelType = 'securetrading_stpp/payment_direct_session';
11
 
 
 
 
 
 
12
  protected function _get3dAuthData() {
13
  $payment = $this->getInfoInstance();
14
  $array = array(
9
 
10
  protected $_sessionModelType = 'securetrading_stpp/payment_direct_session';
11
 
12
+ public function canManageBillingAgreements() {
13
+ $tokenizationMethod = Mage::getModel('securetrading_stpp/payment_tokenization');
14
+ return parent::canManageBillingAgreements() && $tokenizationMethod->canSaveCards($tokenizationMethod->getSavedCardsCollection());
15
+ }
16
+
17
  protected function _get3dAuthData() {
18
  $payment = $this->getInfoInstance();
19
  $array = array(
app/code/local/Securetrading/Stpp/Model/Payment/Redirect.php CHANGED
@@ -21,7 +21,9 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
21
  protected $_canReviewPayment = true;
22
  protected $_canCreateBillingAgreement = true;
23
  protected $_canManageRecurringProfiles = false;
24
-
 
 
25
  public function __construct() {
26
  if ($this->getConfigData('use_api')) {
27
  $this->_canCapturePartial = true;
@@ -57,24 +59,130 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
57
 
58
  public function prepareOrderData(Mage_Sales_Model_Order_Payment $payment, array $orderIncrementIds, $sendEmailConfirmation = true) {
59
  $this->log(sprintf('In %s.', __METHOD__));
 
 
60
  $data = parent::prepareOrderData($payment, $orderIncrementIds);
61
  $data += array(
62
  'customfield1' => $payment->getOrder()->getStoreId(),
63
- 'parentcss' => $this->getConfigData('parent_css'),
64
- 'childcss' => $this->getConfigData('child_css'),
65
- 'parentjs' => $this->getConfigData('parent_js'),
66
- 'childjs' => $this->getConfigData('child_js'),
67
- //'subsitereference' => $this->getConfigData('sub_site_reference'),
68
  '_charset_' => Mage::getStoreConfig('design/head/default_charset'),
69
- 'order_increment_ids' => serialize($orderIncrementIds),
70
- 'send_confirmation' => $sendEmailConfirmation,
71
- 'customer_id' => Mage::getSingleton('customer/session')->getCustomerId(),
72
- 'savecc' => Mage::getSingleton('securetrading_stpp/payment_redirect_session')->getSaveCardDetails(),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  return $data;
75
  }
76
 
77
  public function assignData($data) {
 
 
78
  Mage::getSingleton('securetrading_stpp/payment_redirect_session')->setSaveCardDetails($data->getSecuretradingStppRedirectSaveCc());
79
  return $this;
80
  }
@@ -86,11 +194,13 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
86
  public function capture(Varien_Object $payment, $amount) {
87
  return $this->_captureAuthorized($payment, $amount);
88
  }
89
-
90
  public function prepareData($isMoto = false, array $orderIncrementIds = array(), $sendEmailConfirmation = true) {
91
  $this->log(sprintf('In %s.', __METHOD__));
 
 
92
  $data = $this->prepareOrderData($this->getInfoInstance(), $orderIncrementIds, $sendEmailConfirmation);
93
- $transport = $this->getIntegration()->runPaymentPages($data, $isMoto);
94
  return $transport;
95
  }
96
 
@@ -161,7 +271,7 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
161
 
162
  public function orderIsSuccessful($orderIncrementId) {
163
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
164
- $successful = (bool) $this->_isProcessingOrPaymentReviewState($order) || $this->_isPendingSofortStatus($order);
165
  return $successful;
166
  }
167
 
@@ -177,6 +287,10 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
177
  return (bool) ($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) && ($order->getStatus() === Securetrading_Stpp_Model_Payment_Abstract::STATUS_PENDING_SOFORT);
178
  }
179
 
 
 
 
 
180
  protected function _canTakeOrderToPpages($order) {
181
  return (bool) $this->_isPendingPpagesStatus($order) || $this->_isPendingSofortStatus($order);
182
  /*
@@ -199,7 +313,7 @@ class Securetrading_Stpp_Model_Payment_Redirect extends Securetrading_Stpp_Model
199
  $order->save(); // Must save before sendNewOrderEmail() since that calls $this->load().
200
  $order->sendNewOrderEmail();
201
  $order->save();
202
- }
203
  $quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($order->getQuoteId());
204
  if ($quote->getIsActive()) {
205
  $quote->setIsActive(false)->save();
21
  protected $_canReviewPayment = true;
22
  protected $_canCreateBillingAgreement = true;
23
  protected $_canManageRecurringProfiles = false;
24
+
25
+ protected $_isMoto = false;
26
+
27
  public function __construct() {
28
  if ($this->getConfigData('use_api')) {
29
  $this->_canCapturePartial = true;
59
 
60
  public function prepareOrderData(Mage_Sales_Model_Order_Payment $payment, array $orderIncrementIds, $sendEmailConfirmation = true) {
61
  $this->log(sprintf('In %s.', __METHOD__));
62
+ $saveCc = Mage::getSingleton('securetrading_stpp/payment_redirect_session')->getSaveCardDetails();
63
+
64
  $data = parent::prepareOrderData($payment, $orderIncrementIds);
65
  $data += array(
66
  'customfield1' => $payment->getOrder()->getStoreId(),
 
 
 
 
 
67
  '_charset_' => Mage::getStoreConfig('design/head/default_charset'),
68
+ 'version' => $this->getConfigData('ppg_version'),
69
+ 'using_new_strs' => '1',
70
+ // Start: These fields still required for merchants who haven't yet disabled their old notifications/redirects (the merchant's custom notification fails straight away but the custom redirect takes precendence over the STR).
71
+ 'order_increment_ids' => serialize($orderIncrementIds),
72
+ 'send_confirmation' => $sendEmailConfirmation,
73
+ 'customer_id' => Mage::getSingleton('customer/session')->getCustomerId(),
74
+ 'savecc' => $saveCc,
75
+ // End
76
+ 'stextraurlnotifyfields' => array(
77
+ 'authcode',
78
+ 'accounttypedescription',
79
+ 'billingprefixname',
80
+ 'billingfirstname',
81
+ 'billinglastname',
82
+ 'billingpremise',
83
+ 'billingstreet',
84
+ 'billingtown',
85
+ 'billingcounty',
86
+ 'billingpostcode',
87
+ 'billingcountryiso2a',
88
+ 'billingtelephone',
89
+ 'billingemail',
90
+ 'currencyiso3a',
91
+ 'customerprefixname',
92
+ 'customerfirstname',
93
+ 'customerlastname',
94
+ 'customerpremise',
95
+ 'customerstreet',
96
+ 'customertown',
97
+ 'customercounty',
98
+ 'customerpostcode',
99
+ 'customercountryiso2a',
100
+ 'customertelephone',
101
+ 'customeremail',
102
+ 'enrolled',
103
+ 'errorcode',
104
+ 'expirydate',
105
+ 'maskedpan',
106
+ 'orderreference',
107
+ 'parenttransactionreference',
108
+ 'paymenttypedescription',
109
+ 'requesttypedescription',
110
+ 'securityresponseaddress',
111
+ 'securityresponsepostcode',
112
+ 'securityresponsesecuritycode',
113
+ 'settlestatus',
114
+ 'status',
115
+ 'transactionreference',
116
+ // custom fields:
117
+ 'errormessage',
118
+ 'order_increment_ids',
119
+ 'send_confirmation',
120
+ 'fraudcontrolshieldstatuscode',
121
+ 'customer_id',
122
+ 'savecc',
123
+ 'using_new_strs',
124
+ ),
125
+ 'stextraurlredirectfields' => array(
126
+ 'using_new_strs',
127
+ 'order_increment_ids',
128
+ 'errorcode',
129
+ 'paymenttypedescription',
130
+ ),
131
+ // End
132
  );
133
+
134
+ if ($this->getConfigData('ppg_version') === '1') {
135
+ $data += array(
136
+ 'parentcss' => $this->getConfigData('parent_css'),
137
+ 'childcss' => $this->getConfigData('child_css'),
138
+ 'parentjs' => $this->getConfigData('parent_js'),
139
+ 'childjs' => $this->getConfigData('child_js'),
140
+ );
141
+ }
142
+ else {
143
+ $stProfile = $this->getConfigData('st_profile');
144
+ $data += array('stprofile' => $stProfile);
145
+ }
146
+
147
+ if ($this->getConfigData('ppg_version') === '2' && $this->getConfigData('skip_choice_page') && $this->getConfigData('show_paymenttype_on_magento')) {
148
+ $data['paymenttypedescription'] = $payment->getCcType();
149
+ }
150
+
151
+ $data['ruleidentifiers'][] = 'STR-6';
152
+
153
+ if ($this->_isMoto) {
154
+ $data['successfulurlredirect'] = Mage::getModel('adminhtml/url')->getUrl('adminhtml/sales_order_create_securetrading/redirect');
155
+ }
156
+ else {
157
+ $data['successfulurlredirect'] = Mage::getModel('core/url')
158
+ ->setStore($payment->getOrder()->getStore())
159
+ ->getUrl('securetrading/redirect/redirect')
160
+ ;
161
+ }
162
+
163
+ /*
164
+ if ($this->getConfigData('enable_declined_redirect')) {
165
+ //TODO - put back in when stpp #3945 fixed.
166
+ $data['ruleidentifiers'][] = 'STR-7';
167
+ $path = Mage::helper('securetrading_stpp')->isMultishippingCheckout() ? 'checkout/multishipping/billing' : 'checkout/cart';
168
+ $data['declinedurlredirect'] = Mage::getModel('core/url')->setStore($payment->getOrder()->getStore())->getUrl($path);
169
+ }
170
+ */
171
+
172
+ $data['ruleidentifiers'][] = 'STR-10';
173
+ //TODO - In the next release remove the 'using_new_strs' logic since this release we will alert merchants to disable their current manual notifs/redirs.
174
+ $data['allurlnotification'] = Mage::getModel('core/url')->getUrl('securetrading/redirect/notification');
175
+
176
+ if ($this->getConfigData('ppg_use_iframe')) {
177
+ $data['stdefaultprofile'] = 'st_iframe_cardonly';
178
+ }
179
+
180
  return $data;
181
  }
182
 
183
  public function assignData($data) {
184
+ $payment = $this->getInfoInstance();
185
+ $payment->setCcType($data->getSecuretradingStppPaymentType());
186
  Mage::getSingleton('securetrading_stpp/payment_redirect_session')->setSaveCardDetails($data->getSecuretradingStppRedirectSaveCc());
187
  return $this;
188
  }
194
  public function capture(Varien_Object $payment, $amount) {
195
  return $this->_captureAuthorized($payment, $amount);
196
  }
197
+
198
  public function prepareData($isMoto = false, array $orderIncrementIds = array(), $sendEmailConfirmation = true) {
199
  $this->log(sprintf('In %s.', __METHOD__));
200
+ $bypassChoicePage = $this->getConfigData('ppg_version') === '2' && $this->getConfigData('skip_choice_page');
201
+ $this->_isMoto = $isMoto;
202
  $data = $this->prepareOrderData($this->getInfoInstance(), $orderIncrementIds, $sendEmailConfirmation);
203
+ $transport = $this->getIntegration()->runPaymentPages($data, $bypassChoicePage, $isMoto);
204
  return $transport;
205
  }
206
 
271
 
272
  public function orderIsSuccessful($orderIncrementId) {
273
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
274
+ $successful = (bool) $this->_isProcessingOrPaymentReviewState($order) || $this->_isPendingSofortStatus($order) || $this->_isVirtualOrderAndComplete($order);
275
  return $successful;
276
  }
277
 
287
  return (bool) ($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) && ($order->getStatus() === Securetrading_Stpp_Model_Payment_Abstract::STATUS_PENDING_SOFORT);
288
  }
289
 
290
+ protected function _isVirtualOrderAndComplete(Mage_Sales_Model_Order $order) {
291
+ return (bool) $order->getIsVirtual() && $order->getState() === Mage_Sales_Model_Order::STATE_COMPLETE;
292
+ }
293
+
294
  protected function _canTakeOrderToPpages($order) {
295
  return (bool) $this->_isPendingPpagesStatus($order) || $this->_isPendingSofortStatus($order);
296
  /*
313
  $order->save(); // Must save before sendNewOrderEmail() since that calls $this->load().
314
  $order->sendNewOrderEmail();
315
  $order->save();
316
+ }
317
  $quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($order->getQuoteId());
318
  if ($quote->getIsActive()) {
319
  $quote->setIsActive(false)->save();
app/code/local/Securetrading/Stpp/Model/Source/Connection.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- class Securetrading_Stpp_Model_Source_Connection {
4
- public function toOptionArray()
5
- {
6
- $connections = Mage::getModel('securetrading_stpp/integration')->getConnections();
7
- $newArray = array();
8
-
9
- foreach($connections as $key => $name) {
10
- $newArray[] = array(
11
- 'value' => $key,
12
- 'label' => $name,
13
- );
14
- }
15
- return $newArray;
16
- }
17
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Securetrading/Stpp/Model/Source/PpgVersion.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Securetrading_Stpp_Model_Source_PpgVersion {
4
+ public function toOptionArray()
5
+ {
6
+ return array(array('value' => '1', 'label' => '1'), array('value' => '2', 'label' => '2'));
7
+ /*
8
+ $settleStatuses = Mage::getModel('securetrading_stpp/integration')->getSettleStatuses();
9
+ unset($settleStatuses['2'], $settleStatuses['3'], $settleStatuses['100']);
10
+
11
+ $newArray = array();
12
+
13
+ foreach($settleStatuses as $settleStatus => $settleStatusString) {
14
+ $newArray[] = array(
15
+ 'value' => $settleStatus,
16
+ 'label' => $settleStatusString,
17
+ );
18
+ }
19
+ return $newArray;
20
+ */
21
+ }
22
+ }
app/code/local/Securetrading/Stpp/controllers/RedirectController.php CHANGED
@@ -2,6 +2,10 @@
2
 
3
  class Securetrading_Stpp_RedirectController extends Mage_Core_Controller_Front_Action {
4
  public function notificationAction() {
 
 
 
 
5
  Mage::getModel('securetrading_stpp/payment_redirect')
6
  ->log(sprintf('In %s.', __METHOD__))
7
  ->runNotification();
@@ -9,10 +13,14 @@ class Securetrading_Stpp_RedirectController extends Mage_Core_Controller_Front_A
9
  }
10
 
11
  public function redirectAction() {
 
 
 
 
12
  Mage::getModel('securetrading_stpp/payment_redirect')
13
  ->log(sprintf('In %s.', __METHOD__))
14
  ->runRedirect();
15
-
16
  if (Mage::getModel('securetrading_stpp/payment_redirect')->ordersAreSuccessful($this->_getOrderIncrementIds())) {
17
  $this->_setBillingAgreementToSession();
18
  Mage::getModel('securetrading_stpp/payment_redirect')->onRedirect($this->_getOrderIncrementIds(), $this->getRequest()->getParam('errorcode'), $this->getRequest()->getParam('paymenttypedescription'));
2
 
3
  class Securetrading_Stpp_RedirectController extends Mage_Core_Controller_Front_Action {
4
  public function notificationAction() {
5
+ if (!$this->getRequest()->getParam('using_new_strs')) {
6
+ throw new Exception('The latest version of the Secure Trading module does not require merchants to set up their notifications and redirects manually through MyST. Please disable all notifications and redirects that you have set up.');
7
+ }
8
+
9
  Mage::getModel('securetrading_stpp/payment_redirect')
10
  ->log(sprintf('In %s.', __METHOD__))
11
  ->runNotification();
13
  }
14
 
15
  public function redirectAction() {
16
+ if (!$this->getRequest()->getParam('using_new_strs')) {
17
+ Mage::getModel('securetrading_stpp/payment_redirect')->log('Non-STR redirect fired.');
18
+ }
19
+
20
  Mage::getModel('securetrading_stpp/payment_redirect')
21
  ->log(sprintf('In %s.', __METHOD__))
22
  ->runRedirect();
23
+
24
  if (Mage::getModel('securetrading_stpp/payment_redirect')->ordersAreSuccessful($this->_getOrderIncrementIds())) {
25
  $this->_setBillingAgreementToSession();
26
  Mage::getModel('securetrading_stpp/payment_redirect')->onRedirect($this->_getOrderIncrementIds(), $this->getRequest()->getParam('errorcode'), $this->getRequest()->getParam('paymenttypedescription'));
app/code/local/Securetrading/Stpp/controllers/Sales/Order/Create/SecuretradingController.php CHANGED
@@ -51,6 +51,10 @@ class Securetrading_Stpp_Sales_Order_Create_SecuretradingController extends Mage
51
  }
52
 
53
  public function redirectAction() {
 
 
 
 
54
  Mage::getModel('securetrading_stpp/payment_redirect')->runRedirect();
55
 
56
  $orderIncrementId = Mage::getSingleton('adminhtml/session_quote')->getLastOrderIncrementId();
@@ -62,7 +66,7 @@ class Securetrading_Stpp_Sales_Order_Create_SecuretradingController extends Mage
62
  Mage::getSingleton('adminhtml/session')->clear();
63
 
64
  if (Mage::getModel('securetrading_stpp/payment_redirect')->orderIsSuccessful($orderIncrementId)) {
65
- Mage::getModel('securetrading_stpp/payment_redirect')->onRedirect(array($orderIncrementId), $this->getRequest()->getParam('errorcode'), $this->getRequest()->getParam('paymenttypedescription'));
66
  Mage::getSingleton('adminhtml/session')->addSuccess($this->__('The order has been created.'));
67
  }
68
  else {
51
  }
52
 
53
  public function redirectAction() {
54
+ if (!$this->getRequest()->getParam('using_new_strs')) {
55
+ Mage::getModel('securetrading_stpp/payment_redirect')->log('Non-STR redirect fired.');
56
+ }
57
+
58
  Mage::getModel('securetrading_stpp/payment_redirect')->runRedirect();
59
 
60
  $orderIncrementId = Mage::getSingleton('adminhtml/session_quote')->getLastOrderIncrementId();
66
  Mage::getSingleton('adminhtml/session')->clear();
67
 
68
  if (Mage::getModel('securetrading_stpp/payment_redirect')->orderIsSuccessful($orderIncrementId)) {
69
+ //Mage::getModel('securetrading_stpp/payment_redirect')->onRedirect(array($orderIncrementId), $this->getRequest()->getParam('errorcode'), $this->getRequest()->getParam('paymenttypedescription'));//onRedirect() only has SOFORT logic currently so should not be required on MOTO redirect.
70
  Mage::getSingleton('adminhtml/session')->addSuccess($this->__('The order has been created.'));
71
  }
72
  else {
app/code/local/Securetrading/Stpp/controllers/Securetrading/PasswordController.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Securetrading_Stpp_Securetrading_PasswordController extends Mage_Adminhtml_Controller_Action {
4
+ protected $_publicActions = array(
5
+ 'generate',
6
+ );
7
+
8
+ public function generateAction() {
9
+ $password = Mage::helper('securetrading_stpp')->generatePassword();
10
+ $this->getResponse()->setBody($password);
11
+ }
12
+ }
13
+
app/code/local/Securetrading/Stpp/etc/config.xml CHANGED
@@ -3,7 +3,7 @@
3
  <config>
4
  <modules>
5
  <Securetrading_Stpp>
6
- <version>3.5.2</version>
7
  </Securetrading_Stpp>
8
  </modules>
9
 
@@ -39,6 +39,8 @@
39
  <securetrading_direct_return>/securetrading/direct/return</securetrading_direct_return>
40
  <securetrading_payment_location>/securetrading/payment/location</securetrading_payment_location>
41
  <securetrading_tokenization>/securetrading/tokenization</securetrading_tokenization>
 
 
42
  </secure_url>
43
  </frontend>
44
 
@@ -200,18 +202,13 @@
200
  <use_iframe>1</use_iframe>
201
  <iframe_width>100%</iframe_width>
202
  <iframe_height>600px</iframe_height>
203
- <stapi_alias backend_model="adminhtml/system_config_backend_encrypted" />
204
- <stapi_host backend_model="adminhtml/system_config_backend_encrypted" />
205
- <stapi_port backend_model="adminhtml/system_config_backend_encrypted" />
206
  <ws_alias backend_model="adminhtml/system_config_backend_encrypted" />
207
  <ws_username backend_model="adminhtml/system_config_backend_encrypted" />
208
  <ws_password backend_model="adminhtml/system_config_backend_encrypted" />
209
  <ws_verify_ca>1</ws_verify_ca>
210
- <transactionsearch_username backend_model="adminhtml/system_config_backend_encrypted" />
211
- <transactionsearch_password backend_model="adminhtml/system_config_backend_encrypted" />
212
- <transactionsearch_verify_ca>1</transactionsearch_verify_ca>
213
  </securetrading_stpp_direct>
214
  <securetrading_stpp_tokenization>
 
215
  <model>securetrading_stpp/payment_tokenization</model>
216
  <use_iframe>1</use_iframe>
217
  <iframe_width>100%</iframe_width>
@@ -221,18 +218,6 @@
221
  <use_account_check>0</use_account_check>
222
  <use_card_store>0</use_card_store>
223
  <max_saved_cc>10</max_saved_cc>
224
- <!--
225
- <stapi_alias backend_model="adminhtml/system_config_backend_encrypted" />
226
- <stapi_host backend_model="adminhtml/system_config_backend_encrypted" />
227
- <stapi_port backend_model="adminhtml/system_config_backend_encrypted" />
228
- <ws_alias backend_model="adminhtml/system_config_backend_encrypted" />
229
- <ws_username backend_model="adminhtml/system_config_backend_encrypted" />
230
- <ws_password backend_model="adminhtml/system_config_backend_encrypted" />
231
- <ws_verify_ca>1</ws_verify_ca>
232
- <transactionsearch_username backend_model="adminhtml/system_config_backend_encrypted" />
233
- <transactionsearch_password backend_model="adminhtml/system_config_backend_encrypted" />
234
- <transactionsearch_verify_ca>1</transactionsearch_verify_ca>
235
- -->
236
  </securetrading_stpp_tokenization>
237
  <securetrading_stpp_redirect>
238
  <title>Secure Trading Redirect</title>
@@ -240,21 +225,21 @@
240
  <site_security_password backend_model="adminhtml/system_config_backend_encrypted" />
241
  <notification_password backend_model="adminhtml/system_config_backend_encrypted" />
242
  <payment_action>authorize_capture</payment_action>
 
243
  <ppg_use_iframe>1</ppg_use_iframe>
244
  <ppg_iframe_width>100%</ppg_iframe_width>
245
  <ppg_iframe_height>600px</ppg_iframe_height>
 
246
  <parent_css>st.magentoiframeparent</parent_css>
247
  <child_js>st.magentoiframechild</child_js>
248
- <stapi_alias backend_model="adminhtml/system_config_backend_encrypted" />
249
- <stapi_host backend_model="adminhtml/system_config_backend_encrypted" />
250
- <stapi_port backend_model="adminhtml/system_config_backend_encrypted" />
 
251
  <ws_alias backend_model="adminhtml/system_config_backend_encrypted" />
252
  <ws_username backend_model="adminhtml/system_config_backend_encrypted" />
253
  <ws_password backend_model="adminhtml/system_config_backend_encrypted" />
254
  <ws_verify_ca>1</ws_verify_ca>
255
- <transactionsearch_username backend_model="adminhtml/system_config_backend_encrypted" />
256
- <transactionsearch_password backend_model="adminhtml/system_config_backend_encrypted" />
257
- <transactionsearch_verify_ca>1</transactionsearch_verify_ca>
258
  </securetrading_stpp_redirect>
259
  </payment>
260
  </default>
3
  <config>
4
  <modules>
5
  <Securetrading_Stpp>
6
+ <version>3.6.0</version>
7
  </Securetrading_Stpp>
8
  </modules>
9
 
39
  <securetrading_direct_return>/securetrading/direct/return</securetrading_direct_return>
40
  <securetrading_payment_location>/securetrading/payment/location</securetrading_payment_location>
41
  <securetrading_tokenization>/securetrading/tokenization</securetrading_tokenization>
42
+ <securetrading_redirect>/securetrading/redirect/redirect</securetrading_redirect>
43
+ <securetrading_notification>/securetrading/redirect/notification</securetrading_notification>
44
  </secure_url>
45
  </frontend>
46
 
202
  <use_iframe>1</use_iframe>
203
  <iframe_width>100%</iframe_width>
204
  <iframe_height>600px</iframe_height>
 
 
 
205
  <ws_alias backend_model="adminhtml/system_config_backend_encrypted" />
206
  <ws_username backend_model="adminhtml/system_config_backend_encrypted" />
207
  <ws_password backend_model="adminhtml/system_config_backend_encrypted" />
208
  <ws_verify_ca>1</ws_verify_ca>
 
 
 
209
  </securetrading_stpp_direct>
210
  <securetrading_stpp_tokenization>
211
+ <title>Secure Trading Tokenization</title>
212
  <model>securetrading_stpp/payment_tokenization</model>
213
  <use_iframe>1</use_iframe>
214
  <iframe_width>100%</iframe_width>
218
  <use_account_check>0</use_account_check>
219
  <use_card_store>0</use_card_store>
220
  <max_saved_cc>10</max_saved_cc>
 
 
 
 
 
 
 
 
 
 
 
 
221
  </securetrading_stpp_tokenization>
222
  <securetrading_stpp_redirect>
223
  <title>Secure Trading Redirect</title>
225
  <site_security_password backend_model="adminhtml/system_config_backend_encrypted" />
226
  <notification_password backend_model="adminhtml/system_config_backend_encrypted" />
227
  <payment_action>authorize_capture</payment_action>
228
+ <accepted_cards backend_model="securetrading_stpp/adminhtml_system_config_backend_multiselect" />
229
  <ppg_use_iframe>1</ppg_use_iframe>
230
  <ppg_iframe_width>100%</ppg_iframe_width>
231
  <ppg_iframe_height>600px</ppg_iframe_height>
232
+ <ppg_version>2</ppg_version>
233
  <parent_css>st.magentoiframeparent</parent_css>
234
  <child_js>st.magentoiframechild</child_js>
235
+ <st_profile>default</st_profile>
236
+ <skip_choice_page>1</skip_choice_page>
237
+ <show_paymenttype_on_magento>0</show_paymenttype_on_magento>
238
+ <save_cc_question>Save your card details?</save_cc_question>
239
  <ws_alias backend_model="adminhtml/system_config_backend_encrypted" />
240
  <ws_username backend_model="adminhtml/system_config_backend_encrypted" />
241
  <ws_password backend_model="adminhtml/system_config_backend_encrypted" />
242
  <ws_verify_ca>1</ws_verify_ca>
 
 
 
243
  </securetrading_stpp_redirect>
244
  </payment>
245
  </default>
app/code/local/Securetrading/Stpp/etc/system.xml CHANGED
@@ -1,1002 +1,982 @@
1
  <?xml version="1.0"?>
2
  <config>
3
- <sections>
4
- <securetrading_stpp translate="label" module="securetrading_stpp">
5
- <label>Secure Trading</label>
6
- <class>securetrading-section</class>
7
- <header_css>securetrading-header</header_css>
8
- <tab>sales</tab>
9
- <frontend_type>text</frontend_type>
10
- <sort_order>101</sort_order>
11
- <show_in_default>1</show_in_default>
12
- <show_in_website>1</show_in_website>
13
- <show_in_store>1</show_in_store>
14
- <groups>
15
- <securetrading_stpp_redirect_config_basic type="group" translate="label comment" module="securetrading_stpp">
16
- <label>Secure Trading Payment Pages - Basic Configuration</label>
17
- <comment>Affects how Magento works with the Payment Pages.</comment>
18
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
19
- <expanded>0</expanded>
20
- <sort_order>0</sort_order>
21
- <show_in_default>1</show_in_default>
22
- <show_in_website>1</show_in_website>
23
- <show_in_store>1</show_in_store>
24
- <fields>
25
- <active>
26
- <config_path>payment/securetrading_stpp_redirect/active</config_path>
27
- <frontend_type>select</frontend_type>
28
- <source_model>adminhtml/system_config_source_yesno</source_model>
29
- <sort_order>0</sort_order>
30
- <show_in_default>1</show_in_default>
31
- <show_in_website>1</show_in_website>
32
- <show_in_store>1</show_in_store>
33
- </active>
34
- <title>
35
- <config_path>payment/securetrading_stpp_redirect/title</config_path>
36
- <frontend_type>text</frontend_type>
37
- <sort_order>1</sort_order>
38
- <show_in_default>1</show_in_default>
39
- <show_in_website>1</show_in_website>
40
- <show_in_store>1</show_in_store>
41
- </title>
42
- <description>
43
- <config_path>payment/securetrading_stpp_redirect/description</config_path>
44
- <frontend_type>textarea</frontend_type>
45
- <sort_order>2</sort_order>
46
- <show_in_default>1</show_in_default>
47
- <show_in_website>1</show_in_website>
48
- <show_in_store>1</show_in_store>
49
- </description>
50
- <allowspecific>
51
- <config_path>payment/securetrading_stpp_redirect/allowspecific</config_path>
52
- <frontend_type>allowspecific</frontend_type>
53
- <sort_order>3</sort_order>
54
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
55
- <show_in_default>1</show_in_default>
56
- <show_in_website>1</show_in_website>
57
- <show_in_store>1</show_in_store>
58
- </allowspecific>
59
- <specificcountry>
60
- <config_path>payment/securetrading_stpp_redirect/specificcountry</config_path>
61
- <frontend_type>multiselect</frontend_type>
62
- <sort_order>4</sort_order>
63
- <source_model>adminhtml/system_config_source_country</source_model>
64
- <show_in_default>1</show_in_default>
65
- <show_in_website>1</show_in_website>
66
- <show_in_store>1</show_in_store>
67
- </specificcountry>
68
- <ppg_use_iframe>
69
- <config_path>payment/securetrading_stpp_redirect/ppg_use_iframe</config_path>
70
- <frontend_type>select</frontend_type>
71
- <source_model>adminhtml/system_config_source_yesno</source_model>
72
- <sort_order>5</sort_order>
73
- <show_in_default>1</show_in_default>
74
- <show_in_website>1</show_in_website>
75
- <show_in_store>1</show_in_store>
76
- </ppg_use_iframe>
77
- <ppg_iframe_height>
78
- <config_path>payment/securetrading_stpp_redirect/ppg_iframe_height</config_path>
79
- <frontend_type>text</frontend_type>
80
- <sort_order>6</sort_order>
81
- <show_in_default>1</show_in_default>
82
- <show_in_website>1</show_in_website>
83
- <show_in_store>1</show_in_store>
84
- </ppg_iframe_height>
85
- <ppg_iframe_width>
86
- <config_path>payment/securetrading_stpp_redirect/ppg_iframe_width</config_path>
87
- <frontend_type>text</frontend_type>
88
- <sort_order>7</sort_order>
89
- <show_in_default>1</show_in_default>
90
- <show_in_website>1</show_in_website>
91
- <show_in_store>1</show_in_store>
92
- </ppg_iframe_width>
93
- <ppg_cancel_60107>
94
- <label>Cancel Order on 60107 Error Code</label>
95
- <tooltip>Applicable only if your Secure Trading account has RISKDEC requests enabled and the MyST Rule Manager has been updated to 'Update transaction to Stop Child AUTH ... if a generic request matches RISKDEC DENY'. If you select 'Yes' you must also enable the 'Magento ECOM 60107' and 'Magento MOTO 60107 redirects' in the 'Payment pages redirects' section of MyST (see the readme for more information). Selecting 'Yes' will cause AUTH/THREEDQUERY requests that return RISKDEC's DENY shieldstatuscode to be automatically updated to the 'Canceled' order state by putting them into payment review and denying the payment. The customer will be redirected back to Magento. If you select 'No' the order state will not change and the customer will remain on the Payment Pages.</tooltip>
96
- <config_path>payment/securetrading_stpp_redirect/ppg_cancel_60107</config_path>
97
- <frontend_type>select</frontend_type>
98
- <source_model>adminhtml/system_config_source_yesno</source_model>
99
- <sort_order>8</sort_order>
100
- <show_in_default>1</show_in_default>
101
- <show_in_website>1</show_in_website>
102
- <show_in_store>1</show_in_store>
103
- </ppg_cancel_60107>
104
- </fields>
105
- </securetrading_stpp_redirect_config_basic>
106
-
107
- <securetrading_stpp_redirect_config_gateway type="group" translate="label comment" module="securetrading_stpp">
108
- <label>Secure Trading Payment Pages - Gateway Configuration</label>
109
- <comment>Affect how requests to and responses from the Secure Trading gateway are processed.</comment>
110
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
111
- <expanded>0</expanded>
112
- <sort_order>1</sort_order>
113
- <show_in_default>1</show_in_default>
114
- <show_in_website>1</show_in_website>
115
- <show_in_store>1</show_in_store>
116
- <fields>
117
- <site_reference>
118
- <config_path>payment/securetrading_stpp_redirect/site_reference</config_path>
119
- <frontend_type>text</frontend_type>
120
- <sort_order>0</sort_order>
121
- <show_in_default>1</show_in_default>
122
- <show_in_website>1</show_in_website>
123
- <show_in_store>1</show_in_store>
124
- </site_reference>
125
- <use_site_security>
126
- <config_path>payment/securetrading_stpp_redirect/use_site_security</config_path>
127
- <frontend_type>select</frontend_type>
128
- <source_model>adminhtml/system_config_source_yesno</source_model>
129
- <sort_order>1</sort_order>
130
- <show_in_default>1</show_in_default>
131
- <show_in_website>1</show_in_website>
132
- <show_in_store>1</show_in_store>
133
- </use_site_security>
134
- <site_security_password>
135
- <config_path>payment/securetrading_stpp_redirect/site_security_password</config_path>
136
- <frontend_type>text</frontend_type>
137
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
138
- <sort_order>2</sort_order>
139
- <show_in_default>1</show_in_default>
140
- <show_in_website>1</show_in_website>
141
- <show_in_store>1</show_in_store>
142
- </site_security_password>
143
- <use_notification_password>
144
- <config_path>payment/securetrading_stpp_redirect/use_notification_password</config_path>
145
- <frontend_type>select</frontend_type>
146
- <source_model>adminhtml/system_config_source_yesno</source_model>
147
- <sort_order>3</sort_order>
148
- <show_in_default>1</show_in_default>
149
- <show_in_website>1</show_in_website>
150
- <show_in_store>1</show_in_store>
151
- </use_notification_password>
152
- <notification_password>
153
- <config_path>payment/securetrading_stpp_redirect/notification_password</config_path>
154
- <frontend_type>text</frontend_type>
155
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
156
- <sort_order>4</sort_order>
157
- <show_in_default>1</show_in_default>
158
- <show_in_website>1</show_in_website>
159
- <show_in_store>1</show_in_store>
160
- </notification_password>
161
- <parent_css>
162
- <config_path>payment/securetrading_stpp_redirect/parent_css</config_path>
163
- <frontend_type>text</frontend_type>
164
- <sort_order>5</sort_order>
165
- <show_in_default>1</show_in_default>
166
- <show_in_website>1</show_in_website>
167
- <show_in_store>1</show_in_store>
168
- </parent_css>
169
- <child_css>
170
- <config_path>payment/securetrading_stpp_redirect/child_css</config_path>
171
- <frontend_type>text</frontend_type>
172
- <sort_order>6</sort_order>
173
- <show_in_default>1</show_in_default>
174
- <show_in_website>1</show_in_website>
175
- <show_in_store>1</show_in_store>
176
- </child_css>
177
- <parent_js>
178
- <config_path>payment/securetrading_stpp_redirect/parent_js</config_path>
179
- <frontend_type>text</frontend_type>
180
- <sort_order>7</sort_order>
181
- <show_in_default>1</show_in_default>
182
- <show_in_website>1</show_in_website>
183
- <show_in_store>1</show_in_store>
184
- </parent_js>
185
- <child_js>
186
- <config_path>payment/securetrading_stpp_redirect/child_js</config_path>
187
- <frontend_type>text</frontend_type>
188
- <sort_order>8</sort_order>
189
- <show_in_default>1</show_in_default>
190
- <show_in_website>1</show_in_website>
191
- <show_in_store>1</show_in_store>
192
- </child_js>
193
- <!--
194
- <sub_site_reference>
195
- <config_path>payment/securetrading_stpp_redirect/sub_site_reference</config_path>
196
- <frontend_type>text</frontend_type>
197
- <sort_order>9</sort_order>
198
- <show_in_default>1</show_in_default>
199
- <show_in_website>1</show_in_website>
200
- <show_in_store>1</show_in_store>
201
- </sub_site_reference>
202
- -->
203
- <use_tokenization>
204
- <config_path>payment/securetrading_stpp_redirect/use_tokenization</config_path>
205
- <frontend_type>select</frontend_type>
206
- <source_model>adminhtml/system_config_source_yesno</source_model>
207
- <sort_order>10</sort_order>
208
- <show_in_default>1</show_in_default>
209
- <show_in_website>1</show_in_website>
210
- <show_in_store>1</show_in_store>
211
- <comment>If you enable this feature you must also configure the Secure Trading Tokenization module.</comment>
212
- </use_tokenization>
213
- <save_cc_question>
214
- <config_path>payment/securetrading_stpp_redirect/save_cc_question</config_path>
215
- <frontend_type>textarea</frontend_type>
216
- <sort_order>11</sort_order>
217
- <show_in_default>1</show_in_default>
218
- <show_in_website>1</show_in_website>
219
- <show_in_store>1</show_in_store>
220
- </save_cc_question>
221
- <use_api>
222
- <config_path>payment/securetrading_stpp_redirect/use_api</config_path>
223
- <frontend_type>select</frontend_type>
224
- <source_model>adminhtml/system_config_source_yesno</source_model>
225
- <sort_order>12</sort_order>
226
- <show_in_default>1</show_in_default>
227
- <show_in_website>1</show_in_website>
228
- <show_in_store>1</show_in_store>
229
- </use_api>
230
- <payment_action>
231
- <config_path>payment/securetrading_stpp_redirect/payment_action</config_path>
232
- <frontend_type>select</frontend_type>
233
- <source_model>securetrading_stpp/source_paymentaction</source_model>
234
- <sort_order>13</sort_order>
235
- <show_in_default>1</show_in_default>
236
- <show_in_website>1</show_in_website>
237
- <show_in_store>1</show_in_store>
238
- </payment_action>
239
- <settle_due_date>
240
- <config_path>payment/securetrading_stpp_redirect/settle_due_date</config_path>
241
- <frontend_type>select</frontend_type>
242
- <source_model>securetrading_stpp/source_settleduedate</source_model>
243
- <sort_order>14</sort_order>
244
- <show_in_default>1</show_in_default>
245
- <show_in_website>1</show_in_website>
246
- <show_in_store>1</show_in_store>
247
- </settle_due_date>
248
- <settle_status>
249
- <config_path>payment/securetrading_stpp_redirect/settle_status</config_path>
250
- <frontend_type>select</frontend_type>
251
- <source_model>securetrading_stpp/source_settlestatus</source_model>
252
- <sort_order>15</sort_order>
253
- <show_in_default>1</show_in_default>
254
- <show_in_website>1</show_in_website>
255
- <show_in_store>1</show_in_store>
256
- </settle_status>
257
- </fields>
258
- </securetrading_stpp_redirect_config_gateway>
259
- <securetrading_stpp_redirect_config_connections>
260
- <label>Secure Trading Payment Pages - Connection Configuration</label>
261
- <comment>Aggregates the configuration for all connection methods provided by this module.</comment>
262
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
263
- <expanded>0</expanded>
264
- <sort_order>2</sort_order>
265
- <show_in_default>1</show_in_default>
266
- <show_in_website>1</show_in_website>
267
- <show_in_store>1</show_in_store>
268
- <fields>
269
- <connection>
270
- <config_path>payment/securetrading_stpp_redirect/connection</config_path>
271
- <frontend_type>select</frontend_type>
272
- <source_model>securetrading_stpp/source_connection</source_model>
273
- <sort_order>0</sort_order>
274
- <show_in_default>1</show_in_default>
275
- <show_in_website>1</show_in_website>
276
- <show_in_store>1</show_in_store>
277
- </connection>
278
- </fields>
279
- </securetrading_stpp_redirect_config_connections>
280
- <securetrading_stpp_redirect_stapi_group type="group" translate="label comment">
281
- <label>Connection Configuration - ST API Settings</label>
282
- <comment>Contains ST API connection configuration.</comment>
283
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
284
- <show_in_default>1</show_in_default>
285
- <show_in_website>1</show_in_website>
286
- <show_in_store>1</show_in_store>
287
- <sort_order>3</sort_order>
288
- <fields>
289
- <stapi_alias>
290
- <config_path>payment/securetrading_stpp_redirect/stapi_alias</config_path>
291
- <frontend_type>text</frontend_type>
292
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
293
- <sort_order>0</sort_order>
294
- <show_in_default>1</show_in_default>
295
- <show_in_website>1</show_in_website>
296
- <show_in_store>1</show_in_store>
297
- </stapi_alias>
298
- <stapi_host>
299
- <config_path>payment/securetrading_stpp_redirect/stapi_host</config_path>
300
- <frontend_type>text</frontend_type>
301
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
302
- <sort_order>1</sort_order>
303
- <show_in_default>1</show_in_default>
304
- <show_in_website>1</show_in_website>
305
- <show_in_store>1</show_in_store>
306
- </stapi_host>
307
- <stapi_port>
308
- <config_path>payment/securetrading_stpp_redirect/stapi_port</config_path>
309
- <frontend_type>text</frontend_type>
310
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
311
- <sort_order>2</sort_order>
312
- <show_in_default>1</show_in_default>
313
- <show_in_website>1</show_in_website>
314
- <show_in_store>1</show_in_store>
315
- </stapi_port>
316
- </fields>
317
- </securetrading_stpp_redirect_stapi_group>
318
- <securetrading_stpp_redirect_webservices_group type="group" translate="label comment">
319
- <label>Connection Configuration - Web Services Connections</label>
320
- <comment>Contains Web Services connection configuration.</comment>
321
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
322
- <show_in_default>1</show_in_default>
323
- <show_in_website>1</show_in_website>
324
- <show_in_store>1</show_in_store>
325
- <sort_order>4</sort_order>
326
- <fields>
327
- <ws_alias>
328
- <config_path>payment/securetrading_stpp_redirect/ws_alias</config_path>
329
- <frontend_type>text</frontend_type>
330
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
331
- <sort_order>0</sort_order>
332
- <show_in_default>1</show_in_default>
333
- <show_in_website>1</show_in_website>
334
- <show_in_store>1</show_in_store>
335
- </ws_alias>
336
- <ws_username>
337
- <config_path>payment/securetrading_stpp_redirect/ws_username</config_path>
338
- <frontend_type>text</frontend_type>
339
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
340
- <sort_order>1</sort_order>
341
- <show_in_default>1</show_in_default>
342
- <show_in_website>1</show_in_website>
343
- <show_in_store>1</show_in_store>
344
- </ws_username>
345
- <ws_password>
346
- <config_path>payment/securetrading_stpp_redirect/ws_password</config_path>
347
- <frontend_type>text</frontend_type>
348
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
349
- <sort_order>2</sort_order>
350
- <show_in_default>1</show_in_default>
351
- <show_in_website>1</show_in_website>
352
- <show_in_store>1</show_in_store>
353
- </ws_password>
354
- <ws_verify_ca>
355
- <config_path>payment/securetrading_stpp_redirect/ws_verify_ca</config_path>
356
- <frontend_type>select</frontend_type>
357
- <source_model>adminhtml/system_config_source_yesno</source_model>
358
- <sort_order>3</sort_order>
359
- <show_in_default>1</show_in_default>
360
- <show_in_website>1</show_in_website>
361
- <show_in_store>1</show_in_store>
362
- </ws_verify_ca>
363
- <ws_ca_file>
364
- <config_path>payment/securetrading_stpp_redirect/ws_ca_file</config_path>
365
- <frontend_type>text</frontend_type>
366
- <sort_order>4</sort_order>
367
- <show_in_default>1</show_in_default>
368
- <show_in_website>1</show_in_website>
369
- <show_in_store>1</show_in_store>
370
- </ws_ca_file>
371
- </fields>
372
- </securetrading_stpp_redirect_webservices_group>
373
- <securetrading_stpp_redirect_transactionsearch type="group" translate="label comment">
374
- <label>Secure Trading Payment Pages - Transaction Search Configuration</label>
375
- <comment>Configure the way in which CSV files are downloaded from MyST by our payment modules.</comment>
376
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
377
- <show_in_default>1</show_in_default>
378
- <show_in_website>1</show_in_website>
379
- <show_in_store>1</show_in_store>
380
- <sort_order>5</sort_order>
381
- <fields>
382
- <transactionsearch_username>
383
- <config_path>payment/securetrading_stpp_redirect/transactionsearch_username</config_path>
384
- <frontend_type>text</frontend_type>
385
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
386
- <sort_order>0</sort_order>
387
- <show_in_default>1</show_in_default>
388
- <show_in_website>1</show_in_website>
389
- <show_in_store>1</show_in_store>
390
- </transactionsearch_username>
391
- <transactionsearch_password>
392
- <config_path>payment/securetrading_stpp_redirect/transactionsearch_password</config_path>
393
- <frontend_type>text</frontend_type>
394
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
395
- <sort_order>1</sort_order>
396
- <show_in_default>1</show_in_default>
397
- <show_in_website>1</show_in_website>
398
- <show_in_store>1</show_in_store>
399
- </transactionsearch_password>
400
- <transactionsearch_verify_ca>
401
- <config_path>payment/securetrading_stpp_redirect/transactionsearch_verify_ca</config_path>
402
- <frontend_type>select</frontend_type>
403
- <source_model>adminhtml/system_config_source_yesno</source_model>
404
- <sort_order>2</sort_order>
405
- <show_in_default>1</show_in_default>
406
- <show_in_website>1</show_in_website>
407
- <show_in_store>1</show_in_store>
408
- </transactionsearch_verify_ca>
409
- <transactionsearch_ca_file>
410
- <config_path>payment/securetrading_stpp_redirect/transactionsearch_ca_file</config_path>
411
- <frontend_type>text</frontend_type>
412
- <sort_order>3</sort_order>
413
- <show_in_default>1</show_in_default>
414
- <show_in_website>1</show_in_website>
415
- <show_in_store>1</show_in_store>
416
- </transactionsearch_ca_file>
417
- </fields>
418
- </securetrading_stpp_redirect_transactionsearch>
419
-
420
- <securetrading_stpp_direct_config_basic type="group" translate="label comment" module="securetrading_stpp">
421
- <label>Secure Trading API - Basic Configuration</label>
422
- <comment>Affects how Magento works with the API.</comment>
423
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
424
- <expanded>0</expanded>
425
- <sort_order>6</sort_order>
426
- <show_in_default>1</show_in_default>
427
- <show_in_website>1</show_in_website>
428
- <show_in_store>1</show_in_store>
429
- <fields>
430
- <active>
431
- <config_path>payment/securetrading_stpp_direct/active</config_path>
432
- <frontend_type>select</frontend_type>
433
- <source_model>adminhtml/system_config_source_yesno</source_model>
434
- <sort_order>0</sort_order>
435
- <show_in_default>1</show_in_default>
436
- <show_in_website>1</show_in_website>
437
- <show_in_store>1</show_in_store>
438
- </active>
439
- <title>
440
- <config_path>payment/securetrading_stpp_direct/title</config_path>
441
- <frontend_type>text</frontend_type>
442
- <sort_order>1</sort_order>
443
- <show_in_default>1</show_in_default>
444
- <show_in_website>1</show_in_website>
445
- <show_in_store>1</show_in_store>
446
- </title>
447
- <description>
448
- <config_path>payment/securetrading_stpp_direct/description</config_path>
449
- <frontend_type>textarea</frontend_type>
450
- <sort_order>2</sort_order>
451
- <show_in_default>1</show_in_default>
452
- <show_in_website>1</show_in_website>
453
- <show_in_store>1</show_in_store>
454
- </description>
455
- <allowspecific>
456
- <config_path>payment/securetrading_stpp_direct/allowspecific</config_path>
457
- <frontend_type>allowspecific</frontend_type>
458
- <sort_order>3</sort_order>
459
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
460
- <show_in_default>1</show_in_default>
461
- <show_in_website>1</show_in_website>
462
- <show_in_store>1</show_in_store>
463
- </allowspecific>
464
- <specificcountry>
465
- <config_path>payment/securetrading_stpp_direct/specificcountry</config_path>
466
- <frontend_type>multiselect</frontend_type>
467
- <sort_order>4</sort_order>
468
- <source_model>adminhtml/system_config_source_country</source_model>
469
- <show_in_default>1</show_in_default>
470
- <show_in_website>1</show_in_website>
471
- <show_in_store>1</show_in_store>
472
- </specificcountry>
473
- <use_iframe>
474
- <config_path>payment/securetrading_stpp_direct/use_iframe</config_path>
475
- <frontend_type>select</frontend_type>
476
- <source_model>adminhtml/system_config_source_yesno</source_model>
477
- <sort_order>5</sort_order>
478
- <show_in_default>1</show_in_default>
479
- <show_in_website>1</show_in_website>
480
- <show_in_store>1</show_in_store>
481
- </use_iframe>
482
- <iframe_height>
483
- <config_path>payment/securetrading_stpp_direct/iframe_height</config_path>
484
- <frontend_type>text</frontend_type>
485
- <sort_order>6</sort_order>
486
- <show_in_default>1</show_in_default>
487
- <show_in_website>1</show_in_website>
488
- <show_in_store>1</show_in_store>
489
- </iframe_height>
490
- <iframe_width>
491
- <config_path>payment/securetrading_stpp_direct/iframe_width</config_path>
492
- <frontend_type>text</frontend_type>
493
- <sort_order>7</sort_order>
494
- <show_in_default>1</show_in_default>
495
- <show_in_website>1</show_in_website>
496
- <show_in_store>1</show_in_store>
497
- </iframe_width>
498
- </fields>
499
- </securetrading_stpp_direct_config_basic>
500
-
501
- <securetrading_stpp_direct_config_gateway type="group" translate="label comment" module="securetrading_stpp">
502
- <label>Secure Trading API - Gateway Configuration</label>
503
- <comment>Affect how requests to and responses from the Secure Trading gateway are processed.</comment>
504
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
505
- <expanded>0</expanded>
506
- <sort_order>7</sort_order>
507
- <show_in_default>1</show_in_default>
508
- <show_in_website>1</show_in_website>
509
- <show_in_store>1</show_in_store>
510
- <fields>
511
- <site_reference>
512
- <config_path>payment/securetrading_stpp_direct/site_reference</config_path>
513
- <frontend_type>text</frontend_type>
514
- <sort_order>0</sort_order>
515
- <show_in_default>1</show_in_default>
516
- <show_in_website>1</show_in_website>
517
- <show_in_store>1</show_in_store>
518
- </site_reference>
519
- <use_3d_secure>
520
- <config_path>payment/securetrading_stpp_direct/use_3d_secure</config_path>
521
- <frontend_type>select</frontend_type>
522
- <source_model>adminhtml/system_config_source_yesno</source_model>
523
- <sort_order>1</sort_order>
524
- <show_in_default>1</show_in_default>
525
- <show_in_website>1</show_in_website>
526
- <show_in_store>1</show_in_store>
527
- </use_3d_secure>
528
- <use_risk_decision>
529
- <config_path>payment/securetrading_stpp_direct/use_risk_decision</config_path>
530
- <frontend_type>select</frontend_type>
531
- <source_model>adminhtml/system_config_source_yesno</source_model>
532
- <sort_order>2</sort_order>
533
- <show_in_default>1</show_in_default>
534
- <show_in_website>1</show_in_website>
535
- <show_in_store>1</show_in_store>
536
- </use_risk_decision>
537
- <use_account_check>
538
- <config_path>payment/securetrading_stpp_direct/use_account_check</config_path>
539
- <frontend_type>select</frontend_type>
540
- <source_model>adminhtml/system_config_source_yesno</source_model>
541
- <sort_order>3</sort_order>
542
- <show_in_default>1</show_in_default>
543
- <show_in_website>1</show_in_website>
544
- <show_in_store>1</show_in_store>
545
- </use_account_check>
546
- <use_card_store>
547
- <config_path>payment/securetrading_stpp_direct/use_card_store</config_path>
548
- <frontend_type>select</frontend_type>
549
- <source_model>adminhtml/system_config_source_yesno</source_model>
550
- <sort_order>4</sort_order>
551
- <show_in_default>1</show_in_default>
552
- <show_in_website>1</show_in_website>
553
- <show_in_store>1</show_in_store>
554
- <comment>If you enable this feature you must also configure the Secure Trading Tokenization module.</comment>
555
- </use_card_store>
556
- <save_cc_question>
557
- <config_path>payment/securetrading_stpp_direct/save_cc_question</config_path>
558
- <frontend_type>textarea</frontend_type>
559
- <sort_order>5</sort_order>
560
- <show_in_default>1</show_in_default>
561
- <show_in_website>1</show_in_website>
562
- <show_in_store>1</show_in_store>
563
- </save_cc_question>
564
- <accepted_cards>
565
- <config_path>payment/securetrading_stpp_direct/accepted_cards</config_path>
566
- <frontend_type>multiselect</frontend_type>
567
- <backend_model>securetrading_stpp/adminhtml_system_config_backend_multiselect</backend_model>
568
- <source_model>securetrading_stpp/source_cardtypes</source_model>
569
- <sort_order>6</sort_order>
570
- <show_in_default>1</show_in_default>
571
- <show_in_website>1</show_in_website>
572
- <show_in_store>1</show_in_store>
573
- </accepted_cards>
574
- <payment_action>
575
- <config_path>payment/securetrading_stpp_direct/payment_action</config_path>
576
- <frontend_type>select</frontend_type>
577
- <source_model>securetrading_stpp/source_paymentaction</source_model>
578
- <sort_order>7</sort_order>
579
- <show_in_default>1</show_in_default>
580
- <show_in_website>1</show_in_website>
581
- <show_in_store>1</show_in_store>
582
- </payment_action>
583
- <settle_due_date>
584
- <config_path>payment/securetrading_stpp_direct/settle_due_date</config_path>
585
- <frontend_type>select</frontend_type>
586
- <source_model>securetrading_stpp/source_settleduedate</source_model>
587
- <sort_order>8</sort_order>
588
- <show_in_default>1</show_in_default>
589
- <show_in_website>1</show_in_website>
590
- <show_in_store>1</show_in_store>
591
- </settle_due_date>
592
- <settle_status>
593
- <config_path>payment/securetrading_stpp_direct/settle_status</config_path>
594
- <frontend_type>select</frontend_type>
595
- <source_model>securetrading_stpp/source_settlestatus</source_model>
596
- <sort_order>9</sort_order>
597
- <show_in_default>1</show_in_default>
598
- <show_in_website>1</show_in_website>
599
- <show_in_store>1</show_in_store>
600
- </settle_status>
601
- <show_start_date>
602
- <config_path>payment/securetrading_stpp_direct/show_start_date</config_path>
603
- <frontend_type>select</frontend_type>
604
- <source_model>adminhtml/system_config_source_yesno</source_model>
605
- <sort_order>10</sort_order>
606
- <show_in_default>1</show_in_default>
607
- <show_in_website>1</show_in_website>
608
- <show_in_store>1</show_in_store>
609
- </show_start_date>
610
- <show_issue_number>
611
- <config_path>payment/securetrading_stpp_direct/show_issue_number</config_path>
612
- <frontend_type>select</frontend_type>
613
- <source_model>adminhtml/system_config_source_yesno</source_model>
614
- <sort_order>11</sort_order>
615
- <show_in_default>1</show_in_default>
616
- <show_in_website>1</show_in_website>
617
- <show_in_store>1</show_in_store>
618
- </show_issue_number>
619
- <allow_billing_agreement_wizard>
620
- <config_path>payment/securetrading_stpp_direct/allow_billing_agreement_wizard</config_path>
621
- <frontend_type>select</frontend_type>
622
- <source_model>adminhtml/system_config_source_yesno</source_model>
623
- <sort_order>12</sort_order>
624
- <show_in_default>1</show_in_default>
625
- <show_in_website>1</show_in_website>
626
- <show_in_store>1</show_in_store>
627
- </allow_billing_agreement_wizard>
628
- </fields>
629
- </securetrading_stpp_direct_config_gateway>
630
- <securetrading_stpp_direct_config_connections>
631
- <label>Secure Trading API - Connection Configuration</label>
632
- <comment>Aggregates the configuration for all connection methods provided by this module.</comment>
633
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
634
- <expanded>0</expanded>
635
- <sort_order>8</sort_order>
636
- <show_in_default>1</show_in_default>
637
- <show_in_website>1</show_in_website>
638
- <show_in_store>1</show_in_store>
639
- <fields>
640
- <connection>
641
- <config_path>payment/securetrading_stpp_direct/connection</config_path>
642
- <frontend_type>select</frontend_type>
643
- <source_model>securetrading_stpp/source_connection</source_model>
644
- <sort_order>0</sort_order>
645
- <show_in_default>1</show_in_default>
646
- <show_in_website>1</show_in_website>
647
- <show_in_store>1</show_in_store>
648
- </connection>
649
- </fields>
650
- </securetrading_stpp_direct_config_connections>
651
- <securetrading_stpp_direct_stapi_group type="group" translate="label comment">
652
- <label>Secure Trading API - Connection Configuration - ST API Settings</label>
653
- <comment>Contains ST API connection configuration.</comment>
654
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
655
- <show_in_default>1</show_in_default>
656
- <show_in_website>1</show_in_website>
657
- <show_in_store>1</show_in_store>
658
- <sort_order>9</sort_order>
659
- <fields>
660
- <stapi_alias>
661
- <config_path>payment/securetrading_stpp_direct/stapi_alias</config_path>
662
- <frontend_type>text</frontend_type>
663
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
664
- <sort_order>0</sort_order>
665
- <show_in_default>1</show_in_default>
666
- <show_in_website>1</show_in_website>
667
- <show_in_store>1</show_in_store>
668
- </stapi_alias>
669
- <stapi_host>
670
- <config_path>payment/securetrading_stpp_direct/stapi_host</config_path>
671
- <frontend_type>text</frontend_type>
672
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
673
- <sort_order>1</sort_order>
674
- <show_in_default>1</show_in_default>
675
- <show_in_website>1</show_in_website>
676
- <show_in_store>1</show_in_store>
677
- </stapi_host>
678
- <stapi_port>
679
- <config_path>payment/securetrading_stpp_direct/stapi_port</config_path>
680
- <frontend_type>text</frontend_type>
681
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
682
- <sort_order>2</sort_order>
683
- <show_in_default>1</show_in_default>
684
- <show_in_website>1</show_in_website>
685
- <show_in_store>1</show_in_store>
686
- </stapi_port>
687
- </fields>
688
- </securetrading_stpp_direct_stapi_group>
689
- <securetrading_stpp_direct_webservices_group type="group" translate="label comment">
690
- <label>Secure Trading API - Connection Configuration - Web Services Connections</label>
691
- <comment>Contains Web Services connection configuration.</comment>
692
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
693
- <show_in_default>1</show_in_default>
694
- <show_in_website>1</show_in_website>
695
- <show_in_store>1</show_in_store>
696
- <sort_order>10</sort_order>
697
- <fields>
698
- <ws_alias>
699
- <config_path>payment/securetrading_stpp_direct/ws_alias</config_path>
700
- <frontend_type>text</frontend_type>
701
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
702
- <sort_order>0</sort_order>
703
- <show_in_default>1</show_in_default>
704
- <show_in_website>1</show_in_website>
705
- <show_in_store>1</show_in_store>
706
- </ws_alias>
707
- <ws_username>
708
- <config_path>payment/securetrading_stpp_direct/ws_username</config_path>
709
- <frontend_type>text</frontend_type>
710
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
711
- <sort_order>1</sort_order>
712
- <show_in_default>1</show_in_default>
713
- <show_in_website>1</show_in_website>
714
- <show_in_store>1</show_in_store>
715
- </ws_username>
716
- <ws_password>
717
- <config_path>payment/securetrading_stpp_direct/ws_password</config_path>
718
- <frontend_type>text</frontend_type>
719
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
720
- <sort_order>2</sort_order>
721
- <show_in_default>1</show_in_default>
722
- <show_in_website>1</show_in_website>
723
- <show_in_store>1</show_in_store>
724
- </ws_password>
725
- <ws_verify_ca>
726
- <config_path>payment/securetrading_stpp_direct/ws_verify_ca</config_path>
727
- <frontend_type>select</frontend_type>
728
- <source_model>adminhtml/system_config_source_yesno</source_model>
729
- <sort_order>3</sort_order>
730
- <show_in_default>1</show_in_default>
731
- <show_in_website>1</show_in_website>
732
- <show_in_store>1</show_in_store>
733
- </ws_verify_ca>
734
- <ws_ca_file>
735
- <config_path>payment/securetrading_stpp_direct/ws_ca_file</config_path>
736
- <frontend_type>text</frontend_type>
737
- <sort_order>4</sort_order>
738
- <show_in_default>1</show_in_default>
739
- <show_in_website>1</show_in_website>
740
- <show_in_store>1</show_in_store>
741
- </ws_ca_file>
742
- </fields>
743
- </securetrading_stpp_direct_webservices_group>
744
- <securetrading_stpp_direct_transactionsearch type="group" translate="label comment">
745
- <label>Secure Trading API - Transaction Search Configuration</label>
746
- <comment>Configure the way in which CSV files are downloaded from MyST by our payment modules.</comment>
747
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
748
- <show_in_default>1</show_in_default>
749
- <show_in_website>1</show_in_website>
750
- <show_in_store>1</show_in_store>
751
- <sort_order>11</sort_order>
752
- <fields>
753
- <transactionsearch_username>
754
- <config_path>payment/securetrading_stpp_direct/transactionsearch_username</config_path>
755
- <frontend_type>text</frontend_type>
756
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
757
- <sort_order>0</sort_order>
758
- <show_in_default>1</show_in_default>
759
- <show_in_website>1</show_in_website>
760
- <show_in_store>1</show_in_store>
761
- </transactionsearch_username>
762
- <transactionsearch_password>
763
- <config_path>payment/securetrading_stpp_direct/transactionsearch_password</config_path>
764
- <frontend_type>text</frontend_type>
765
- <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
766
- <sort_order>1</sort_order>
767
- <show_in_default>1</show_in_default>
768
- <show_in_website>1</show_in_website>
769
- <show_in_store>1</show_in_store>
770
- </transactionsearch_password>
771
- <transactionsearch_verify_ca>
772
- <config_path>payment/securetrading_stpp_direct/transactionsearch_verify_ca</config_path>
773
- <frontend_type>select</frontend_type>
774
- <source_model>adminhtml/system_config_source_yesno</source_model>
775
- <sort_order>2</sort_order>
776
- <show_in_default>1</show_in_default>
777
- <show_in_website>1</show_in_website>
778
- <show_in_store>1</show_in_store>
779
- </transactionsearch_verify_ca>
780
- <transactionsearch_ca_file>
781
- <config_path>payment/securetrading_stpp_direct/transactionsearch_ca_file</config_path>
782
- <frontend_type>text</frontend_type>
783
- <sort_order>3</sort_order>
784
- <show_in_default>1</show_in_default>
785
- <show_in_website>1</show_in_website>
786
- <show_in_store>1</show_in_store>
787
- </transactionsearch_ca_file>
788
- </fields>
789
- </securetrading_stpp_direct_transactionsearch>
790
- <securetrading_stpp_tokenization>
791
- <fields>
792
- <active>
793
- <config_path>payment/securetrading_stpp_tokenization/active</config_path>
794
- <frontend_type>select</frontend_type>
795
- <source_model>adminhtml/system_config_source_yesno</source_model>
796
- <sort_order>0</sort_order>
797
- <show_in_default>1</show_in_default>
798
- <show_in_website>1</show_in_website>
799
- <show_in_store>1</show_in_store>
800
- </active>
801
- <title>
802
- <config_path>payment/securetrading_stpp_tokenization/title</config_path>
803
- <frontend_type>text</frontend_type>
804
- <sort_order>1</sort_order>
805
- <show_in_default>1</show_in_default>
806
- <show_in_website>1</show_in_website>
807
- <show_in_store>1</show_in_store>
808
- </title>
809
- <description>
810
- <config_path>payment/securetrading_stpp_tokenization/description</config_path>
811
- <frontend_type>textarea</frontend_type>
812
- <sort_order>2</sort_order>
813
- <show_in_default>1</show_in_default>
814
- <show_in_website>1</show_in_website>
815
- <show_in_store>1</show_in_store>
816
- </description>
817
- <allowspecific>
818
- <config_path>payment/securetrading_stpp_tokenization/allowspecific</config_path>
819
- <frontend_type>allowspecific</frontend_type>
820
- <sort_order>3</sort_order>
821
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
822
- <show_in_default>1</show_in_default>
823
- <show_in_website>1</show_in_website>
824
- <show_in_store>1</show_in_store>
825
- </allowspecific>
826
- <specificcountry>
827
- <config_path>payment/securetrading_stpp_tokenization/specificcountry</config_path>
828
- <frontend_type>multiselect</frontend_type>
829
- <sort_order>4</sort_order>
830
- <source_model>adminhtml/system_config_source_country</source_model>
831
- <show_in_default>1</show_in_default>
832
- <show_in_website>1</show_in_website>
833
- <show_in_store>1</show_in_store>
834
- </specificcountry>
835
- <use_iframe>
836
- <config_path>payment/securetrading_stpp_tokenization/use_iframe</config_path>
837
- <frontend_type>select</frontend_type>
838
- <source_model>adminhtml/system_config_source_yesno</source_model>
839
- <sort_order>5</sort_order>
840
- <show_in_default>1</show_in_default>
841
- <show_in_website>1</show_in_website>
842
- <show_in_store>1</show_in_store>
843
- </use_iframe>
844
- <iframe_height>
845
- <config_path>payment/securetrading_stpp_tokenization/iframe_height</config_path>
846
- <frontend_type>text</frontend_type>
847
- <sort_order>6</sort_order>
848
- <show_in_default>1</show_in_default>
849
- <show_in_website>1</show_in_website>
850
- <show_in_store>1</show_in_store>
851
- </iframe_height>
852
- <iframe_width>
853
- <config_path>payment/securetrading_stpp_tokenization/iframe_width</config_path>
854
- <frontend_type>text</frontend_type>
855
- <sort_order>7</sort_order>
856
- <show_in_default>1</show_in_default>
857
- <show_in_website>1</show_in_website>
858
- <show_in_store>1</show_in_store>
859
- </iframe_width>
860
- <max_saved_cc>
861
- <config_path>payment/securetrading_stpp_tokenization/max_saved_cc</config_path>
862
- <frontend_type>text</frontend_type>
863
- <sort_order>8</sort_order>
864
- <show_in_default>1</show_in_default>
865
- <show_in_website>1</show_in_website>
866
- <show_in_store>1</show_in_store>
867
- </max_saved_cc>
868
-
869
- <use_3d_secure>
870
- <config_path>payment/securetrading_stpp_tokenization/use_3d_secure</config_path>
871
- <frontend_type>select</frontend_type>
872
- <source_model>adminhtml/system_config_source_yesno</source_model>
873
- <sort_order>9</sort_order>
874
- <show_in_default>1</show_in_default>
875
- <show_in_website>1</show_in_website>
876
- <show_in_store>1</show_in_store>
877
- </use_3d_secure>
878
- <accepted_cards>
879
- <config_path>payment/securetrading_stpp_tokenization/accepted_cards</config_path>
880
- <frontend_type>multiselect</frontend_type>
881
- <backend_model>securetrading_stpp/adminhtml_system_config_backend_multiselect</backend_model>
882
- <source_model>securetrading_stpp/source_cardtypes</source_model>
883
- <sort_order>10</sort_order>
884
- <show_in_default>1</show_in_default>
885
- <show_in_website>1</show_in_website>
886
- <show_in_store>1</show_in_store>
887
- </accepted_cards>
888
- <config_fallback>
889
- <config_path>payment/securetrading_stpp_tokenization/config_fallback</config_path>
890
- <frontend_type>select</frontend_type>
891
- <source_model>securetrading_stpp/source_configfallback</source_model>
892
- <sort_order>11</sort_order>
893
- <show_in_default>1</show_in_default>
894
- <show_in_website>1</show_in_website>
895
- <show_in_store>1</show_in_store>
896
- </config_fallback>
897
- </fields>
898
- </securetrading_stpp_tokenization>
899
- </groups>
900
- </securetrading_stpp>
901
- </sections>
902
-
903
- <securetrading_stpp_sections>
904
- <payment>
905
- <groups>
906
- <securetrading_stpp translate="label comment" module="securetrading_stpp">
907
- <label>Secure Trading STPP</label>
908
- <comment>Please configure the interface you wish to use.</comment>
909
- <frontend_class>complex</frontend_class>
910
- <frontend_model>securetrading_stpp/adminhtml_system_config_group</frontend_model>
911
- <expanded>1</expanded>
912
- <class>securetrading-section</class>
913
- <header_css>securetrading-header</header_css>
914
- <sort_order>101</sort_order>
915
  <show_in_default>1</show_in_default>
916
  <show_in_website>1</show_in_website>
917
  <show_in_store>1</show_in_store>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
918
  <fields>
919
- <securetrading_stpp_redirect type="group" translate="label comment" module="securetrading_stpp">
920
- <label>Secure Trading Payment Pages</label>
921
- <comment>Redirects your customers to Secure Trading's secure payment servers.<![CDATA[<BR />]]>Your store does not have to be PCI compliant to use this payment method.</comment>
922
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
923
- <show_in_default>1</show_in_default>
924
- <show_in_website>1</show_in_website>
925
- <show_in_store>1</show_in_store>
926
- <image_logo>st_logo_strapline_100_32.png</image_logo>
927
- <activity_path>payment/securetrading_stpp_redirect/active</activity_path>
928
- <fields>
929
- <securetrading_stpp_redirect_config_basic type="group" translate="label comment" module="securetrading_stpp">
930
- <label>Basic Configuration</label>
931
- </securetrading_stpp_redirect_config_basic>
932
- <securetrading_stpp_redirect_config_gateway type="group" translate="label comment" module="securetrading_stpp">
933
- <label>Gateway Configuration</label>
934
- </securetrading_stpp_redirect_config_gateway>
935
- <securetrading_stpp_redirect_config_connections type="group" translate="label comment" module="securetrading_stpp">
936
- <label>Connection Configuration</label>
937
- <fields>
938
- <securetrading_stpp_redirect_stapi_group type="group" translate="label comment">
939
- <label>ST API Configuration</label>
940
- </securetrading_stpp_redirect_stapi_group>
941
- <securetrading_stpp_redirect_webservices_group type="group" translate="label comment">
942
- <label>Web Services Configuration</label>
943
- </securetrading_stpp_redirect_webservices_group>
944
- </fields>
945
- </securetrading_stpp_redirect_config_connections>
946
- <securetrading_stpp_redirect_transactionsearch type="group" translate="label comment">
947
- <label>Transaction Search Configuration</label>
948
- </securetrading_stpp_redirect_transactionsearch>
949
- </fields>
950
- </securetrading_stpp_redirect>
951
- <securetrading_stpp_direct type="group" translate="label comment" module="securetrading_stpp">
952
- <label>Secure Trading API</label>
953
- <comment>Allows customers to make debit/credit card payments without leaving your store.<![CDATA[<BR />]]>Your website must be PCI compliant to use this payment method.</comment>
954
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
955
- <expanded>0</expanded>
956
- <sort_order>102</sort_order>
957
- <show_in_default>1</show_in_default>
958
- <show_in_website>1</show_in_website>
959
- <show_in_store>1</show_in_store>
960
- <image_logo>st_logo_strapline_100_32.png</image_logo>
961
- <activity_path>payment/securetrading_stpp_direct/active</activity_path>
962
- <fields>
963
- <securetrading_stpp_direct_config_basic type="group" translate="label comment" module="securetrading_stpp">
964
- <label>Basic Configuration</label>
965
- </securetrading_stpp_direct_config_basic>
966
- <securetrading_stpp_direct_config_gateway type="group" translate="label comment" module="securetrading_stpp">
967
- <label>Gateway Configuration</label>
968
- </securetrading_stpp_direct_config_gateway>
969
- <securetrading_stpp_direct_config_connections type="group" translate="label comment" module="securetrading_stpp">
970
- <label>Connection Configuration</label>
971
- <fields>
972
- <securetrading_stpp_direct_stapi_group type="group" translate="label comment">
973
- <label>ST API Configuration</label>
974
- </securetrading_stpp_direct_stapi_group>
975
- <securetrading_stpp_direct_webservices_group type="group" translate="label comment">
976
- <label>Web Services Configuration</label>
977
- </securetrading_stpp_direct_webservices_group>
978
- </fields>
979
- </securetrading_stpp_direct_config_connections>
980
- <securetrading_stpp_direct_transactionsearch type="group" translate="label comment">
981
- <label>Transaction Search Configuration</label>
982
- </securetrading_stpp_direct_transactionsearch>
983
- </fields>
984
- </securetrading_stpp_direct>
985
- <securetrading_stpp_tokenization type="group" translate="label comment" module="securetrading_stpp">
986
- <label>Secure Trading Tokenization</label>
987
- <comment>Allows customers to make debit/credit card payments without leaving your store using card details saved on the Secure Trading servers.<![CDATA[<BR />]]>Your website does not need to be PCI-compliant to use this payment method. Another payment method must be enabled alongside this payment method so that card details can be captured.</comment>
988
- <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
989
- <expanded>0</expanded>
990
- <sort_order>103</sort_order>
991
- <show_in_default>1</show_in_default>
992
- <show_in_website>1</show_in_website>
993
- <show_in_store>1</show_in_store>
994
- <image_logo>st_logo_strapline_100_32.png</image_logo>
995
- <activity_path>payment/securetrading_stpp_tokenization/active</activity_path>
996
- </securetrading_stpp_tokenization>
997
  </fields>
998
- </securetrading_stpp>
999
- </groups>
1000
- </payment>
1001
- </securetrading_stpp_sections>
 
 
1002
  </config>
1
  <?xml version="1.0"?>
2
  <config>
3
+ <sections>
4
+ <securetrading_stpp translate="label" module="securetrading_stpp">
5
+ <label>Secure Trading</label>
6
+ <class>securetrading-section</class>
7
+ <header_css>securetrading-header</header_css>
8
+ <tab>sales</tab>
9
+ <frontend_type>text</frontend_type>
10
+ <sort_order>101</sort_order>
11
+ <show_in_default>1</show_in_default>
12
+ <show_in_website>1</show_in_website>
13
+ <show_in_store>1</show_in_store>
14
+ <groups>
15
+ <securetrading_stpp_redirect_config_basic type="group" translate="label comment" module="securetrading_stpp">
16
+ <label>Secure Trading Payment Pages - Required Settings</label>
17
+ <comment>Must be modified before your store goes live.</comment>
18
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
19
+ <expanded>1</expanded>
20
+ <sort_order>0</sort_order>
21
+ <show_in_default>1</show_in_default>
22
+ <show_in_website>1</show_in_website>
23
+ <show_in_store>1</show_in_store>
24
+ <fields>
25
+ <active>
26
+ <config_path>payment/securetrading_stpp_redirect/active</config_path>
27
+ <frontend_type>select</frontend_type>
28
+ <source_model>adminhtml/system_config_source_yesno</source_model>
29
+ <sort_order>0</sort_order>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  <show_in_default>1</show_in_default>
31
  <show_in_website>1</show_in_website>
32
  <show_in_store>1</show_in_store>
33
+ </active>
34
+ <site_reference>
35
+ <config_path>payment/securetrading_stpp_redirect/site_reference</config_path>
36
+ <frontend_type>text</frontend_type>
37
+ <sort_order>1</sort_order>
38
+ <show_in_default>1</show_in_default>
39
+ <show_in_website>1</show_in_website>
40
+ <show_in_store>1</show_in_store>
41
+ </site_reference>
42
+ <use_api>
43
+ <config_path>payment/securetrading_stpp_redirect/use_api</config_path>
44
+ <frontend_type>select</frontend_type>
45
+ <source_model>adminhtml/system_config_source_yesno</source_model>
46
+ <sort_order>2</sort_order>
47
+ <show_in_default>1</show_in_default>
48
+ <show_in_website>1</show_in_website>
49
+ <show_in_store>1</show_in_store>
50
+ </use_api>
51
+ <ws_username>
52
+ <config_path>payment/securetrading_stpp_redirect/ws_username</config_path>
53
+ <frontend_type>text</frontend_type>
54
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
55
+ <sort_order>3</sort_order>
56
+ <show_in_default>1</show_in_default>
57
+ <show_in_website>1</show_in_website>
58
+ <show_in_store>1</show_in_store>
59
+ <depends>
60
+ <use_api>1</use_api>
61
+ </depends>
62
+ </ws_username>
63
+ <ws_password>
64
+ <config_path>payment/securetrading_stpp_redirect/ws_password</config_path>
65
+ <frontend_type>text</frontend_type>
66
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
67
+ <sort_order>4</sort_order>
68
+ <show_in_default>1</show_in_default>
69
+ <show_in_website>1</show_in_website>
70
+ <show_in_store>1</show_in_store>
71
+ <depends>
72
+ <use_api>1</use_api>
73
+ </depends>
74
+ </ws_password>
75
+ <generate_ws_password>
76
+ <frontend_type>button</frontend_type>
77
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fields_password_button</frontend_model>
78
+ <button_label><![CDATA[Generate Random Web Services Password]]></button_label>
79
+ <button_updates>payment_securetrading_stpp_redirect_config_basic_ws_password</button_updates>
80
+ <confirm_text><![CDATA[Are you sure you would like to generate a new Web Services password?\n\nGenerating a new password will replace the current value.\n\nIf you generate a new password you will also need to update the Web Services password in MyST.\n\nYou should only use this feature if your admin area is running HTTPS.]]></confirm_text>
81
+ <sort_order>5</sort_order>
82
+ <show_in_default>1</show_in_default>
83
+ <show_in_website>1</show_in_website>
84
+ <show_in_store>1</show_in_store>
85
+ <depends>
86
+ <use_api>1</use_api>
87
+ </depends>
88
+ </generate_ws_password>
89
+ <site_security_password>
90
+ <config_path>payment/securetrading_stpp_redirect/site_security_password</config_path>
91
+ <frontend_type>text</frontend_type>
92
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
93
+ <sort_order>6</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>1</show_in_store>
97
+ </site_security_password>
98
+ <generate_site_security_password>
99
+ <frontend_type>button</frontend_type>
100
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fields_password_button</frontend_model>
101
+ <button_label><![CDATA[Generate Random Site Security Password]]></button_label>
102
+ <button_updates>payment_securetrading_stpp_redirect_config_basic_site_security_password</button_updates>
103
+ <confirm_text><![CDATA[Are you sure you would like to generate a new site security password?\n\nGenerating a new password will replace the current value.\n\nIf you generate a new password you will also need to contact Secure Trading Support and ask them to update the site security password stored by Secure Trading.\n\nYou should only use this feature if your admin area is running HTTPS.]]></confirm_text>
104
+ <sort_order>7</sort_order>
105
+ <show_in_default>1</show_in_default>
106
+ <show_in_website>1</show_in_website>
107
+ <show_in_store>1</show_in_store>
108
+ </generate_site_security_password>
109
+ </fields>
110
+ </securetrading_stpp_redirect_config_basic>
111
+ <securetrading_stpp_redirect_config_gateway type="group" translate="label comment" module="securetrading_stpp">
112
+ <label>Secure Trading Payment Pages - Optional Settings</label>
113
+ <comment>Default values are provided but they should be reviewed before the store goes live.</comment>
114
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
115
+ <expanded>0</expanded>
116
+ <sort_order>9</sort_order>
117
+ <show_in_default>1</show_in_default>
118
+ <show_in_website>1</show_in_website>
119
+ <show_in_store>1</show_in_store>
120
+ <fields>
121
+ <label_display_settings>
122
+ <label>Display Settings</label>
123
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
124
+ <sort_order>0</sort_order>
125
+ <show_in_default>1</show_in_default>
126
+ <show_in_website>1</show_in_website>
127
+ <show_in_store>1</show_in_store>
128
+ </label_display_settings>
129
+ <title>
130
+ <config_path>payment/securetrading_stpp_redirect/title</config_path>
131
+ <frontend_type>text</frontend_type>
132
+ <sort_order>1</sort_order>
133
+ <show_in_default>1</show_in_default>
134
+ <show_in_website>1</show_in_website>
135
+ <show_in_store>1</show_in_store>
136
+ </title>
137
+ <description>
138
+ <config_path>payment/securetrading_stpp_redirect/description</config_path>
139
+ <frontend_type>textarea</frontend_type>
140
+ <sort_order>2</sort_order>
141
+ <show_in_default>1</show_in_default>
142
+ <show_in_website>1</show_in_website>
143
+ <show_in_store>1</show_in_store>
144
+ </description>
145
+ <ppg_use_iframe>
146
+ <config_path>payment/securetrading_stpp_redirect/ppg_use_iframe</config_path>
147
+ <frontend_type>select</frontend_type>
148
+ <source_model>adminhtml/system_config_source_yesno</source_model>
149
+ <sort_order>3</sort_order>
150
+ <show_in_default>1</show_in_default>
151
+ <show_in_website>1</show_in_website>
152
+ <show_in_store>1</show_in_store>
153
+ </ppg_use_iframe>
154
+ <ppg_iframe_height>
155
+ <config_path>payment/securetrading_stpp_redirect/ppg_iframe_height</config_path>
156
+ <frontend_type>text</frontend_type>
157
+ <sort_order>4</sort_order>
158
+ <show_in_default>1</show_in_default>
159
+ <show_in_website>1</show_in_website>
160
+ <show_in_store>1</show_in_store>
161
+ <depends>
162
+ <ppg_use_iframe>1</ppg_use_iframe>
163
+ </depends>
164
+ </ppg_iframe_height>
165
+ <ppg_iframe_width>
166
+ <config_path>payment/securetrading_stpp_redirect/ppg_iframe_width</config_path>
167
+ <frontend_type>text</frontend_type>
168
+ <sort_order>5</sort_order>
169
+ <show_in_default>1</show_in_default>
170
+ <show_in_website>1</show_in_website>
171
+ <show_in_store>1</show_in_store>
172
+ <depends>
173
+ <ppg_use_iframe>1</ppg_use_iframe>
174
+ </depends>
175
+ </ppg_iframe_width>
176
+ <label_version_specific_settings>
177
+ <label>Payment Pages Version Settings</label>
178
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
179
+ <sort_order>6</sort_order>
180
+ <show_in_default>1</show_in_default>
181
+ <show_in_website>1</show_in_website>
182
+ <show_in_store>1</show_in_store>
183
+ </label_version_specific_settings>
184
+ <ppg_version>
185
+ <config_path>payment/securetrading_stpp_redirect/ppg_version</config_path>
186
+ <frontend_type>select</frontend_type>
187
+ <source_model>securetrading_stpp/source_ppgVersion</source_model>
188
+ <sort_order>7</sort_order>
189
+ <show_in_default>1</show_in_default>
190
+ <show_in_website>1</show_in_website>
191
+ <show_in_store>1</show_in_store>
192
+ <comment><![CDATA[The version number is used to change the type of styling used when rendering the Payment Pages.<br /><br />If you are using custom CSS and JS, and would like to upgrade from version 1 to version 2, you will need to click <a href="http://www.securetrading.com/paymentpages/customisation.html" target="_blank">here</a> and follow the instructions.]]></comment>
193
+ </ppg_version>
194
+ <st_profile>
195
+ <config_path>payment/securetrading_stpp_redirect/st_profile</config_path>
196
+ <frontend_type>text</frontend_type>
197
+ <sort_order>8</sort_order>
198
+ <show_in_default>1</show_in_default>
199
+ <show_in_website>1</show_in_website>
200
+ <show_in_store>1</show_in_store>
201
+ <depends>
202
+ <ppg_version>2</ppg_version>
203
+ </depends>
204
+ </st_profile>
205
+ <skip_choice_page>
206
+ <config_path>payment/securetrading_stpp_redirect/skip_choice_page</config_path>
207
+ <frontend_type>select</frontend_type>
208
+ <source_model>adminhtml/system_config_source_yesno</source_model>
209
+ <sort_order>9</sort_order>
210
+ <show_in_default>1</show_in_default>
211
+ <show_in_website>1</show_in_website>
212
+ <show_in_store>1</show_in_store>
213
+ <depends>
214
+ <ppg_version>2</ppg_version>
215
+ </depends>
216
+ </skip_choice_page>
217
+ <show_paymenttype_on_magento>
218
+ <config_path>payment/securetrading_stpp_redirect/show_paymenttype_on_magento</config_path>
219
+ <frontend_type>select</frontend_type>
220
+ <source_model>adminhtml/system_config_source_yesno</source_model>
221
+ <sort_order>10</sort_order>
222
+ <show_in_default>1</show_in_default>
223
+ <show_in_website>1</show_in_website>
224
+ <show_in_store>1</show_in_store>
225
+ <depends>
226
+ <ppg_version>2</ppg_version>
227
+ <skip_choice_page>1</skip_choice_page>
228
+ </depends>
229
+ </show_paymenttype_on_magento>
230
+ <accepted_cards>
231
+ <config_path>payment/securetrading_stpp_redirect/accepted_cards</config_path>
232
+ <frontend_type>multiselect</frontend_type>
233
+ <backend_model>securetrading_stpp/adminhtml_system_config_backend_multiselect</backend_model>
234
+ <source_model>securetrading_stpp/source_cardtypes</source_model>
235
+ <sort_order>11</sort_order>
236
+ <show_in_default>1</show_in_default>
237
+ <show_in_website>1</show_in_website>
238
+ <show_in_store>1</show_in_store>
239
+ <depends>
240
+ <ppg_version>2</ppg_version>
241
+ <skip_choice_page>1</skip_choice_page>
242
+ <show_paymenttype_on_magento>1</show_paymenttype_on_magento>
243
+ </depends>
244
+ </accepted_cards>
245
+ <parent_css>
246
+ <config_path>payment/securetrading_stpp_redirect/parent_css</config_path>
247
+ <frontend_type>text</frontend_type>
248
+ <sort_order>12</sort_order>
249
+ <show_in_default>1</show_in_default>
250
+ <show_in_website>1</show_in_website>
251
+ <show_in_store>1</show_in_store>
252
+ <depends>
253
+ <ppg_version>1</ppg_version>
254
+ </depends>
255
+ </parent_css>
256
+ <child_css>
257
+ <config_path>payment/securetrading_stpp_redirect/child_css</config_path>
258
+ <frontend_type>text</frontend_type>
259
+ <sort_order>13</sort_order>
260
+ <show_in_default>1</show_in_default>
261
+ <show_in_website>1</show_in_website>
262
+ <show_in_store>1</show_in_store>
263
+ <depends>
264
+ <ppg_version>1</ppg_version>
265
+ </depends>
266
+ </child_css>
267
+ <parent_js>
268
+ <config_path>payment/securetrading_stpp_redirect/parent_js</config_path>
269
+ <frontend_type>text</frontend_type>
270
+ <sort_order>14</sort_order>
271
+ <show_in_default>1</show_in_default>
272
+ <show_in_website>1</show_in_website>
273
+ <show_in_store>1</show_in_store>
274
+ <depends>
275
+ <ppg_version>1</ppg_version>
276
+ </depends>
277
+ </parent_js>
278
+ <child_js>
279
+ <config_path>payment/securetrading_stpp_redirect/child_js</config_path>
280
+ <frontend_type>text</frontend_type>
281
+ <sort_order>15</sort_order>
282
+ <show_in_default>1</show_in_default>
283
+ <show_in_website>1</show_in_website>
284
+ <show_in_store>1</show_in_store>
285
+ <depends>
286
+ <ppg_version>1</ppg_version>
287
+ </depends>
288
+ </child_js>
289
+ <label_tokenization_settings>
290
+ <label>Tokenization Settings</label>
291
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
292
+ <sort_order>16</sort_order>
293
+ <show_in_default>1</show_in_default>
294
+ <show_in_website>1</show_in_website>
295
+ <show_in_store>1</show_in_store>
296
+ </label_tokenization_settings>
297
+ <use_tokenization>
298
+ <config_path>payment/securetrading_stpp_redirect/use_tokenization</config_path>
299
+ <frontend_type>select</frontend_type>
300
+ <source_model>adminhtml/system_config_source_yesno</source_model>
301
+ <sort_order>17</sort_order>
302
+ <show_in_default>1</show_in_default>
303
+ <show_in_website>1</show_in_website>
304
+ <show_in_store>1</show_in_store>
305
+ <comment>If you enable this feature you must also configure the Secure Trading Tokenization module.</comment>
306
+ </use_tokenization>
307
+ <save_cc_question>
308
+ <config_path>payment/securetrading_stpp_redirect/save_cc_question</config_path>
309
+ <frontend_type>textarea</frontend_type>
310
+ <sort_order>18</sort_order>
311
+ <show_in_default>1</show_in_default>
312
+ <show_in_website>1</show_in_website>
313
+ <show_in_store>1</show_in_store>
314
+ <depends>
315
+ <use_tokenization>1</use_tokenization>
316
+ </depends>
317
+ </save_cc_question>
318
+ <label_other_settings>
319
+ <label>Other Settings</label>
320
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
321
+ <sort_order>19</sort_order>
322
+ <show_in_default>1</show_in_default>
323
+ <show_in_website>1</show_in_website>
324
+ <show_in_store>1</show_in_store>
325
+ </label_other_settings>
326
+ <allowspecific>
327
+ <config_path>payment/securetrading_stpp_redirect/allowspecific</config_path>
328
+ <frontend_type>allowspecific</frontend_type>
329
+ <sort_order>20</sort_order>
330
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
331
+ <show_in_default>1</show_in_default>
332
+ <show_in_website>1</show_in_website>
333
+ <show_in_store>1</show_in_store>
334
+ </allowspecific>
335
+ <specificcountry>
336
+ <config_path>payment/securetrading_stpp_redirect/specificcountry</config_path>
337
+ <frontend_type>multiselect</frontend_type>
338
+ <sort_order>21</sort_order>
339
+ <source_model>adminhtml/system_config_source_country</source_model>
340
+ <show_in_default>1</show_in_default>
341
+ <show_in_website>1</show_in_website>
342
+ <show_in_store>1</show_in_store>
343
+ <depends>
344
+ <allowspecific>1</allowspecific>
345
+ </depends>
346
+ </specificcountry>
347
+ <payment_action>
348
+ <config_path>payment/securetrading_stpp_redirect/payment_action</config_path>
349
+ <frontend_type>select</frontend_type>
350
+ <source_model>securetrading_stpp/source_paymentaction</source_model>
351
+ <sort_order>22</sort_order>
352
+ <show_in_default>1</show_in_default>
353
+ <show_in_website>1</show_in_website>
354
+ <show_in_store>1</show_in_store>
355
+ </payment_action>
356
+ <settle_status>
357
+ <config_path>payment/securetrading_stpp_redirect/settle_status</config_path>
358
+ <frontend_type>select</frontend_type>
359
+ <source_model>securetrading_stpp/source_settlestatus</source_model>
360
+ <sort_order>23</sort_order>
361
+ <show_in_default>1</show_in_default>
362
+ <show_in_website>1</show_in_website>
363
+ <show_in_store>1</show_in_store>
364
+ <depends>
365
+ <payment_action>authorize_capture</payment_action>
366
+ </depends>
367
+ </settle_status>
368
+ <settle_due_date>
369
+ <config_path>payment/securetrading_stpp_redirect/settle_due_date</config_path>
370
+ <frontend_type>select</frontend_type>
371
+ <source_model>securetrading_stpp/source_settleduedate</source_model>
372
+ <sort_order>24</sort_order>
373
+ <show_in_default>1</show_in_default>
374
+ <show_in_website>1</show_in_website>
375
+ <show_in_store>1</show_in_store>
376
+ </settle_due_date>
377
+ <ws_verify_ca>
378
+ <config_path>payment/securetrading_stpp_redirect/ws_verify_ca</config_path>
379
+ <frontend_type>select</frontend_type>
380
+ <source_model>adminhtml/system_config_source_yesno</source_model>
381
+ <sort_order>25</sort_order>
382
+ <show_in_default>1</show_in_default>
383
+ <show_in_website>1</show_in_website>
384
+ <show_in_store>1</show_in_store>
385
+ </ws_verify_ca>
386
+ <ws_ca_file>
387
+ <config_path>payment/securetrading_stpp_redirect/ws_ca_file</config_path>
388
+ <frontend_type>text</frontend_type>
389
+ <sort_order>26</sort_order>
390
+ <show_in_default>1</show_in_default>
391
+ <show_in_website>1</show_in_website>
392
+ <show_in_store>1</show_in_store>
393
+ <depends>
394
+ <ws_verify_ca>1</ws_verify_ca>
395
+ </depends>
396
+ </ws_ca_file>
397
+ <ppg_cancel_60107>
398
+ <label>Cancel Order on 60107 Error Code</label>
399
+ <tooltip>Applicable only if your Secure Trading account has RISKDEC requests enabled and the MyST Rule Manager has been updated to 'Update transaction to Stop Child AUTH ... if a generic request matches RISKDEC DENY'. If you select 'Yes' you must also enable the 'Magento ECOM 60107' and 'Magento MOTO 60107 redirects' in the 'Payment pages redirects' section of MyST (see the readme for more information). Selecting 'Yes' will cause AUTH/THREEDQUERY requests that return RISKDEC's DENY shieldstatuscode to be automatically updated to the 'Canceled' order state by putting them into payment review and denying the payment. The customer will be redirected back to Magento. If you select 'No' the order state will not change and the customer will remain on the Payment Pages.</tooltip>
400
+ <config_path>payment/securetrading_stpp_redirect/ppg_cancel_60107</config_path>
401
+ <frontend_type>select</frontend_type>
402
+ <source_model>adminhtml/system_config_source_yesno</source_model>
403
+ <sort_order>27</sort_order>
404
+ <show_in_default>1</show_in_default>
405
+ <show_in_website>1</show_in_website>
406
+ <show_in_store>1</show_in_store>
407
+ </ppg_cancel_60107>
408
+ <!--
409
+ <enable_declined_redirect>
410
+ <config_path>payment/securetrading_stpp_redirect/enable_declined_redirect</config_path>
411
+ <frontend_type>select</frontend_type>
412
+ <source_model>adminhtml/system_config_source_yesno</source_model>
413
+ <sort_order>28</sort_order>
414
+ <show_in_default>1</show_in_default>
415
+ <show_in_website>1</show_in_website>
416
+ <show_in_store>1</show_in_store>
417
+ </enable_declined_redirect>
418
+ -->
419
+ </fields>
420
+ </securetrading_stpp_redirect_config_gateway>
421
+ <securetrading_stpp_direct_config_basic type="group" translate="label comment" module="securetrading_stpp">
422
+ <label>Secure Trading API - Basic Settings</label>
423
+ <comment>Must be modified before your store goes live.</comment>
424
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
425
+ <expanded>1</expanded>
426
+ <sort_order>6</sort_order>
427
+ <show_in_default>1</show_in_default>
428
+ <show_in_website>1</show_in_website>
429
+ <show_in_store>1</show_in_store>
430
+ <fields>
431
+ <active>
432
+ <config_path>payment/securetrading_stpp_direct/active</config_path>
433
+ <frontend_type>select</frontend_type>
434
+ <source_model>adminhtml/system_config_source_yesno</source_model>
435
+ <sort_order>0</sort_order>
436
+ <show_in_default>1</show_in_default>
437
+ <show_in_website>1</show_in_website>
438
+ <show_in_store>1</show_in_store>
439
+ </active>
440
+ <site_reference>
441
+ <config_path>payment/securetrading_stpp_direct/site_reference</config_path>
442
+ <frontend_type>text</frontend_type>
443
+ <sort_order>1</sort_order>
444
+ <show_in_default>1</show_in_default>
445
+ <show_in_website>1</show_in_website>
446
+ <show_in_store>1</show_in_store>
447
+ </site_reference>
448
+ <ws_username>
449
+ <config_path>payment/securetrading_stpp_direct/ws_username</config_path>
450
+ <frontend_type>text</frontend_type>
451
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
452
+ <sort_order>2</sort_order>
453
+ <show_in_default>1</show_in_default>
454
+ <show_in_website>1</show_in_website>
455
+ <show_in_store>1</show_in_store>
456
+ </ws_username>
457
+ <ws_password>
458
+ <config_path>payment/securetrading_stpp_direct/ws_password</config_path>
459
+ <frontend_type>text</frontend_type>
460
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
461
+ <sort_order>3</sort_order>
462
+ <show_in_default>1</show_in_default>
463
+ <show_in_website>1</show_in_website>
464
+ <show_in_store>1</show_in_store>
465
+ </ws_password>
466
+ <generate_ws_password>
467
+ <frontend_type>button</frontend_type>
468
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fields_password_button</frontend_model>
469
+ <button_label><![CDATA[Generate Random Web Services Password]]></button_label>
470
+ <button_updates>payment_securetrading_stpp_direct_config_basic_ws_password</button_updates>
471
+ <confirm_text><![CDATA[Are you sure you would like to generate a new Web Services password?\n\nGenerating a new password will replace the current value.\n\nIf you generate a new password you will also need to update the Web Services password in MyST.\n\nYou should only use this feature if your admin area is running HTTPS.]]></confirm_text>
472
+ <sort_order>4</sort_order>
473
+ <show_in_default>1</show_in_default>
474
+ <show_in_website>1</show_in_website>
475
+ <show_in_store>1</show_in_store>
476
+ </generate_ws_password>
477
+ <accepted_cards>
478
+ <config_path>payment/securetrading_stpp_direct/accepted_cards</config_path>
479
+ <frontend_type>multiselect</frontend_type>
480
+ <backend_model>securetrading_stpp/adminhtml_system_config_backend_multiselect</backend_model>
481
+ <source_model>securetrading_stpp/source_cardtypes</source_model>
482
+ <sort_order>5</sort_order>
483
+ <show_in_default>1</show_in_default>
484
+ <show_in_website>1</show_in_website>
485
+ <show_in_store>1</show_in_store>
486
+ </accepted_cards>
487
+ </fields>
488
+ </securetrading_stpp_direct_config_basic>
489
+ <securetrading_stpp_direct_config_gateway type="group" translate="label comment" module="securetrading_stpp">
490
+ <label>Secure Trading API - Optional Settings</label>
491
+ <comment>Default values are provided but they should be reviewed before the store goes live.</comment>
492
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
493
+ <expanded>0</expanded>
494
+ <sort_order>7</sort_order>
495
+ <show_in_default>1</show_in_default>
496
+ <show_in_website>1</show_in_website>
497
+ <show_in_store>1</show_in_store>
498
+ <fields>
499
+ <label_display_settings>
500
+ <label>Display Settings</label>
501
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
502
+ <sort_order>0</sort_order>
503
+ <show_in_default>1</show_in_default>
504
+ <show_in_website>1</show_in_website>
505
+ <show_in_store>1</show_in_store>
506
+ </label_display_settings>
507
+ <title>
508
+ <config_path>payment/securetrading_stpp_direct/title</config_path>
509
+ <frontend_type>text</frontend_type>
510
+ <sort_order>1</sort_order>
511
+ <show_in_default>1</show_in_default>
512
+ <show_in_website>1</show_in_website>
513
+ <show_in_store>1</show_in_store>
514
+ </title>
515
+ <description>
516
+ <config_path>payment/securetrading_stpp_direct/description</config_path>
517
+ <frontend_type>textarea</frontend_type>
518
+ <sort_order>2</sort_order>
519
+ <show_in_default>1</show_in_default>
520
+ <show_in_website>1</show_in_website>
521
+ <show_in_store>1</show_in_store>
522
+ </description>
523
+ <use_iframe>
524
+ <config_path>payment/securetrading_stpp_direct/use_iframe</config_path>
525
+ <frontend_type>select</frontend_type>
526
+ <source_model>adminhtml/system_config_source_yesno</source_model>
527
+ <sort_order>3</sort_order>
528
+ <show_in_default>1</show_in_default>
529
+ <show_in_website>1</show_in_website>
530
+ <show_in_store>1</show_in_store>
531
+ </use_iframe>
532
+ <iframe_height>
533
+ <config_path>payment/securetrading_stpp_direct/iframe_height</config_path>
534
+ <frontend_type>text</frontend_type>
535
+ <sort_order>4</sort_order>
536
+ <show_in_default>1</show_in_default>
537
+ <show_in_website>1</show_in_website>
538
+ <show_in_store>1</show_in_store>
539
+ <depends>
540
+ <use_iframe>1</use_iframe>
541
+ </depends>
542
+ </iframe_height>
543
+ <iframe_width>
544
+ <config_path>payment/securetrading_stpp_direct/iframe_width</config_path>
545
+ <frontend_type>text</frontend_type>
546
+ <sort_order>5</sort_order>
547
+ <show_in_default>1</show_in_default>
548
+ <show_in_website>1</show_in_website>
549
+ <show_in_store>1</show_in_store>
550
+ <depends>
551
+ <use_iframe>1</use_iframe>
552
+ </depends>
553
+ </iframe_width>
554
+ <show_start_date>
555
+ <config_path>payment/securetrading_stpp_direct/show_start_date</config_path>
556
+ <frontend_type>select</frontend_type>
557
+ <source_model>adminhtml/system_config_source_yesno</source_model>
558
+ <sort_order>6</sort_order>
559
+ <show_in_default>1</show_in_default>
560
+ <show_in_website>1</show_in_website>
561
+ <show_in_store>1</show_in_store>
562
+ </show_start_date>
563
+ <show_issue_number>
564
+ <config_path>payment/securetrading_stpp_direct/show_issue_number</config_path>
565
+ <frontend_type>select</frontend_type>
566
+ <source_model>adminhtml/system_config_source_yesno</source_model>
567
+ <sort_order>7</sort_order>
568
+ <show_in_default>1</show_in_default>
569
+ <show_in_website>1</show_in_website>
570
+ <show_in_store>1</show_in_store>
571
+ </show_issue_number>
572
+ <label_tokenization_settings>
573
+ <label>Tokenization Settings</label>
574
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
575
+ <sort_order>8</sort_order>
576
+ <show_in_default>1</show_in_default>
577
+ <show_in_website>1</show_in_website>
578
+ <show_in_store>1</show_in_store>
579
+ </label_tokenization_settings>
580
+ <use_card_store>
581
+ <config_path>payment/securetrading_stpp_direct/use_card_store</config_path>
582
+ <frontend_type>select</frontend_type>
583
+ <source_model>adminhtml/system_config_source_yesno</source_model>
584
+ <sort_order>9</sort_order>
585
+ <show_in_default>1</show_in_default>
586
+ <show_in_website>1</show_in_website>
587
+ <show_in_store>1</show_in_store>
588
+ <comment>If you enable this feature you must also configure the Secure Trading Tokenization module.</comment>
589
+ </use_card_store>
590
+ <save_cc_question>
591
+ <config_path>payment/securetrading_stpp_direct/save_cc_question</config_path>
592
+ <frontend_type>textarea</frontend_type>
593
+ <sort_order>10</sort_order>
594
+ <show_in_default>1</show_in_default>
595
+ <show_in_website>1</show_in_website>
596
+ <show_in_store>1</show_in_store>
597
+ <depends>
598
+ <use_card_store>1</use_card_store>
599
+ </depends>
600
+ </save_cc_question>
601
+ <allow_billing_agreement_wizard>
602
+ <config_path>payment/securetrading_stpp_direct/allow_billing_agreement_wizard</config_path>
603
+ <frontend_type>select</frontend_type>
604
+ <source_model>adminhtml/system_config_source_yesno</source_model>
605
+ <sort_order>11</sort_order>
606
+ <show_in_default>1</show_in_default>
607
+ <show_in_website>1</show_in_website>
608
+ <show_in_store>1</show_in_store>
609
+ <depends>
610
+ <use_card_store>1</use_card_store>
611
+ </depends>
612
+ </allow_billing_agreement_wizard>
613
+ <label_other_settings>
614
+ <label>Other Settings</label>
615
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
616
+ <sort_order>12</sort_order>
617
+ <show_in_default>1</show_in_default>
618
+ <show_in_website>1</show_in_website>
619
+ <show_in_store>1</show_in_store>
620
+ </label_other_settings>
621
+ <allowspecific>
622
+ <config_path>payment/securetrading_stpp_direct/allowspecific</config_path>
623
+ <frontend_type>allowspecific</frontend_type>
624
+ <sort_order>13</sort_order>
625
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
626
+ <show_in_default>1</show_in_default>
627
+ <show_in_website>1</show_in_website>
628
+ <show_in_store>1</show_in_store>
629
+ </allowspecific>
630
+ <specificcountry>
631
+ <config_path>payment/securetrading_stpp_direct/specificcountry</config_path>
632
+ <frontend_type>multiselect</frontend_type>
633
+ <sort_order>14</sort_order>
634
+ <source_model>adminhtml/system_config_source_country</source_model>
635
+ <show_in_default>1</show_in_default>
636
+ <show_in_website>1</show_in_website>
637
+ <show_in_store>1</show_in_store>
638
+ <depends>
639
+ <allowspecific>1</allowspecific>
640
+ </depends>
641
+ </specificcountry>
642
+ <payment_action>
643
+ <config_path>payment/securetrading_stpp_direct/payment_action</config_path>
644
+ <frontend_type>select</frontend_type>
645
+ <source_model>securetrading_stpp/source_paymentaction</source_model>
646
+ <sort_order>15</sort_order>
647
+ <show_in_default>1</show_in_default>
648
+ <show_in_website>1</show_in_website>
649
+ <show_in_store>1</show_in_store>
650
+ </payment_action>
651
+ <settle_status>
652
+ <config_path>payment/securetrading_stpp_direct/settle_status</config_path>
653
+ <frontend_type>select</frontend_type>
654
+ <source_model>securetrading_stpp/source_settlestatus</source_model>
655
+ <sort_order>16</sort_order>
656
+ <show_in_default>1</show_in_default>
657
+ <show_in_website>1</show_in_website>
658
+ <show_in_store>1</show_in_store>
659
+ <depends>
660
+ <payment_action>authorize_capture</payment_action>
661
+ </depends>
662
+ </settle_status>
663
+ <settle_due_date>
664
+ <config_path>payment/securetrading_stpp_direct/settle_due_date</config_path>
665
+ <frontend_type>select</frontend_type>
666
+ <source_model>securetrading_stpp/source_settleduedate</source_model>
667
+ <sort_order>17</sort_order>
668
+ <show_in_default>1</show_in_default>
669
+ <show_in_website>1</show_in_website>
670
+ <show_in_store>1</show_in_store>
671
+ </settle_due_date>
672
+ <ws_verify_ca>
673
+ <config_path>payment/securetrading_stpp_direct/ws_verify_ca</config_path>
674
+ <frontend_type>select</frontend_type>
675
+ <source_model>adminhtml/system_config_source_yesno</source_model>
676
+ <sort_order>18</sort_order>
677
+ <show_in_default>1</show_in_default>
678
+ <show_in_website>1</show_in_website>
679
+ <show_in_store>1</show_in_store>
680
+ </ws_verify_ca>
681
+ <ws_ca_file>
682
+ <config_path>payment/securetrading_stpp_direct/ws_ca_file</config_path>
683
+ <frontend_type>text</frontend_type>
684
+ <sort_order>19</sort_order>
685
+ <show_in_default>1</show_in_default>
686
+ <show_in_website>1</show_in_website>
687
+ <show_in_store>1</show_in_store>
688
+ <depends>
689
+ <ws_verify_ca>1</ws_verify_ca>
690
+ </depends>
691
+ </ws_ca_file>
692
+ <use_3d_secure>
693
+ <config_path>payment/securetrading_stpp_direct/use_3d_secure</config_path>
694
+ <frontend_type>select</frontend_type>
695
+ <source_model>adminhtml/system_config_source_yesno</source_model>
696
+ <sort_order>20</sort_order>
697
+ <show_in_default>1</show_in_default>
698
+ <show_in_website>1</show_in_website>
699
+ <show_in_store>1</show_in_store>
700
+ </use_3d_secure>
701
+ <use_risk_decision>
702
+ <config_path>payment/securetrading_stpp_direct/use_risk_decision</config_path>
703
+ <frontend_type>select</frontend_type>
704
+ <source_model>adminhtml/system_config_source_yesno</source_model>
705
+ <sort_order>21</sort_order>
706
+ <show_in_default>1</show_in_default>
707
+ <show_in_website>1</show_in_website>
708
+ <show_in_store>1</show_in_store>
709
+ </use_risk_decision>
710
+ <use_account_check>
711
+ <config_path>payment/securetrading_stpp_direct/use_account_check</config_path>
712
+ <frontend_type>select</frontend_type>
713
+ <source_model>adminhtml/system_config_source_yesno</source_model>
714
+ <sort_order>22</sort_order>
715
+ <show_in_default>1</show_in_default>
716
+ <show_in_website>1</show_in_website>
717
+ <show_in_store>1</show_in_store>
718
+ </use_account_check>
719
+ </fields>
720
+ </securetrading_stpp_direct_config_gateway>
721
+ <securetrading_stpp_tokenization_config_basic type="group" translate="label comment" module="securetrading_stpp">
722
+ <label>Secure Trading Tokenization - Required Settings</label>
723
+ <comment>Must be modified before your store goes live.</comment>
724
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
725
+ <expanded>1</expanded>
726
+ <sort_order>0</sort_order>
727
+ <show_in_default>1</show_in_default>
728
+ <show_in_website>1</show_in_website>
729
+ <show_in_store>1</show_in_store>
730
+ <fields>
731
+ <active>
732
+ <config_path>payment/securetrading_stpp_tokenization/active</config_path>
733
+ <frontend_type>select</frontend_type>
734
+ <source_model>adminhtml/system_config_source_yesno</source_model>
735
+ <sort_order>0</sort_order>
736
+ <show_in_default>1</show_in_default>
737
+ <show_in_website>1</show_in_website>
738
+ <show_in_store>1</show_in_store>
739
+ </active>
740
+ <config_fallback>
741
+ <config_path>payment/securetrading_stpp_tokenization/config_fallback</config_path>
742
+ <frontend_type>select</frontend_type>
743
+ <source_model>securetrading_stpp/source_configfallback</source_model>
744
+ <sort_order>1</sort_order>
745
+ <show_in_default>1</show_in_default>
746
+ <show_in_website>1</show_in_website>
747
+ <show_in_store>1</show_in_store>
748
+ </config_fallback>
749
+ <accepted_cards>
750
+ <config_path>payment/securetrading_stpp_tokenization/accepted_cards</config_path>
751
+ <frontend_type>multiselect</frontend_type>
752
+ <backend_model>securetrading_stpp/adminhtml_system_config_backend_multiselect</backend_model>
753
+ <source_model>securetrading_stpp/source_cardtypes</source_model>
754
+ <sort_order>2</sort_order>
755
+ <show_in_default>1</show_in_default>
756
+ <show_in_website>1</show_in_website>
757
+ <show_in_store>1</show_in_store>
758
+ </accepted_cards>
759
+ </fields>
760
+ </securetrading_stpp_tokenization_config_basic>
761
+ <securetrading_stpp_tokenization_config_gateway type="group" translate="label comment" module="securetrading_stpp">
762
+ <label>Secure Trading Tokenization - Optional Settings</label>
763
+ <comment>Default values are provided but they should be reviewed before the store goes live.</comment>
764
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
765
+ <expanded>0</expanded>
766
+ <sort_order>7</sort_order>
767
+ <show_in_default>1</show_in_default>
768
+ <show_in_website>1</show_in_website>
769
+ <show_in_store>1</show_in_store>
770
+ <fields>
771
+ <label_display_settings>
772
+ <label>Display Settings</label>
773
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
774
+ <sort_order>0</sort_order>
775
+ <show_in_default>1</show_in_default>
776
+ <show_in_website>1</show_in_website>
777
+ <show_in_store>1</show_in_store>
778
+ </label_display_settings>
779
+ <title>
780
+ <config_path>payment/securetrading_stpp_tokenization/title</config_path>
781
+ <frontend_type>text</frontend_type>
782
+ <sort_order>1</sort_order>
783
+ <show_in_default>1</show_in_default>
784
+ <show_in_website>1</show_in_website>
785
+ <show_in_store>1</show_in_store>
786
+ </title>
787
+ <description>
788
+ <config_path>payment/securetrading_stpp_tokenization/description</config_path>
789
+ <frontend_type>textarea</frontend_type>
790
+ <sort_order>2</sort_order>
791
+ <show_in_default>1</show_in_default>
792
+ <show_in_website>1</show_in_website>
793
+ <show_in_store>1</show_in_store>
794
+ </description>
795
+ <use_iframe>
796
+ <config_path>payment/securetrading_stpp_tokenization/use_iframe</config_path>
797
+ <frontend_type>select</frontend_type>
798
+ <source_model>adminhtml/system_config_source_yesno</source_model>
799
+ <sort_order>3</sort_order>
800
+ <show_in_default>1</show_in_default>
801
+ <show_in_website>1</show_in_website>
802
+ <show_in_store>1</show_in_store>
803
+ </use_iframe>
804
+ <iframe_height>
805
+ <config_path>payment/securetrading_stpp_tokenization/iframe_height</config_path>
806
+ <frontend_type>text</frontend_type>
807
+ <sort_order>4</sort_order>
808
+ <show_in_default>1</show_in_default>
809
+ <show_in_website>1</show_in_website>
810
+ <show_in_store>1</show_in_store>
811
+ <depends>
812
+ <use_iframe>1</use_iframe>
813
+ </depends>
814
+ </iframe_height>
815
+ <iframe_width>
816
+ <config_path>payment/securetrading_stpp_tokenization/iframe_width</config_path>
817
+ <frontend_type>text</frontend_type>
818
+ <sort_order>5</sort_order>
819
+ <show_in_default>1</show_in_default>
820
+ <show_in_website>1</show_in_website>
821
+ <show_in_store>1</show_in_store>
822
+ <depends>
823
+ <use_iframe>1</use_iframe>
824
+ </depends>
825
+ </iframe_width>
826
+ <label_other_settings>
827
+ <label>Other Settings</label>
828
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
829
+ <sort_order>6</sort_order>
830
+ <show_in_default>1</show_in_default>
831
+ <show_in_website>1</show_in_website>
832
+ <show_in_store>1</show_in_store>
833
+ </label_other_settings>
834
+ <allowspecific>
835
+ <config_path>payment/securetrading_stpp_tokenization/allowspecific</config_path>
836
+ <frontend_type>allowspecific</frontend_type>
837
+ <sort_order>7</sort_order>
838
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
839
+ <show_in_default>1</show_in_default>
840
+ <show_in_website>1</show_in_website>
841
+ <show_in_store>1</show_in_store>
842
+ </allowspecific>
843
+ <specificcountry>
844
+ <config_path>payment/securetrading_stpp_tokenization/specificcountry</config_path>
845
+ <frontend_type>multiselect</frontend_type>
846
+ <sort_order>8</sort_order>
847
+ <source_model>adminhtml/system_config_source_country</source_model>
848
+ <show_in_default>1</show_in_default>
849
+ <show_in_website>1</show_in_website>
850
+ <show_in_store>1</show_in_store>
851
+ <depends>
852
+ <allowspecific>1</allowspecific>
853
+ </depends>
854
+ </specificcountry>
855
+ <max_saved_cc>
856
+ <config_path>payment/securetrading_stpp_tokenization/max_saved_cc</config_path>
857
+ <frontend_type>text</frontend_type>
858
+ <sort_order>9</sort_order>
859
+ <show_in_default>1</show_in_default>
860
+ <show_in_website>1</show_in_website>
861
+ <show_in_store>1</show_in_store>
862
+ </max_saved_cc>
863
+ <use_3d_secure>
864
+ <config_path>payment/securetrading_stpp_tokenization/use_3d_secure</config_path>
865
+ <frontend_type>select</frontend_type>
866
+ <source_model>adminhtml/system_config_source_yesno</source_model>
867
+ <sort_order>10</sort_order>
868
+ <show_in_default>1</show_in_default>
869
+ <show_in_website>1</show_in_website>
870
+ <show_in_store>1</show_in_store>
871
+ </use_3d_secure>
872
+ </fields>
873
+ </securetrading_stpp_tokenization_config_gateway>
874
+ </groups>
875
+ </securetrading_stpp>
876
+ </sections>
877
+
878
+ <securetrading_stpp_sections>
879
+ <payment>
880
+ <groups>
881
+ <securetrading_stpp translate="label comment" module="securetrading_stpp">
882
+ <label>Secure Trading STPP</label>
883
+ <comment>Please choose from the following payment methods and ensure your website is PCI compliant.</comment>
884
+ <frontend_class>complex</frontend_class>
885
+ <frontend_model>securetrading_stpp/adminhtml_system_config_group</frontend_model>
886
+ <expanded>1</expanded>
887
+ <class>securetrading-section</class>
888
+ <header_css>securetrading-header</header_css>
889
+ <sort_order>101</sort_order>
890
+ <show_in_default>1</show_in_default>
891
+ <show_in_website>1</show_in_website>
892
+ <show_in_store>1</show_in_store>
893
+ <fields>
894
+ <securetrading_stpp_redirect type="group" translate="label header_comment" module="securetrading_stpp">
895
+ <label>Secure Trading Payment Pages</label>
896
+ <header_comment>Redirects your customers to Secure Trading's secure payment servers.</header_comment>
897
+ <help_urls>
898
+ <ppg>
899
+ <text>PPg Help</text>
900
+ <url>http://www.securetrading.com/files/documentation/Magento-PaymentPages-User-Guide-3-5.pdf</url>
901
+ </ppg>
902
+ </help_urls>
903
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
904
+ <use_large_fieldset>1</use_large_fieldset>
905
+ <show_in_default>1</show_in_default>
906
+ <show_in_website>1</show_in_website>
907
+ <show_in_store>1</show_in_store>
908
+ <image_logo>st_logo_strapline_100_32.png</image_logo>
909
+ <activity_path>payment/securetrading_stpp_redirect/active</activity_path>
910
+ <fields>
911
+ <securetrading_stpp_redirect_config_basic type="group" translate="label" module="securetrading_stpp">
912
+ <label>Required Settings</label>
913
+ </securetrading_stpp_redirect_config_basic>
914
+ <securetrading_stpp_redirect_config_gateway type="group" translate="label" module="securetrading_stpp">
915
+ <label>Optional Settings</label>
916
+ </securetrading_stpp_redirect_config_gateway>
917
+ </fields>
918
+ </securetrading_stpp_redirect>
919
+ <securetrading_stpp_direct type="group" translate="label header_comment" module="securetrading_stpp">
920
+ <label>Secure Trading API</label>
921
+ <header_comment>Allows customers to make payments without leaving your store.</header_comment>
922
+ <help_urls>
923
+ <api>
924
+ <text>API Help</text>
925
+ <url>http://www.securetrading.com/files/documentation/Magento-API-User-Guide-3-5.pdf</url>
926
+ </api>
927
+ </help_urls>
928
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
929
+ <use_large_fieldset>1</use_large_fieldset>
930
+ <expanded>0</expanded>
931
+ <sort_order>102</sort_order>
932
+ <show_in_default>1</show_in_default>
933
+ <show_in_website>1</show_in_website>
934
+ <show_in_store>1</show_in_store>
935
+ <image_logo>st_logo_strapline_100_32.png</image_logo>
936
+ <activity_path>payment/securetrading_stpp_direct/active</activity_path>
937
+ <fields>
938
+ <securetrading_stpp_direct_config_basic type="group" translate="label" module="securetrading_stpp">
939
+ <label>Required Settings</label>
940
+ </securetrading_stpp_direct_config_basic>
941
+ <securetrading_stpp_direct_config_gateway type="group" translate="label" module="securetrading_stpp">
942
+ <label>Optional Settings</label>
943
+ </securetrading_stpp_direct_config_gateway>
944
+ </fields>
945
+ </securetrading_stpp_direct>
946
+ <securetrading_stpp_tokenization type="group" translate="label header_comment" module="securetrading_stpp">
947
+ <label>Secure Trading Tokenization</label>
948
+ <header_comment>Tokenization improves the checkout experience by allowing the customer to store their payment details.</header_comment>
949
+ <help_urls>
950
+ <ppg>
951
+ <text>PPg Help</text>
952
+ <url>http://www.securetrading.com/files/documentation/Magento-PaymentPages-User-Guide-3-5.pdf</url>
953
+ </ppg>
954
+ <api>
955
+ <text>API Help</text>
956
+ <url>http://www.securetrading.com/files/documentation/Magento-API-User-Guide-3-5.pdf</url>
957
+ </api>
958
+ </help_urls>
959
+ <frontend_model>securetrading_stpp/adminhtml_system_config_fieldset_fields</frontend_model>
960
+ <use_large_fieldset>1</use_large_fieldset>
961
+ <expanded>0</expanded>
962
+ <sort_order>103</sort_order>
963
+ <show_in_default>1</show_in_default>
964
+ <show_in_website>1</show_in_website>
965
+ <show_in_store>1</show_in_store>
966
+ <image_logo>st_logo_strapline_100_32.png</image_logo>
967
+ <activity_path>payment/securetrading_stpp_tokenization/active</activity_path>
968
  <fields>
969
+ <securetrading_stpp_tokenization_config_basic type="group" translate="label" module="securetrading_stpp">
970
+ <label>Required Settings</label>
971
+ </securetrading_stpp_tokenization_config_basic>
972
+ <securetrading_stpp_tokenization_config_gateway type="group" translate="label" module="securetrading_stpp">
973
+ <label>Optional Settings</label>
974
+ </securetrading_stpp_tokenization_config_gateway>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
975
  </fields>
976
+ </securetrading_stpp_tokenization>
977
+ </fields>
978
+ </securetrading_stpp>
979
+ </groups>
980
+ </payment>
981
+ </securetrading_stpp_sections>
982
  </config>
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Facade.php CHANGED
@@ -165,7 +165,11 @@ class Stpp_Api_Facade extends Stpp_Facade {
165
  if ($this->_config->has($key . 'alias')) {
166
  $webServices->setAlias($this->_config->get($key . 'alias'));
167
  }
168
-
 
 
 
 
169
  return $webServices;
170
  }
171
 
165
  if ($this->_config->has($key . 'alias')) {
166
  $webServices->setAlias($this->_config->get($key . 'alias'));
167
  }
168
+
169
+ if ($this->_config->has($key . 'user_agent')) {
170
+ $webServices->setUserAgent($this->_config->get($key . 'user_agent'));
171
+ }
172
+
173
  return $webServices;
174
  }
175
 
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Helper.php CHANGED
@@ -231,7 +231,7 @@ class Stpp_Api_Helper extends Stpp_Component_Abstract implements Stpp_Api_Helper
231
  $accountType = Stpp_Types::ACCOUNT_FRAUDCONTROL;
232
  break;
233
  case Stpp_Types::API_ACCOUNTCHECK:
234
- $accountType = Stpp_Types::ACCOUNT_ECOM;
235
  break;
236
  case Stpp_Types::API_CARDSTORE:
237
  $accountType = Stpp_Types::ACCOUNT_CARDSTORE;
231
  $accountType = Stpp_Types::ACCOUNT_FRAUDCONTROL;
232
  break;
233
  case Stpp_Types::API_ACCOUNTCHECK:
234
+ $accountType = $this->_adminAction ? Stpp_Types::ACCOUNT_MOTO : Stpp_Types::ACCOUNT_ECOM;
235
  break;
236
  case Stpp_Types::API_CARDSTORE:
237
  $accountType = Stpp_Types::ACCOUNT_CARDSTORE;
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Log.php CHANGED
@@ -18,6 +18,8 @@ class Stpp_Api_Log extends Stpp_Utility_Log_User_Abstract implements Stpp_Api_Lo
18
  return;
19
  }
20
  $request = $response->getRequest();
 
 
21
  $request->removeSecureData();
22
 
23
  $message = 'Request' . ':';
18
  return;
19
  }
20
  $request = $response->getRequest();
21
+ $request = clone $request;
22
+
23
  $request->removeSecureData();
24
 
25
  $message = 'Request' . ':';
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Api/Xml/Writer.php CHANGED
@@ -370,6 +370,21 @@ class Stpp_Api_Xml_Writer extends Stpp_Component_Abstract implements Stpp_Api_Xm
370
  $xmlWriter->writeElement('termurl', $request->get('termurl'));
371
  }
372
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
373
  // </merchant>
374
  $xmlWriter->endElement();
375
 
@@ -399,6 +414,9 @@ class Stpp_Api_Xml_Writer extends Stpp_Component_Abstract implements Stpp_Api_Xm
399
  // <country></country>
400
  $xmlWriter->writeElement('country', $request->get('customercountryiso2a'));
401
 
 
 
 
402
  // <name>
403
  $xmlWriter->startElement('name');
404
 
@@ -455,6 +473,9 @@ class Stpp_Api_Xml_Writer extends Stpp_Component_Abstract implements Stpp_Api_Xm
455
  // <country></country>
456
  $xmlWriter->writeElement('country', $request->get('billingcountryiso2a'));
457
 
 
 
 
458
  // <payment type=''>
459
  $xmlWriter->startElement('payment');
460
  $xmlWriter->writeAttribute('type', $request->get('paymenttype'));
@@ -533,21 +554,6 @@ class Stpp_Api_Xml_Writer extends Stpp_Component_Abstract implements Stpp_Api_Xm
533
  // <parenttransactionreference></parenttransactionreference>
534
  $xmlWriter->writeElement('parenttransactionreference', $request->get('parenttransactionreference'));
535
 
536
- // <customfield1></customfield1>
537
- $xmlWriter->writeElement('customfield1', $request->get('customfield1'));
538
-
539
- // <customfield2></customfield2>
540
- $xmlWriter->writeElement('customfield2', $request->get('customfield2'));
541
-
542
- // <customfield3></customfield3>
543
- $xmlWriter->writeElement('customfield3', $request->get('customfield3'));
544
-
545
- // <customfield4></customfield4>
546
- $xmlWriter->writeElement('customfield4', $request->get('customfield4'));
547
-
548
- // <customfield5></customfield5>
549
- $xmlWriter->writeElement('customfield5', $request->get('customfield5'));
550
-
551
  // </operation>
552
  $xmlWriter->endElement();
553
 
370
  $xmlWriter->writeElement('termurl', $request->get('termurl'));
371
  }
372
 
373
+ // <customfield1></customfield1>
374
+ $xmlWriter->writeElement('customfield1', $request->get('customfield1'));
375
+
376
+ // <customfield2></customfield2>
377
+ $xmlWriter->writeElement('customfield2', $request->get('customfield2'));
378
+
379
+ // <customfield3></customfield3>
380
+ $xmlWriter->writeElement('customfield3', $request->get('customfield3'));
381
+
382
+ // <customfield4></customfield4>
383
+ $xmlWriter->writeElement('customfield4', $request->get('customfield4'));
384
+
385
+ // <customfield5></customfield5>
386
+ $xmlWriter->writeElement('customfield5', $request->get('customfield5'));
387
+
388
  // </merchant>
389
  $xmlWriter->endElement();
390
 
414
  // <country></country>
415
  $xmlWriter->writeElement('country', $request->get('customercountryiso2a'));
416
 
417
+ // <county></county>
418
+ $xmlWriter->writeElement('county', $request->get('customercounty'));
419
+
420
  // <name>
421
  $xmlWriter->startElement('name');
422
 
473
  // <country></country>
474
  $xmlWriter->writeElement('country', $request->get('billingcountryiso2a'));
475
 
476
+ // <county></county>
477
+ $xmlWriter->writeElement('county', $request->get('billingcounty'));
478
+
479
  // <payment type=''>
480
  $xmlWriter->startElement('payment');
481
  $xmlWriter->writeAttribute('type', $request->get('paymenttype'));
554
  // <parenttransactionreference></parenttransactionreference>
555
  $xmlWriter->writeElement('parenttransactionreference', $request->get('parenttransactionreference'));
556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557
  // </operation>
558
  $xmlWriter->endElement();
559
 
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Fields/Admin.php CHANGED
@@ -16,7 +16,9 @@ class Stpp_Fields_Admin extends Stpp_Component_Abstract implements Stpp_Fields_A
16
  const FIELD_PPG_CHILD_CSS = 'f_ppg_ccss';
17
  const FIELD_PPG_PARENT_JS = 'f_ppg_pjs';
18
  const FIELD_PPG_CHILD_JS = 'f_ppg_cjs';
19
- const FIELD_PPG_SUB_SITE_REFERENCE = 'f_ppg_ssref';
 
 
20
 
21
  const FIELD_PPG_USE_IFRAME = 'f_ppg_iframe';
22
  const FIELD_PPG_USE_API = 'f_ppg_useapi';
@@ -110,17 +112,25 @@ class Stpp_Fields_Admin extends Stpp_Component_Abstract implements Stpp_Fields_A
110
  self::FIELD_TYPE_NAME => $this->__('Child JS'),
111
  self::FIELD_TYPE_DESCRIPTION => $this->__('The child JS file is loaded after the default Payment Pages Javascript file has been loaded. You can use a child JS file to make small alterations to the default Payment Pages behaviour. Upload this file to the MyST File Manager and then enter the filename of the file you uploaded to the File Manager here, without the file path or the extension.'),
112
  ),
113
- self::FIELD_PPG_SUB_SITE_REFERENCE => array(
114
- self::FIELD_TYPE_NAME => $this->__('Sub Site Reference'),
115
- self::FIELD_TYPE_DESCRIPTION => $this->__('The sub site reference, if specified, refers to a set of custom HTML files that will be loaded by the Payment Pages instead of the default HTML files used by Secure Trading. These HTML file must be uploaded to the MyST File Manager. The naming convention of the HTML files is [subsitereference][page type].html. This field should only contain the sub site reference: the [page type] will be determined by the Payment Pages.'),
 
 
 
 
 
 
 
 
116
  ),
117
  self::FIELD_PPG_USE_IFRAME => array(
118
  self::FIELD_TYPE_NAME => $this->__('Use Iframe'),
119
  self::FIELD_TYPE_DESCRIPTION => $this->__('Enabling this option will make the Payment Pages load in an HTML iframe element. Using an iframe in combination with parent/child CSS allows you to make it appear as if the Payment Pages are part of your own website.'),
120
  ),
121
  self::FIELD_PPG_USE_API => array(
122
- self::FIELD_TYPE_NAME => $this->__('Use API with Payment Pages'),
123
- self::FIELD_TYPE_DESCRIPTION => $this->__('Enabling this option will allow your shopping cart to interact with the Secure Trading API using ST API or our WebServices. This allows you to perform TRANSACTIONUPDATE and REFUND requests from the shopping cart without using MyST.'),
124
  ),
125
 
126
  self::FIELD_API_ALL_CONNECTION => array(
16
  const FIELD_PPG_CHILD_CSS = 'f_ppg_ccss';
17
  const FIELD_PPG_PARENT_JS = 'f_ppg_pjs';
18
  const FIELD_PPG_CHILD_JS = 'f_ppg_cjs';
19
+ const FIELD_PPG_ST_PROFILE = 'f_ppg_stprofile';
20
+ const FIELD_PPG_VERSION = 'f_ppg_version';
21
+ const FIELD_PPG_SKIP_CHOICE_PAGE = 'f_ppg_skipchoice';
22
 
23
  const FIELD_PPG_USE_IFRAME = 'f_ppg_iframe';
24
  const FIELD_PPG_USE_API = 'f_ppg_useapi';
112
  self::FIELD_TYPE_NAME => $this->__('Child JS'),
113
  self::FIELD_TYPE_DESCRIPTION => $this->__('The child JS file is loaded after the default Payment Pages Javascript file has been loaded. You can use a child JS file to make small alterations to the default Payment Pages behaviour. Upload this file to the MyST File Manager and then enter the filename of the file you uploaded to the File Manager here, without the file path or the extension.'),
114
  ),
115
+ self::FIELD_PPG_ST_PROFILE => array(
116
+ self::FIELD_TYPE_NAME => $this->__('ST Profile'),
117
+ self::FIELD_TYPE_DESCRIPTION => $this->__('The ST Profile refers to a set of custom HTML files that will be loaded by the Payment Pages instead of the default HTML files used by Secure Trading. These HTML file must be uploaded to the MyST File Manager. See the Payment Pages documentation for more information.'),
118
+ ),
119
+ self::FIELD_PPG_VERSION => array(
120
+ self::FIELD_TYPE_NAME => $this->__('Version'),
121
+ self::FIELD_TYPE_DESCRIPTION => $this->__('The version of the Payment Pages to use. Version 1 supports parent/child CSS/JS and version 2 supports the ST Profile.'),
122
+ ),
123
+ self::FIELD_PPG_SKIP_CHOICE_PAGE => array(
124
+ self::FIELD_TYPE_NAME => $this->__('Skip Choice Page'),
125
+ self::FIELD_TYPE_DESCRIPTION => $this->__('Enabling this will let your customers select their payment type (Visa etc.) on your website rather than on the Payment Pages.'),
126
  ),
127
  self::FIELD_PPG_USE_IFRAME => array(
128
  self::FIELD_TYPE_NAME => $this->__('Use Iframe'),
129
  self::FIELD_TYPE_DESCRIPTION => $this->__('Enabling this option will make the Payment Pages load in an HTML iframe element. Using an iframe in combination with parent/child CSS allows you to make it appear as if the Payment Pages are part of your own website.'),
130
  ),
131
  self::FIELD_PPG_USE_API => array(
132
+ self::FIELD_TYPE_NAME => $this->__('Perform Back-Office Operations'),
133
+ self::FIELD_TYPE_DESCRIPTION => $this->__('Enabling this option will allow your shopping cart to interact with the Secure Trading API using our Web Services. This allows you to perform TRANSACTIONUPDATE and REFUND requests from the shopping cart without using MyST.'),
134
  ),
135
 
136
  self::FIELD_API_ALL_CONNECTION => array(
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/Http/Base.php CHANGED
@@ -36,13 +36,20 @@ class Stpp_Http_Base extends Stpp_Component_Abstract implements Stpp_Http_BaseIn
36
  protected $_sleepUseconds = 1000000;
37
 
38
  protected $_curlReadFunctionCalled = false;
39
-
 
 
40
  public function __construct() {
41
  parent::__construct();
42
  $this->_timeout += $this->_connectTimeout; // Allow 60 seconds to send and receive data and allow time for one connection attempt.
43
  $this->_ch = curl_init();
44
  }
45
 
 
 
 
 
 
46
  public function setUrl($url) {
47
  $this->_url = $url;
48
  return $this;
@@ -202,7 +209,7 @@ class Stpp_Http_Base extends Stpp_Component_Abstract implements Stpp_Http_BaseIn
202
  curl_setopt($this->_ch, CURLOPT_TIMEOUT, $this->_timeout);
203
  curl_setopt($this->_ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
204
  curl_setopt($this->_ch, CURLOPT_USERPWD, $this->_username . ':' . $this->_password);
205
- curl_setopt($this->_ch, CURLOPT_USERAGENT, '');
206
  curl_setopt($this->_ch, CURLOPT_HTTPHEADER, $this->getHttpHeaders());
207
 
208
  if (!empty($this->_sslCaCertFile)) {
36
  protected $_sleepUseconds = 1000000;
37
 
38
  protected $_curlReadFunctionCalled = false;
39
+
40
+ protected $_userAgent = '';
41
+
42
  public function __construct() {
43
  parent::__construct();
44
  $this->_timeout += $this->_connectTimeout; // Allow 60 seconds to send and receive data and allow time for one connection attempt.
45
  $this->_ch = curl_init();
46
  }
47
 
48
+ public function setUserAgent($userAgent) {
49
+ $this->_userAgent = $userAgent;
50
+ return $this;
51
+ }
52
+
53
  public function setUrl($url) {
54
  $this->_url = $url;
55
  return $this;
209
  curl_setopt($this->_ch, CURLOPT_TIMEOUT, $this->_timeout);
210
  curl_setopt($this->_ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
211
  curl_setopt($this->_ch, CURLOPT_USERPWD, $this->_username . ':' . $this->_password);
212
+ curl_setopt($this->_ch, CURLOPT_USERAGENT, $this->_userAgent);
213
  curl_setopt($this->_ch, CURLOPT_HTTPHEADER, $this->getHttpHeaders());
214
 
215
  if (!empty($this->_sslCaCertFile)) {
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Base.php CHANGED
@@ -11,7 +11,9 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
11
 
12
  const PPAGES_MOTO_DETAILS_URL = 'https://payments.securetrading.net/login/payments/details';
13
 
14
- const PPAGES_VERSION = 1;
 
 
15
 
16
  protected $_actionInstance;
17
 
@@ -30,17 +32,27 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
30
  protected $_siteSecurityPassword = '';
31
 
32
  protected $_siteSecurityHashAlgorithm = 'sha256';
33
-
34
  protected $_siteSecurityHashFields = array(
35
- 'currencyiso3a',
36
- 'mainamount',
37
- 'sitereference',
38
- 'settlestatus',
39
- 'settleduedate',
40
- 'orderreference',
41
- 'accounttypedescription',
 
 
 
 
 
 
 
 
 
 
42
  );
43
-
44
  protected $_useNotificationHash = true;
45
 
46
  protected $_notificationPassword = '';
@@ -108,6 +120,10 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
108
  $this->_siteSecurityPassword = $password;
109
  }
110
 
 
 
 
 
111
  public function setSiteSecurityFields($fields) {
112
  $this->_siteSecurityHashFields = array_unique(
113
  array_merge(
@@ -120,6 +136,7 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
120
 
121
  public function setUseNotificationHash($bool) {
122
  $this->_useNotificationHash = (bool) $bool;
 
123
  }
124
 
125
  public function setNotificationHashAlgorithm($notificationAlgorithm) {
@@ -129,14 +146,17 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
129
 
130
  public function setNotificationHashPassword($password) {
131
  $this->_notificationPassword = $password;
 
132
  }
133
 
134
  public function setBypassChoicePage($bool) {
135
  $this->_bypassChoicePage = (bool) $bool;
 
136
  }
137
 
138
  public function setUseAuthenticatedMoto($bool) {
139
  $this->_useAuthenticatedMoto = (bool) $bool;
 
140
  }
141
 
142
  public function run(Stpp_Data_Request $request) {
@@ -145,7 +165,6 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
145
  if ($this->_useSiteSecurity) {
146
  $this->_request->set("sitesecurity", $this->_createSiteSecurityHash());
147
  }
148
- $this->_request->set("version", self::PPAGES_VERSION);
149
 
150
  $data = $this->_request->toArray();
151
  $redirectUrl = $this->_usePost ? $this->_getHttpPostUrl($data) : $this->_getHttpGetUrl($data);
@@ -158,17 +177,24 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
158
  ;
159
  return $result;
160
  }
161
-
162
- protected function _createSiteSecurityHash() {
163
- $valuesToHash = array();
164
-
165
- foreach($this->_siteSecurityHashFields as $field) {
166
- $valuesToHash[] = $this->_request->get($field);
167
- }
168
- $valuesToHash[] = $this->_siteSecurityPassword;
169
- return 'g' . hash($this->_siteSecurityHashAlgorithm, implode('', $valuesToHash));
 
 
 
 
170
  }
171
-
 
 
 
172
  protected function _getHttpPostUrl() {
173
  return $this->_getPaymentPagesUrl();
174
  }
@@ -221,7 +247,7 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
221
  if (!isset($_POST['requesttypedescription'])) {
222
  throw new Stpp_Exception($this->__('The requesttypedescription has not been posted to the notification.'));
223
  }
224
-
225
  $response = $this->_mapResponse();
226
 
227
  $this->_getActionInstance()->validateNotification($response);
@@ -258,11 +284,14 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
258
  case Stpp_Types::API_ACCOUNTCHECK:
259
  $this->_getActionInstance()->processAccountCheck($response);
260
  break;
 
261
  case Stpp_Types::API_TRANSACTIONUPDATE:
262
  $this->_getActionInstance()->processTransactionUpdate($response);
263
  break;
 
264
  default:
265
- throw new Stpp_Exception(sprintf($this->__('An unhandled responsetype has been provided: "%s".'), $_POST['requesttypedescription']));
 
266
  }
267
 
268
  $this->_getActionInstance()->saveNotificationReference($_POST['notificationreference']);
@@ -273,20 +302,20 @@ class Stpp_PaymentPages_Base extends Stpp_Component_Abstract implements Stpp_Pay
273
  unset($fields['responsesitesecurity'], $fields['notificationreference']);
274
  ksort($fields);
275
  array_push($fields, array($password));
276
-
277
  $str = '';
278
  foreach($fields as $k => $vArray) {
279
  $str .= implode('', $vArray);
280
  }
281
  return hash($hashAlgorithm, $str);
282
  }
283
-
284
  protected function _createNotificationHash() {
285
- return $this->_createResponseSiteSecurityHash($this->_getHttpHelper()->retrievePostParams(), $this->_notificationHashAlgorithm, $this->_notificationPassword);
286
  }
287
 
288
  protected function _createRedirectHash() {
289
- return $this->_createResponseSiteSecurityHash($this->_getHttpHelper()->retrieveGetParams(), $this->_siteSecurityHashAlgorithm, $this->_siteSecurityPassword);
290
  }
291
 
292
  protected function _mapResponse() {
11
 
12
  const PPAGES_MOTO_DETAILS_URL = 'https://payments.securetrading.net/login/payments/details';
13
 
14
+ const VERSION_1 = 1;
15
+
16
+ const VERSION_2 = 2;
17
 
18
  protected $_actionInstance;
19
 
32
  protected $_siteSecurityPassword = '';
33
 
34
  protected $_siteSecurityHashAlgorithm = 'sha256';
35
+
36
  protected $_siteSecurityHashFields = array(
37
+ 'currencyiso3a',
38
+ 'mainamount',
39
+ 'sitereference',
40
+ 'settlestatus',
41
+ 'settleduedate',
42
+ 'authmethod',
43
+ 'paypaladdressoverride',
44
+ 'strequiredfields',
45
+ 'version',
46
+ 'stprofile',
47
+ //'ruleidentifier',
48
+ 'ruleidentifiers',//TODO-gateway uses ruleidentifier
49
+ 'stdefaultprofile',
50
+ 'successfulurlredirect',
51
+ 'declinedurlredirect',
52
+ 'successfulurlnotification',
53
+ 'declinedurlnotification',
54
  );
55
+
56
  protected $_useNotificationHash = true;
57
 
58
  protected $_notificationPassword = '';
120
  $this->_siteSecurityPassword = $password;
121
  }
122
 
123
+ public function overrideDefaultSiteSecurityFields(array $fields) {// intended to be called before setSiteSecurityFields().
124
+ $this->_siteSecurityHashFields = $fields;
125
+ }
126
+
127
  public function setSiteSecurityFields($fields) {
128
  $this->_siteSecurityHashFields = array_unique(
129
  array_merge(
136
 
137
  public function setUseNotificationHash($bool) {
138
  $this->_useNotificationHash = (bool) $bool;
139
+ return $this;
140
  }
141
 
142
  public function setNotificationHashAlgorithm($notificationAlgorithm) {
146
 
147
  public function setNotificationHashPassword($password) {
148
  $this->_notificationPassword = $password;
149
+ return $this;
150
  }
151
 
152
  public function setBypassChoicePage($bool) {
153
  $this->_bypassChoicePage = (bool) $bool;
154
+ return $this;
155
  }
156
 
157
  public function setUseAuthenticatedMoto($bool) {
158
  $this->_useAuthenticatedMoto = (bool) $bool;
159
+ return $this;
160
  }
161
 
162
  public function run(Stpp_Data_Request $request) {
165
  if ($this->_useSiteSecurity) {
166
  $this->_request->set("sitesecurity", $this->_createSiteSecurityHash());
167
  }
 
168
 
169
  $data = $this->_request->toArray();
170
  $redirectUrl = $this->_usePost ? $this->_getHttpPostUrl($data) : $this->_getHttpGetUrl($data);
177
  ;
178
  return $result;
179
  }
180
+
181
+ protected function _createSiteSecurityHash() {
182
+ $valuesToHash = array();
183
+ foreach($this->_siteSecurityHashFields as $field) {
184
+ $value = $this->_request->get($field);
185
+ if (is_array($value)) {
186
+ foreach($value as $value2) {
187
+ $valuesToHash[] = $value2;
188
+ }
189
+ }
190
+ else {
191
+ $valuesToHash[] = $value;
192
+ }
193
  }
194
+ $valuesToHash[] = $this->_siteSecurityPassword;
195
+ return 'g' . hash($this->_siteSecurityHashAlgorithm, implode('', $valuesToHash));
196
+ }
197
+
198
  protected function _getHttpPostUrl() {
199
  return $this->_getPaymentPagesUrl();
200
  }
247
  if (!isset($_POST['requesttypedescription'])) {
248
  throw new Stpp_Exception($this->__('The requesttypedescription has not been posted to the notification.'));
249
  }
250
+
251
  $response = $this->_mapResponse();
252
 
253
  $this->_getActionInstance()->validateNotification($response);
284
  case Stpp_Types::API_ACCOUNTCHECK:
285
  $this->_getActionInstance()->processAccountCheck($response);
286
  break;
287
+ /* // TODO - quick solution to prevent TRANSACTIONUPDATE notifications from being processed by the Magento module. this should not go into the proper framework release.
288
  case Stpp_Types::API_TRANSACTIONUPDATE:
289
  $this->_getActionInstance()->processTransactionUpdate($response);
290
  break;
291
+ */
292
  default:
293
+ return;
294
+ //throw new Stpp_Exception(sprintf($this->__('An unhandled responsetype has been provided: "%s".'), $_POST['requesttypedescription'])); // so http 200 returned - TODO - this was for magento module only.
295
  }
296
 
297
  $this->_getActionInstance()->saveNotificationReference($_POST['notificationreference']);
302
  unset($fields['responsesitesecurity'], $fields['notificationreference']);
303
  ksort($fields);
304
  array_push($fields, array($password));
305
+
306
  $str = '';
307
  foreach($fields as $k => $vArray) {
308
  $str .= implode('', $vArray);
309
  }
310
  return hash($hashAlgorithm, $str);
311
  }
312
+
313
  protected function _createNotificationHash() {
314
+ return $this->_createResponseSiteSecurityHash($this->_getHttpHelper()->retrievePostParams(), $this->_notificationHashAlgorithm, $this->_notificationPassword);
315
  }
316
 
317
  protected function _createRedirectHash() {
318
+ return $this->_createResponseSiteSecurityHash($this->_getHttpHelper()->retrieveGetParams(), $this->_siteSecurityHashAlgorithm, $this->_siteSecurityPassword);
319
  }
320
 
321
  protected function _mapResponse() {
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Facade.php CHANGED
@@ -24,6 +24,12 @@ class Stpp_PaymentPages_Facade extends Stpp_Facade {
24
  $ppages->setSiteSecurityPassword($this->_config->get('interfaces/ppages/sitesecurity/password'));
25
  }
26
 
 
 
 
 
 
 
27
  if ($this->_config->has('interfaces/ppages/sitesecurity/fields')) {
28
  $ppages->setSiteSecurityFields($this->_config->get('interfaces/ppages/sitesecurity/fields'));
29
  }
@@ -62,9 +68,9 @@ class Stpp_PaymentPages_Facade extends Stpp_Facade {
62
  return new Stpp_Http_Helper();
63
  }
64
 
65
- public function runPaymentPagesStandard(Stpp_Data_Request $request, $adminAction = false) {
66
  $request = $this->newPaymentPagesHelper()->setAdminAction($adminAction)->prepareStandard($request);
67
- $result = $this->newPaymentPages()->run($request);
68
  return $result;
69
  }
70
  }
24
  $ppages->setSiteSecurityPassword($this->_config->get('interfaces/ppages/sitesecurity/password'));
25
  }
26
 
27
+ ##
28
+ if ($this->_config->has('interfaces/ppages/sitesecurity/default_field_override')) {
29
+ $ppages->overrideDefaultSiteSecurityFields($this->_config->get('interfaces/ppages/sitesecurity/default_field_override'));
30
+ }
31
+ ##
32
+
33
  if ($this->_config->has('interfaces/ppages/sitesecurity/fields')) {
34
  $ppages->setSiteSecurityFields($this->_config->get('interfaces/ppages/sitesecurity/fields'));
35
  }
68
  return new Stpp_Http_Helper();
69
  }
70
 
71
+ public function runPaymentPagesStandard(Stpp_Data_Request $request, $bypassChoicePage = false, $adminAction = false) {
72
  $request = $this->newPaymentPagesHelper()->setAdminAction($adminAction)->prepareStandard($request);
73
+ $result = $this->newPaymentPages()->setBypassChoicePage($bypassChoicePage)->run($request);
74
  return $result;
75
  }
76
  }
app/code/local/Securetrading/Stpp/lib/code/core/Stpp/PaymentPages/Helper.php CHANGED
@@ -14,12 +14,24 @@ class Stpp_PaymentPages_Helper extends Stpp_Component_Abstract implements Stpp_P
14
  return $this;
15
  }
16
 
 
 
 
 
 
 
 
 
 
 
 
17
  public function prepareStandard(Stpp_Data_Request $request) {
18
  $accountTypeDescription = $this->_adminAction ? Stpp_Types::ACCOUNT_MOTO : Stpp_Types::ACCOUNT_ECOM;
19
  $request->set('accounttypedescription', $accountTypeDescription);
 
20
  return $request;
21
  }
22
-
23
  public function prepareExtended(Stpp_Data_Request $request) {
24
  $requestTypeDescriptions = array(Stpp_Types::API_AUTH);
25
 
@@ -40,6 +52,7 @@ class Stpp_PaymentPages_Helper extends Stpp_Component_Abstract implements Stpp_P
40
  $request->set('accounttypedescription', $accountTypeDescription);
41
  $request->set('requesttypedescriptions', $requestTypeDescriptions);
42
 
 
43
  return $request;
44
  }
45
  }
14
  return $this;
15
  }
16
 
17
+ protected function _setVersion(Stpp_Data_Request $request) {
18
+ if (!$request->has('version')) {
19
+ if ($request->has('stprofile')) {
20
+ $request->set('version', Stpp_PaymentPages_Base::VERSION_2);
21
+ }
22
+ else {
23
+ $request->set('version', Stpp_PaymentPages_Base::VERSION_1);
24
+ }
25
+ }
26
+ }
27
+
28
  public function prepareStandard(Stpp_Data_Request $request) {
29
  $accountTypeDescription = $this->_adminAction ? Stpp_Types::ACCOUNT_MOTO : Stpp_Types::ACCOUNT_ECOM;
30
  $request->set('accounttypedescription', $accountTypeDescription);
31
+ $this->_setVersion($request);
32
  return $request;
33
  }
34
+
35
  public function prepareExtended(Stpp_Data_Request $request) {
36
  $requestTypeDescriptions = array(Stpp_Types::API_AUTH);
37
 
52
  $request->set('accounttypedescription', $accountTypeDescription);
53
  $request->set('requesttypedescriptions', $requestTypeDescriptions);
54
 
55
+ $this->_setVersion($request);
56
  return $request;
57
  }
58
  }
app/code/local/Securetrading/Stpp/sql/securetrading_stpp/install-3.6.0.php ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $this->startSetup();
5
+
6
+ // START - Combined install-3.0.0.php to upgrade-3.4.0-3.5.0.php
7
+
8
+ // Request data table:
9
+
10
+ $table = $installer->getConnection()
11
+ ->newTable($installer->getTable('securetrading_stpp/requests'))
12
+ ->addColumn('request_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
13
+ 'identity' => true,
14
+ 'unsigned' => true,
15
+ 'nullable' => false,
16
+ 'primary' => true,
17
+ ), 'Request ID')
18
+ ->addColumn('order_increment_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50, array(
19
+ 'nullable' => false,
20
+ ), 'Order Increment ID')
21
+ ->addColumn('request', Varien_Db_Ddl_Table::TYPE_BLOB, null, array(
22
+ 'nullable' => false,
23
+ ), 'Request (Serialized)')
24
+ ->addForeignKey($installer->getFkName('securetrading_stpp/requests', 'order_increment_id', 'sales/order', 'increment_id'),
25
+ 'order_increment_id', $installer->getTable('sales/order'), 'increment_id',
26
+ Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
27
+ ->addIndex($installer->getIdxName('securetrading_stpp/requests', array('order_increment_id'), Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE),
28
+ array('order_increment_id'), array('type' => Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE))
29
+ ->setComment('Stores Secure Trading STPP Payment Pages request data. This data is mapped to the response object in the notification.')
30
+ ;
31
+ $installer->getConnection()->createTable($table);
32
+
33
+ // Notifications table:
34
+
35
+ $table = $installer->getConnection()
36
+ ->newTable($installer->getTable('securetrading_stpp/notifications'))
37
+ ->addColumn('notification_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
38
+ 'identity' => true,
39
+ 'unsigned' => true,
40
+ 'nullable' => false,
41
+ 'primary' => true,
42
+ ), 'Notification ID')
43
+ ->addColumn('notification_reference', Varien_Db_Ddl_Table::TYPE_CHAR, 11, array(
44
+ 'nullable' => false,
45
+ ), 'Notification Reference')
46
+ ->addIndex($installer->getIdxName('securetrading_stpp/notifications', array('notification_reference')),
47
+ array('notification_reference'))
48
+ ->setComment('Stores Payment Pages notification references.')
49
+ ;
50
+ $installer->getConnection()->createTable($table);
51
+
52
+ // Transaction types table:
53
+
54
+ $table = $installer->getConnection()
55
+ ->newTable($installer->getTable('securetrading_stpp/transaction_types'))
56
+ ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32, array(
57
+ 'nullable' => false,
58
+ 'primary' => true,
59
+ ), 'ID')
60
+ ->addColumn('type_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32, array(
61
+ 'nullable' => false,
62
+ ), 'Name')
63
+ ->setComment('Secure Trading API transaction types (e.g. AUTH, RISKDEC)')
64
+ ;
65
+ $installer->getConnection()->createTable($table);
66
+
67
+ $data = array(
68
+ array(
69
+ 'type_id' => 'auth',
70
+ 'type_name' => 'Auth',
71
+ ),
72
+ array(
73
+ 'type_id' => 'threedquery',
74
+ 'type_name' => '3D Query',
75
+ ),
76
+ array(
77
+ 'type_id' => 'riskdec',
78
+ 'type_name' => 'Risk Decision',
79
+ ),
80
+ array(
81
+ 'type_id' => 'cardstore',
82
+ 'type_name' => 'Card Store',
83
+ ),
84
+ array(
85
+ 'type_id' => 'error',
86
+ 'type_name' => 'Error',
87
+ ),
88
+ array(
89
+ 'type_id' => 'transactionupdate',
90
+ 'type_name' => 'Transaction Update',
91
+ ),
92
+ array(
93
+ 'type_id' => 'transactionquery',
94
+ 'type_name' => 'Transaction Query',
95
+ ),
96
+ array(
97
+ 'type_id' => 'accountcheck',
98
+ 'type_name' => 'Account Check',
99
+ ),
100
+ array(
101
+ 'type_id' => 'refund',
102
+ 'type_name' => 'Refund',
103
+ ),
104
+ );
105
+
106
+ $transactionTypesTable = $installer->getTable('securetrading_stpp/transaction_types');
107
+ $installer->getConnection()->insertArray($transactionTypesTable, array('type_id', 'type_name'), $data);
108
+
109
+ // Transactions table:
110
+
111
+ $table = $installer->getConnection()
112
+ ->newTable($installer->getTable('securetrading_stpp/transactions'))
113
+ ->addColumn('transaction_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
114
+ 'nullable' => false,
115
+ 'primary' => true,
116
+ 'identity' => true,
117
+ 'unsigned' => true,
118
+ ), 'Transaction ID')
119
+ ->addColumn('transaction_reference', Varien_Db_Ddl_Table::TYPE_VARCHAR, 25, array(
120
+ 'nullable' => true, //e.g. for PPG saving data before post.
121
+ ), 'Transaction Reference')
122
+ ->addColumn('parent_transaction_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
123
+ 'nullable' => true, //e.g. if transaction has no parent
124
+ 'unsigned' => true,
125
+ ), 'Parent Transaction ID')
126
+ ->addColumn('request_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32, array(
127
+ 'nullable' => false,
128
+ ), 'Request Type')
129
+ ->addColumn('response_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32, array(
130
+ 'nullable' => false,
131
+ ), 'Response Type')
132
+ ->addColumn('request_data', Varien_Db_Ddl_Table::TYPE_BLOB, null, array(
133
+ 'nullable' => false,
134
+ ), 'Request Data')
135
+ ->addColumn('response_data', Varien_Db_Ddl_Table::TYPE_BLOB, null, array(
136
+ 'nullable' => false,
137
+ ), 'Response Data')
138
+ ->addColumn('error_code', Varien_Db_Ddl_Table::TYPE_VARCHAR, 5, array(
139
+ 'nullable' => false,
140
+ ), 'Error Code')
141
+ ->addColumn('order_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
142
+ ), 'Order ID')
143
+ ->addColumn('account_type_description', Varien_Db_Ddl_Table::TYPE_TEXT, 30, array(
144
+ 'nullable' => true,
145
+ ), 'Account Type Description')
146
+ ->addColumn('last_updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
147
+ 'nullable' => false,
148
+ ), 'Last Updated At')
149
+ ->addForeignKey($installer->getFkName('securetrading_stpp/transactions', 'order_id', 'sales/order', 'entity_id'),
150
+ 'order_id', $installer->getTable('sales/order'), 'entity_id',
151
+ Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
152
+ ->addForeignKey($installer->getFkName('securetrading_stpp/transactions', 'parent_transaction_id', 'securetrading_stpp/transactions', 'transaction_id'),
153
+ 'parent_transaction_id', $installer->getTable('securetrading_stpp/transactions'), 'transaction_id',
154
+ Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
155
+ ->addIndex(
156
+ $installer->getIdxName(
157
+ 'securetrading_stpp/transactions',
158
+ array('transaction_reference', 'order_id'),
159
+ Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE
160
+ ),
161
+ array('transaction_reference', 'order_id'),
162
+ array('type' => Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE)
163
+ )
164
+ ->setComment('Stores Secure Trading STPP transaction details.')
165
+ ;
166
+ $installer->getConnection()->createTable($table);
167
+
168
+ // Order statuses/states:
169
+
170
+ $data = array(
171
+ array(
172
+ 'status' => 'authorized',
173
+ 'label' => 'Authorized',
174
+ ),
175
+ array(
176
+ 'status' => 'suspended',
177
+ 'label' => 'Suspended',
178
+ ),
179
+ array(
180
+ 'status' => 'pending_ppages',
181
+ 'label' => 'Payment Pages',
182
+ ),
183
+ array(
184
+ 'status' => 'pending_3dsecure',
185
+ 'label' => '3D Secure',
186
+ ),
187
+ array(
188
+ 'status' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PENDING_SOFORT,
189
+ 'label' => 'Pending Sofort',
190
+ ),
191
+ array(
192
+ 'status' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PROCESSING_SOFORT,
193
+ 'label' => 'Processing Sofort',
194
+ ),
195
+ );
196
+
197
+ $statusTable = $installer->getTable('sales/order_status');
198
+ $installer->getConnection()->insertArray($statusTable, array('status', 'label'), $data);
199
+
200
+ $data = array(
201
+ array(
202
+ 'status' => 'authorized',
203
+ 'state' => 'processing',
204
+ 'is_default' => 0,
205
+ ),
206
+ array(
207
+ 'status' => 'suspended',
208
+ 'state' => 'payment_review',
209
+ 'is_default' => 0,
210
+ ),
211
+ array(
212
+ 'status' => 'pending_ppages',
213
+ 'state' => 'pending_payment',
214
+ 'is_default' => 0,
215
+ ),
216
+ array(
217
+ 'status' => 'pending_3dsecure',
218
+ 'state' => 'pending_payment',
219
+ 'is_default' => 0,
220
+ ),
221
+ array(
222
+ 'status' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PENDING_SOFORT,
223
+ 'state' => Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
224
+ 'is_default' => 0,
225
+ ),
226
+ array(
227
+ 'status' => Securetrading_Stpp_Model_Payment_Abstract::STATUS_PROCESSING_SOFORT,
228
+ 'state' => Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
229
+ 'is_default' => 0,
230
+ ),
231
+ );
232
+
233
+ $statusStateTable = $installer->getTable('sales/order_status_state');
234
+ $installer->getConnection()->insertArray($statusStateTable, array('status', 'state', 'is_default'), $data);
235
+
236
+ // Billing Agreement Currency Table
237
+
238
+ $table = $installer->getConnection()
239
+ ->newTable($installer->getTable('securetrading_stpp/billing_agreement_currency'))
240
+ ->addColumn('agreement_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
241
+ 'unsigned' => true,
242
+ 'nullable' => false,
243
+ 'primary' => true,
244
+ ), 'Agreement ID')
245
+ ->addColumn('base_currency', Varien_Db_Ddl_Table::TYPE_CHAR, 3, array(
246
+ 'nullable' => false,
247
+ ), 'Base Currency')
248
+ ->addForeignKey($installer->getFkName('securetrading_stpp/billing_agreement_currency', 'agreement_id', 'sales/billing_agreement', 'agreement_id'),
249
+ 'agreement_id', $installer->getTable('sales/billing_agreement'), 'agreement_id',
250
+ Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
251
+ )
252
+ ->setComment('Restricts a billing agreement so that it can only be used for one curency. If no entries in this table assume the billing agreement can be used for all currencies.')
253
+ ;
254
+ $installer->getConnection()->createTable($table);
255
+
256
+ // Billing Agreement Payment Type Description Table
257
+
258
+ $table = $installer->getConnection()
259
+ ->newTable($installer->getTable('securetrading_stpp/billing_agreement_paymenttypedescription'))
260
+ ->addColumn('agreement_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
261
+ 'unsigned' => true,
262
+ 'nullable' => false,
263
+ 'primary' => true,
264
+ ), 'Agreement ID')
265
+ ->addColumn('payment_type_description', Varien_Db_Ddl_Table::TYPE_VARCHAR, 30, array(
266
+ 'nullable' => false,
267
+ ), 'Payment Type Description')
268
+ ->addForeignKey($installer->getFkName('securetrading_stpp/billing_agreement_paymenttypedescription', 'agreement_id', 'sales/billing_agreement', 'agreement_id'),
269
+ 'agreement_id', $installer->getTable('sales/billing_agreement'), 'agreement_id',
270
+ Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
271
+ )
272
+ ->setComment('Stores the Secure Trading paymenttypedescription used for a Secure Trading transaction (the billing agremeent\'s reference ID)')
273
+ ;
274
+ $installer->getConnection()->createTable($table);
275
+
276
+ // END - Combined install-3.0.0.php to upgrade-3.4.0-3.5.0.php
277
+
278
+ if (extension_loaded('openssl')) {
279
+ $config = Mage::getModel('core/config');
280
+ $config->saveConfig('payment/securetrading_stpp_redirect/site_security_password', Mage::helper('core')->encrypt(Mage::helper('securetrading_stpp')->generatePassword()));
281
+ $config->saveConfig('payment/securetrading_stpp_redirect/ws_password', Mage::helper('core')->encrypt(Mage::helper('securetrading_stpp')->generatePassword()));
282
+ $config->saveConfig('payment/securetrading_stpp_direct/ws_password', Mage::helper('core')->encrypt(Mage::helper('securetrading_stpp')->generatePassword()));
283
+ }
284
+
285
+ $installer->endSetup();
app/code/local/Securetrading/Stpp/sql/securetrading_stpp/upgrade-3.5.2-3.6.0.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once(Mage::getModuleDir('', 'Securetrading_Stpp') . DS . 'lib' . DS . 'Securetrading.php');
4
+ Securetrading::init();
5
+
6
+ $installer = $this;
7
+ $installer->startSetup();
8
+
9
+ $coreConfigDataCollection = Mage::getModel('core/config_data')->getCollection()->addFieldToFilter('path', array(
10
+ array('eq' => 'payment/securetrading_stpp_redirect/connection'),
11
+ array('eq' => 'payment/securetrading_stpp_direct/connection'),
12
+ ));
13
+
14
+ $usingStapi = false;
15
+ foreach($coreConfigDataCollection as $model) {
16
+ if ($model->getValue() === Stpp_Api_Connection_Stapi::getKey()) {
17
+ $usingStapi = true;
18
+ break;
19
+ }
20
+ }
21
+
22
+ if ($usingStapi) {
23
+ $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_CRITICAL;
24
+ $title = 'Secure Trading Version 3.6 - STAPI removal. Action required.';
25
+ $description = 'The ST API client is no longer supported as of this release of the Secure Trading module (version 3.6). Connections to the Secure Trading gateway must now be made using our Web Services. To connect via the Web Services please enter a valid Web Services username and password in the module configuration (System - Configuration - Payment Methods - Secure Trading). To obtain a Web Services username please contact support@securetrading.com. Full release notes are available on Magento Connect - please click \'Read Details\'.';
26
+ $url = 'http://www.magentocommerce.com/magento-connect/securetrading.html';
27
+ }
28
+ else {
29
+ $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_NOTICE;
30
+ $title = 'Secure Trading module updated to version 3.6 .';
31
+ $description = 'Your Secure Trading module has been updated to version 3.6. This release has removed the deprecated ST API connection method, simplified the module configuration and introduced support for HTML templating of the Payment Pages. Full release notes are available on Magento Connect - please click \'Read Details\'.';
32
+ $url = 'http://www.magentocommerce.com/magento-connect/securetrading.html';
33
+ }
34
+
35
+ Mage::getModel('adminnotification/inbox')->add($severity, $title, $description, $url);
36
+
37
+ $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_CRITICAL;
38
+ $title = 'Secure Trading Version 3.6 - MyST changes required.';
39
+ $description = 'From this release redirects and notifications no longer need to be configured manually in MyST. Please disable the rules you have configured. Failing to do so will stop the module from functioning as expected. Full release notes are available at the provided URL. ';
40
+ $url = 'http://www.magentocommerce.com/magento-connect/securetrading.html';
41
+ Mage::getModel('adminnotification/inbox')->add($severity, $title, $description, $url);
42
+
43
+ $coreConfigDataCollection = Mage::getModel('core/config_data')->getCollection()->addFieldToFilter('path', array(
44
+ array('like' => 'payment/securetrading_stpp_redirect/transactionsearch_%'),
45
+ array('like' => 'payment/securetrading_stpp_direct/transactionsearch_%'),
46
+ array('like' => 'payment/securetrading_stpp_redirect/stapi_%'),
47
+ array('like' => 'payment/securetrading_stpp_direct/stapi_%'),
48
+ array('eq' => 'payment/securetrading_stpp_redirect/connection'),
49
+ array('eq' => 'payment/securetrading_stpp_direct/connection'),
50
+ array('eq' => 'payment/securetrading_stpp_redirect/ws_alias'),
51
+ array('eq' => 'payment/securetrading_stpp_direct/ws_alias'),
52
+ array('eq' => 'payment/securetrading_stpp_redirect/use_site_security'),
53
+ array('eq' => 'payment/securetrading_stpp_redirect/use_notification_password'),
54
+ array('eq' => 'payment/securetrading_stpp_redirect/notification_password'),
55
+ ));
56
+
57
+ foreach($coreConfigDataCollection as $model) {
58
+ Mage::getModel('core/config')->deleteConfig($model->getPath(), $model->getScope(), $model->getScopeId());
59
+ }
60
+
61
+ Mage::getModel('core/config')->saveConfig('payment/securetrading_stpp_redirect/ppg_version', '1');
62
+
63
+ $installer->endSetup();
app/design/adminhtml/default/default/template/securetrading/stpp/payment/direct/info.phtml CHANGED
@@ -1,8 +1,8 @@
1
  <b><?php print $this->getTitle(); ?></b>
2
  <br /><br />
3
  <ul>
4
- <?php if ($this->getAccountTypeDescription()): ?>
5
- <li>Account Type Description: <?php print $this->getAccountTypeDescription(); ?></li>
6
  <?php endif; ?>
7
  <?php if ($this->getTransactionReference()): ?>
8
  <li>Transaction Reference: <a href="<?php print $this->getTransactionReferenceUrl(); ?>"><?php print $this->getTransactionReference(); ?></a></li>
@@ -15,9 +15,9 @@
15
  <?php endif; ?>
16
  <?php if ($this->getSecurityCode()): ?>
17
  <li>Security Response Security Code: <span style="<?php print $this->getSecurityCodeStyle(); ?>"><?php print $this->getSecurityCode(); ?></span></li>
18
- <?php endif; ?>
19
- <?php if ($this->getFraudControlShieldStatusCode()): ?>
20
- <li>Fraud Control Shield Status Code: <span style="<?php print $this->getFraudControlShieldStatusCodeStyle(); ?>"><?php print $this->getFraudControlShieldStatusCode(); ?></span></li>
21
  <?php endif; ?>
22
  <?php if ($this->getEnrolled()): ?>
23
  <li>3D Enrolled: <?php print $this->getEnrolled(); ?></li>
@@ -31,6 +31,9 @@
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
 
 
 
34
  </ul>
35
  <?php if ($this->getTransactionReference()): ?>
36
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
1
  <b><?php print $this->getTitle(); ?></b>
2
  <br /><br />
3
  <ul>
4
+ <?php if ($this->getAccountTypeDescription()): ?>
5
+ <li>Account Type Description: <?php print $this->getAccountTypeDescription(); ?></li>
6
  <?php endif; ?>
7
  <?php if ($this->getTransactionReference()): ?>
8
  <li>Transaction Reference: <a href="<?php print $this->getTransactionReferenceUrl(); ?>"><?php print $this->getTransactionReference(); ?></a></li>
15
  <?php endif; ?>
16
  <?php if ($this->getSecurityCode()): ?>
17
  <li>Security Response Security Code: <span style="<?php print $this->getSecurityCodeStyle(); ?>"><?php print $this->getSecurityCode(); ?></span></li>
18
+ <?php endif; ?>
19
+ <?php if ($this->getFraudControlShieldStatusCode()): ?>
20
+ <li>Fraud Control Shield Status Code: <span style="<?php print $this->getFraudControlShieldStatusCodeStyle(); ?>"><?php print $this->getFraudControlShieldStatusCode(); ?></span></li>
21
  <?php endif; ?>
22
  <?php if ($this->getEnrolled()): ?>
23
  <li>3D Enrolled: <?php print $this->getEnrolled(); ?></li>
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
34
+ <?php if ($this->getAuthCode()): ?>
35
+ <li>Auth Code: <?php print $this->getAuthCode(); ?></li>
36
+ <?php endif; ?>
37
  </ul>
38
  <?php if ($this->getTransactionReference()): ?>
39
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/direct/info_pdf.phtml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php print $this->getTitle(); ?>
2
+ {{pdf_row_separator}}
3
+ <?php if ($this->getPaymentType()): ?>
4
+ Payment Type: <?php print $this->getPaymentType(); ?>{{pdf_row_separator}}
5
+ <?php endif; ?>
6
+ <?php if ($this->getCcLast4()): ?>
7
+ Last 4 Card Digits: <?php print $this->getCcLast4(); ?>{{pdf_row_separator}}
8
+ <?php endif; ?>
9
+ <?php if ($this->getTransactionReference()): ?>
10
+ Transaction Reference: <?php print $this->getTransactionReference(); ?>{{pdf_row_separator}}
11
+ <?php endif; ?>
12
+ <?php if ($this->getAuthCode()): ?>
13
+ Auth Code: <?php print $this->getAuthCode(); ?>{{pdf_row_separator}}
14
+ <?php endif; ?>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/info.phtml CHANGED
@@ -31,6 +31,9 @@
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
 
 
 
34
  </ul>
35
  <?php if ($this->getTransactionReference()): ?>
36
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
34
+ <?php if ($this->getAuthCode()): ?>
35
+ <li>Auth Code: <?php print $this->getAuthCode(); ?></li>
36
+ <?php endif; ?>
37
  </ul>
38
  <?php if ($this->getTransactionReference()): ?>
39
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/info_pdf.phtml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php print $this->getTitle(); ?>
2
+ {{pdf_row_separator}}
3
+ <?php if ($this->getPaymentType()): ?>
4
+ Payment Type: <?php print $this->getPaymentType(); ?>{{pdf_row_separator}}
5
+ <?php endif; ?>
6
+ <?php if ($this->getCcLast4()): ?>
7
+ Last 4 Card Digits: <?php print $this->getCcLast4(); ?>{{pdf_row_separator}}
8
+ <?php endif; ?>
9
+ <?php if ($this->getTransactionReference()): ?>
10
+ Transaction Reference: <?php print $this->getTransactionReference(); ?>{{pdf_row_separator}}
11
+ <?php endif; ?>
12
+ <?php if ($this->getAuthCode()): ?>
13
+ Auth Code: <?php print $this->getAuthCode(); ?>{{pdf_row_separator}}
14
+ <?php endif; ?>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/redirect/post.phtml CHANGED
@@ -1,6 +1,20 @@
1
  <form action="<?php print $this->getRedirectUrl(); ?>" method="post" id="securetrading_stpp_redirect_form">
2
  <?php foreach($this->getRedirectData() as $k => $v): ?>
3
- <input type="hidden" name="<?php print $k; ?>" value="<?php print Mage::helper('core')->escapeHtml($v); ?>" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  <?php endforeach; ?>
5
  <input type="submit" value="Pay" />
6
  </form>
1
  <form action="<?php print $this->getRedirectUrl(); ?>" method="post" id="securetrading_stpp_redirect_form">
2
  <?php foreach($this->getRedirectData() as $k => $v): ?>
3
+ <?php if ($k == 'ruleidentifiers'): ?>
4
+ <?php foreach($v as $ruleIdentifier): ?>
5
+ <input type="hidden" name="ruleidentifier" value="<?php print Mage::helper('core')->escapeHtml($ruleIdentifier); ?>" />
6
+ <?php endforeach; ?>
7
+ <?php elseif ($k == 'stextraurlnotifyfields'): ?>
8
+ <?php foreach($v as $notifyField): ?>
9
+ <input type="hidden" name="stextraurlnotifyfields" value="<?php print Mage::helper('core')->escapeHtml($notifyField); ?>" />
10
+ <?php endforeach; ?>
11
+ <?php elseif ($k == 'stextraurlredirectfields'): ?>
12
+ <?php foreach($v as $redirectField): ?>
13
+ <input type="hidden" name="stextraurlredirectfields" value="<?php print Mage::helper('core')->escapeHtml($redirectField); ?>" />
14
+ <?php endforeach; ?>
15
+ <?php else: ?>
16
+ <input type="hidden" name="<?php print $k; ?>" value="<?php print Mage::helper('core')->escapeHtml($v); ?>" />
17
+ <?php endif; ?>
18
  <?php endforeach; ?>
19
  <input type="submit" value="Pay" />
20
  </form>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/tokenization/info.phtml CHANGED
@@ -31,6 +31,9 @@
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
 
 
 
34
  </ul>
35
  <?php if ($this->getTransactionReference()): ?>
36
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
31
  <?php if ($this->getCcLast4()): ?>
32
  <li>Last 4 Card Digits: <?php print $this->getCcLast4(); ?></li>
33
  <?php endif; ?>
34
+ <?php if ($this->getAuthCode()): ?>
35
+ <li>Auth Code: <?php print $this->getAuthCode(); ?></li>
36
+ <?php endif; ?>
37
  </ul>
38
  <?php if ($this->getTransactionReference()): ?>
39
  <a href="<?php print $this->getMystUrl(); ?>" target="_blank">View in MyST</a>
app/design/adminhtml/default/default/template/securetrading/stpp/payment/tokenization/info_pdf.phtml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php print $this->getTitle(); ?>
2
+ {{pdf_row_separator}}
3
+ <?php if ($this->getPaymentType()): ?>
4
+ Payment Type: <?php print $this->getPaymentType(); ?>{{pdf_row_separator}}
5
+ <?php endif; ?>
6
+ <?php if ($this->getCcLast4()): ?>
7
+ Last 4 Card Digits: <?php print $this->getCcLast4(); ?>{{pdf_row_separator}}
8
+ <?php endif; ?>
9
+ <?php if ($this->getTransactionReference()): ?>
10
+ Transaction Reference: <?php print $this->getTransactionReference(); ?>{{pdf_row_separator}}
11
+ <?php endif; ?>
12
+ <?php if ($this->getAuthCode()): ?>
13
+ Auth Code: <?php print $this->getAuthCode(); ?>{{pdf_row_separator}}
14
+ <?php endif; ?>
app/design/adminhtml/default/default/template/securetrading/stpp/system/config/fields/password/button.phtml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ function doIt(element, confirmText) {
3
+ var rv = confirm(confirmText);
4
+ if (rv) {
5
+ new Ajax.Request('<?php print $this->getButtonUrl(); ?>', {
6
+ onSuccess : function(response) {
7
+ document.getElementById(element.getAttribute('data-updates')).value = response.responseText;
8
+ }
9
+ });
10
+ }
11
+ }
12
+ </script>
13
+
14
+ <div class="pp-buttons-container">
15
+ <button onclick="javascript: doIt(this, '<?php print $this->getConfirmText(); ?>');" class="scalable" type="button" id="<?php print $this->getHtmlId(); ?>" data-updates="<?php print $this->getButtonUpdates(); ?>">
16
+ <span>
17
+ <span>
18
+ <span><?php print $this->escapeHtml($this->getButtonLabel()); ?></span>
19
+ </span>
20
+ </span>
21
+ </button>
22
+ </div>
app/design/frontend/base/default/template/securetrading/stpp/payment/direct/form.phtml CHANGED
@@ -1,5 +1,5 @@
1
  <?php $_code = $this->getMethodCode() ?>
2
- <fieldset class="form-list">
3
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
4
  <li>
5
  <span id="<?php print $_code; ?>_description"><?php print $this->getDescription(); ?></span>
1
  <?php $_code = $this->getMethodCode() ?>
2
+ <fieldset class="form-list" style="clear: both;">
3
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
4
  <li>
5
  <span id="<?php print $_code; ?>_description"><?php print $this->getDescription(); ?></span>
app/design/frontend/base/default/template/securetrading/stpp/payment/redirect/form.phtml CHANGED
@@ -1,9 +1,25 @@
1
  <?php $_code = $this->getMethodCode() ?>
2
- <fieldset class="form-list">
3
  <ul id="payment_form_<?php echo $this->getMethodCode(); ?>" style="display:none">
4
  <li>
5
  <?php print $this->getDescription(); ?>
6
  </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  <?php if ($this->getUseTokenization()): ?>
8
  <li>
9
  <label class="required">
1
  <?php $_code = $this->getMethodCode() ?>
2
+ <fieldset class="form-list" style="clear: both;">
3
  <ul id="payment_form_<?php echo $this->getMethodCode(); ?>" style="display:none">
4
  <li>
5
  <?php print $this->getDescription(); ?>
6
  </li>
7
+ <?php if ($this->getSkipChoicePage() && $this->getShowPaymentTypeMultiselect()): ?>
8
+ <li>
9
+ <label for="<?php print $_code; ?>_payment_type" class="required">
10
+ <?php print $this->getCardTypeLabel(); ?>
11
+ <em>*</em>
12
+ </label>
13
+ <div class="input-box">
14
+ <select name="payment[securetrading_stpp_payment_type]" id="<?php print $_code; ?>_payment_type" class="required-entry">
15
+ <option value=""><?php print $this->__('Please select an option...'); ?></option>
16
+ <?php foreach($this->getAcceptedCards() as $key => $value): ?>
17
+ <option value="<?php print $key; ?>"><?php print $value; ?></option>
18
+ <?php endforeach; ?>
19
+ </select>
20
+ </div>
21
+ </li>
22
+ <?php endif; ?>
23
  <?php if ($this->getUseTokenization()): ?>
24
  <li>
25
  <label class="required">
app/design/frontend/base/default/template/securetrading/stpp/payment/redirect/post.phtml CHANGED
@@ -4,6 +4,18 @@
4
  <?php foreach($v as $requestTypeDescription): ?>
5
  <input type="hidden" name="requesttypedescriptions" value="<?php print Mage::helper('core')->escapeHtml($requestTypeDescription); ?>" />
6
  <?php endforeach; ?>
 
 
 
 
 
 
 
 
 
 
 
 
7
  <?php else: ?>
8
  <input type="hidden" name="<?php print $k; ?>" value="<?php print Mage::helper('core')->escapeHtml($v); ?>" />
9
  <?php endif; ?>
@@ -12,7 +24,7 @@
12
  </form>
13
  <script type="text/javascript">
14
  document.body.onload = function() {
15
- document.getElementById("securetrading_stpp_redirect_form").submit();
16
  };
17
  </script>
18
  <noscript>
4
  <?php foreach($v as $requestTypeDescription): ?>
5
  <input type="hidden" name="requesttypedescriptions" value="<?php print Mage::helper('core')->escapeHtml($requestTypeDescription); ?>" />
6
  <?php endforeach; ?>
7
+ <?php elseif ($k == 'ruleidentifiers'): ?>
8
+ <?php foreach($v as $ruleIdentifier): ?>
9
+ <input type="hidden" name="ruleidentifier" value="<?php print Mage::helper('core')->escapeHtml($ruleIdentifier); ?>" />
10
+ <?php endforeach; ?>
11
+ <?php elseif ($k == 'stextraurlnotifyfields'): ?>
12
+ <?php foreach($v as $notifyField): ?>
13
+ <input type="hidden" name="stextraurlnotifyfields" value="<?php print Mage::helper('core')->escapeHtml($notifyField); ?>" />
14
+ <?php endforeach; ?>
15
+ <?php elseif ($k == 'stextraurlredirectfields'): ?>
16
+ <?php foreach($v as $redirectField): ?>
17
+ <input type="hidden" name="stextraurlredirectfields" value="<?php print Mage::helper('core')->escapeHtml($redirectField); ?>" />
18
+ <?php endforeach; ?>
19
  <?php else: ?>
20
  <input type="hidden" name="<?php print $k; ?>" value="<?php print Mage::helper('core')->escapeHtml($v); ?>" />
21
  <?php endif; ?>
24
  </form>
25
  <script type="text/javascript">
26
  document.body.onload = function() {
27
+ document.getElementById("securetrading_stpp_redirect_form").submit();
28
  };
29
  </script>
30
  <noscript>
app/design/frontend/base/default/template/securetrading/stpp/payment/tokenization/form.phtml CHANGED
@@ -1,4 +1,4 @@
1
- <fieldset class="form-list">
2
  <?php $_code=$this->getMethodCode() ?>
3
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
4
  <li>
1
+ <fieldset class="form-list" style="clear: both;">
2
  <?php $_code=$this->getMethodCode() ?>
3
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
4
  <li>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Securetrading_Stpp</name>
4
- <version>3.5.2</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Integrates Magento with the SecureTrading STPP payment gateway.</description>
11
  <notes>The official SecureTrading STPP Magento integration.</notes>
12
  <authors><author><name>PeteST</name><user>PeteST</user><email>peter.barrow@securetrading.com</email></author></authors>
13
- <date>2015-08-20</date>
14
- <time>13:05:32</time>
15
- <contents><target name="magelocal"><dir name="Securetrading"><dir name="Stpp"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Modifier.php" hash="0bd4d015736253fdb49a71761e0ce167"/><file name="Transactions.php" hash="a6aa9a1fe720256b57de515eb2fb70f6"/></dir></dir></dir><dir name="Transactions"><file name="Children.php" hash="0b35ac5e3a5640ef299797f2cc2928cb"/><dir name="Data"><file name="Abstract.php" hash="b959d39031f05c4c4cdc9c86d949d2fb"/><file name="Request.php" hash="974c787900f673b88789e077bbb1cdee"/><file name="Response.php" hash="cde9edd437f258f3790d48d4801d1d14"/></dir><file name="Grid.php" hash="3dadcca29051df9ef955fb3f779bc77e"/><file name="Single.php" hash="a9c1fe8bcc323b48c4d9c537fb5e8596"/><dir name="Type"><file name="Abstract.php" hash="d6fc7cebd2fabb908e56e1b31430606a"/><file name="Default.php" hash="3b079c4dc23ae7ca0dde58d90d76ce1b"/><dir name="Transactionupdate"><file name="Filters.php" hash="fb57db23243321b2e3adbe8d4d6b6b00"/><file name="Updates.php" hash="97cf9ab359d5832eef6e994c76f10229"/></dir><file name="Transactionupdate.php" hash="054a96bd931424b9b8e3123252d815a7"/></dir></dir><file name="Transactions.php" hash="d7a848751b019beed67af4af8d82f19e"/></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Fields.php" hash="6b1270a19dbcfee9750ef8a6e5da280f"/></dir><file name="Group.php" hash="fb37a1754315559cb708dc03a5b61219"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Parenttransactionreference.php" hash="2d1ef69a9554457d150e0064f24a02b2"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Multishipping"><dir name="Success"><dir name="Billing"><file name="Agreement.php" hash="fb03a4ea511f100565b88453032b6ca9"/></dir></dir></dir></dir><dir name="Payment"><dir name="Direct"><file name="Form.php" hash="9b556c1f1623c4b8fd12be9c9484ba9d"/><file name="Info.php" hash="96b45fd3a2530d32ad5b762d30adb349"/><file name="Post.php" hash="e5adb9df03d0ec2fc43528b1d90fcdf3"/><dir name="Tokenization"><file name="Form.php" hash="19ea180df8513308662be9e57261a56d"/></dir></dir><file name="Iframe.php" hash="1bf66cdd951253928cce893d7235ccf2"/><dir name="Info"><file name="Abstract.php" hash="83a78172f8dc75490c820b4d88ff4f49"/></dir><file name="Location.php" hash="2ffcd84c447b187ffa6dc0e45b6393ac"/><dir name="Redirect"><file name="Form.php" hash="d401da16c1bab604fdaf4ff07b8d14c1"/><file name="Info.php" hash="5172a488856a167205abab64819062d5"/><file name="Post.php" hash="00d05d0064ecbc5bdc75b615bdfc4894"/></dir><dir name="Tokenization"><file name="Form.php" hash="30893422fcfea1f37ba88b071ee45539"/><file name="Info.php" hash="6ce6afe0f5c4d8d677e03f97b85fdc76"/></dir></dir></dir><dir name="Controller"><dir name="Redirect"><dir name="Post"><file name="Abstract.php" hash="20be24bf0ea76adcb77e500a91aa760c"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="902029d683cc5f59f9d100a9916981ff"/></dir><dir name="Model"><dir name="Actions"><file name="Abstract.php" hash="ebd43ffb6ee126b369062d94c90bd93a"/><file name="Direct.php" hash="59557a0f678e6ec67e402568dd760464"/><file name="Redirect.php" hash="9600d4e861851a81bf7ba03a42709646"/></dir><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Multiselect.php" hash="65ca6dd7b6b597aada4978b7c6e803c2"/></dir></dir></dir></dir><dir name="Billing"><dir name="Agreement"><file name="Currency.php" hash="10ebcda6f45b76c03796306a19fba78d"/><file name="Paymenttypedescription.php" hash="ccf2260dbb3ebdf5243e8944e0d24d15"/></dir></dir><file name="Cron.php" hash="a64dae7f86dbb85b8ea047adda5c7f22"/><file name="Integration.php" hash="e4d929d71afbfc528b44c5cb151667f3"/><file name="Observer.php" hash="9688e2a1cc0b3a089b228729a9b5d285"/><dir name="Payment"><file name="Abstract.php" hash="42745643e333795194f8fe2f9a32bf7e"/><dir name="Direct"><file name="Abstract.php" hash="3fbf758953fc1540323d0ee2b2b05e63"/><file name="Session.php" hash="981654031f061f1e04efc80b4a57b428"/></dir><file name="Direct.php" hash="77a1f8e0b111f56592cbbb11d993ec1a"/><dir name="Handler"><dir name="Backend"><file name="Abstract.php" hash="15df156e4455ff5a623ef14316be810c"/><file name="Factory.php" hash="c2007ddcce984fb8f447f67fdb7e3473"/><file name="Multishipping.php" hash="19a2ed85fb261040d5969305000ef0c7"/><file name="Onepage.php" hash="d4bea0aadf26fa77da39042aba4f3358"/></dir><dir name="Frontend"><file name="Abstract.php" hash="5b520956cf48f665c0bedc33df372c6c"/><file name="Factory.php" hash="e313029b76ef55cc6476ae4f35a3df2d"/><file name="Multishipping.php" hash="4036dda206c16da153116701bb1c1a4d"/><file name="Onepage.php" hash="2b8b414c449c4ec16e9c25b2bce15ba1"/></dir></dir><dir name="Redirect"><file name="Notification.php" hash="22e2a3366aa294f83aabe94decdbc47f"/><file name="Request.php" hash="cb3b90d9bb7a31bec42ae94ae83770cb"/><file name="Session.php" hash="c74b9d1219d8b50ed69e788f8dee4d28"/></dir><file name="Redirect.php" hash="e39781d7ec834545375ab495a4d598fc"/><dir name="Tokenization"><file name="Session.php" hash="66e2e6ac2f88b38738b1dcf3e584212c"/></dir><file name="Tokenization.php" hash="fe735f3966a55827d31a7ecf3f4eb89b"/></dir><dir name="Resource"><dir name="Billing"><dir name="Agreement"><file name="Currency.php" hash="b51772a4110997b98a542c273f899ed0"/><file name="Paymenttypedescription.php" hash="462311705c9d48cbe3f08532df89bbce"/></dir></dir><dir name="Mage"><dir name="Sales"><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="92718149a5702bcb2861ffdcb7fc3060"/></dir></dir></dir></dir><dir name="Payment"><dir name="Redirect"><file name="Notification.php" hash="251daf3860785e6aab8b5a6594bf397a"/><dir name="Request"><file name="Collection.php" hash="ce960dbcdf4c40f08782750b3e7ec4d4"/></dir><file name="Request.php" hash="9a51ce8b5aa2bf188e39afcd099225d1"/></dir></dir><dir name="Transaction"><file name="Collection.php" hash="c48174c935a30b1df2e545ff3ad71adc"/><dir name="Types"><file name="Collection.php" hash="efc344d22f5b19ad8a239ec3acb20e77"/></dir><file name="Types.php" hash="abbde61e4d29e19bb3a67ad1959b388f"/></dir><file name="Transaction.php" hash="a864a129f03751920262b847a1711f4d"/></dir><dir name="Source"><file name="Cardtypes.php" hash="ab4fb821e11d65cb20786f318cecce51"/><file name="Configfallback.php" hash="97a12f5a597b53ff4b1484aa9b179b04"/><file name="Connection.php" hash="b281807c740f8a79f591789a3d8792d7"/><file name="Paymentaction.php" hash="0f05df5d7e5248808c96700e102a2b11"/><file name="Settleduedate.php" hash="b5acc4d4eae0a22d4bf25e5fd5f2cda0"/><file name="Settlestatus.php" hash="f5df8f4feb6fcb4e509201b5ec8dc035"/></dir><dir name="Transaction"><file name="Types.php" hash="1c3712f053e0dadd4edc34ec115effff"/></dir><file name="Transaction.php" hash="00a4f9f1d295c5d91fa9ed16922c1563"/></dir><dir name="controllers"><dir name="Direct"><file name="PostController.php" hash="2b935b6e8dff3a2b234cfc47226d3f5a"/></dir><file name="DirectController.php" hash="1214b10e99b6b2cf1e593f514243bced"/><file name="MultishippingController.php" hash="68e8aa676ff0e03ea7f5b5f0baa3f8c7"/><file name="PaymentController.php" hash="5babd6cb7602948f8a2a2cce169b829c"/><dir name="Redirect"><dir name="Post"><file name="MultishippingController.php" hash="77bad529935b43b48e16269572498b8d"/><file name="OnepageController.php" hash="0d9a9aa74f70f2995eb417123ed5242d"/></dir></dir><file name="RedirectController.php" hash="09718fe2a081b58c5a5c545a20c8b796"/><dir name="Sales"><dir name="Order"><dir name="Create"><file name="SecuretradingController.php" hash="6a01439c71535441cb5fffb306fb6840"/></dir><file name="CreateController.php" hash="7964d98f1574c0f93dbb43e87161f1f8"/><file name="EditController.php" hash="a12e458fac106c021367426031356f58"/></dir></dir><dir name="Securetrading"><file name="TransactionsController.php" hash="ca39e6bb66bfd59cf6bf0176144bd256"/></dir><file name="TokenizationController.php" hash="376148840e552b27e7ff9ea3aea40d52"/></dir><dir name="etc"><file name="adminhtml.xml" hash="edf6376a0d883ae4fedc024d346364b3"/><file name="config.xml" hash="0744056b1436db4c8bcef3c600cebe98"/><file name="system.xml" hash="30e2add81b71036f795757738efeadbe"/></dir><dir name="lib"><file name="Securetrading.php" hash="5c22e508ffd059847ffb882aba923b2b"/><dir name="code"><dir name="core"><dir name="Stpp"><dir name="Actions"><file name="Abstract.php" hash="fce4b439f195bb866983180fe57e3bf7"/><file name="BaseInterface.php" hash="cd3004a4734c99499b41f9442d8406f4"/></dir><dir name="Api"><file name="ActionsInterface.php" hash="20feaa9eaefa912efb02d3cd33212fa2"/><file name="Base.php" hash="17f42df431e356a43752d499540cebd9"/><file name="BaseInterface.php" hash="252e16b85c0e7e230934b02c3e16728d"/><dir name="Connection"><file name="BaseInterface.php" hash="8638cb072cf263abd8687e87cdc81fb5"/><file name="Stapi.php" hash="107a6a41d31b021ddbd84739499b1830"/><file name="Store.php" hash="3909b4aa2b618816c4380d4b41d2d375"/><file name="StoreInterface.php" hash="6e8bfff449b86b145ae5b138dde91d50"/><file name="Webservices.php" hash="bb81a31ffc9a8ba20fbe393fdb04cac7"/></dir><file name="Context.php" hash="0ca6f4a61de6113b124795ed8fe83cab"/><file name="ContextInterface.php" hash="b3e9edfa4fe8776140eafce41da98709"/><file name="Facade.php" hash="fd5f214450f2d6e9a98ad3332af203a8"/><file name="Helper.php" hash="92d293f5557d328b5a3e8483fab635e1"/><file name="HelperInterface.php" hash="aa6f9747d5c2f242455d5c11be51b66b"/><file name="Log.php" hash="8f9df624ea7e440f7d074be07a98e511"/><file name="LogInterface.php" hash="fce5c3d966eaf5885f3575bd800c6d46"/><dir name="Process"><dir name="Calculation"><file name="BaseInterface.php" hash="385960d9d3cd780d194716300a8fc1fa"/><file name="CardstoreNoncardstoreCombined.php" hash="5390f91635fac340ada1bc9d9116a85c"/><file name="Default.php" hash="fc6fbc1b5ad9b405eab5ccfba644fab5"/><file name="RiskdecNonriskdecCombined.php" hash="f72e84f24e5bc57842d15c556e6b275e"/><file name="TuRefundCombined.php" hash="9de65bce6f7d6e49574f4aafb8075ffb"/></dir></dir><file name="Process.php" hash="fb37ea94d51524af9505667ca33161db"/><file name="ProcessInterface.php" hash="76117fc893006c7a927eda90596261f3"/><file name="Result.php" hash="d9da44e9241b8b9d7577de8e7e5d6ef0"/><file name="ResultInterface.php" hash="345346e779a4644c8f29d847100ae779"/><file name="Send.php" hash="e60835ae864e7a079ea25a608852871f"/><file name="SendInterface.php" hash="0a13ea22e3d2f556be7f02d5b8568e43"/><dir name="Xml"><file name="Reader.php" hash="c1c89be7f35c61dc4533f0e3cb71e27d"/><file name="ReaderInterface.php" hash="3a148a5b88af125d766877f33dd882b7"/><file name="Writer.php" hash="228295b3c047a0b192d9c8b33c7eabcf"/><file name="WriterInterface.php" hash="1700903ae09c5dec1a8b6c215a6f0a97"/></dir></dir><dir name="Component"><file name="Abstract.php" hash="d679a67d53fee2ad8a38d8e9175707f6"/><file name="BaseInterface.php" hash="a7a21448d576cba4921a17e3c4c63e26"/><file name="Store.php" hash="8afe5baa023a117085dfca51d8d6d0c4"/></dir><file name="Config.php" hash="e62fcc26e717a67051abd0873998c3d7"/><dir name="Data"><file name="Abstract.php" hash="9186ff9e00d3446e85dbf19ea1216e6a"/><file name="AbstractInterface.php" hash="511f49db6045b20b299ac27a123b0ee1"/><file name="Request.php" hash="a4206b389b91b3506b66b9942d922976"/><file name="Response.php" hash="41bce777ce4baf6d33f5efe1a754e1f1"/></dir><file name="Exception.php" hash="ddef67bc724764d3fa455b3f246e670d"/><file name="Facade.php" hash="880ca0fbf01e89c9e9375e7697e2fe32"/><dir name="Fields"><file name="Admin.php" hash="d0a5467de4c443829da4f32232598023"/><file name="AdminInterface.php" hash="d60603c6fe6ac4393edc3e699d11cfa2"/><file name="Facade.php" hash="4f00cf6fb606175bb8c1a98988504cb7"/><file name="Frontend.php" hash="07e9755644fad28f690454a74fa258a7"/><file name="FrontendInterface.php" hash="9e7e760b58d9b1aea5169199f85055b8"/></dir><file name="Helper.php" hash="1b9e5cda59cab32904f41a1137732889"/><file name="HelperInterface.php" hash="e74c27a61169ac2dbad549178635b652"/><dir name="Http"><file name="Base.php" hash="a45349f030ba53420079a6b041851897"/><file name="BaseInterface.php" hash="ec910ae696a968ba91991d4e9593bc5a"/><file name="Helper.php" hash="0854cc287d4fe2e8db833730db86b3b1"/><file name="HelperInterface.php" hash="f70f0aac9734f70f62483362ec111470"/></dir><dir name="PaymentPages"><file name="ActionsInterface.php" hash="477836396b30505fd77e2edab9228eb9"/><file name="Base.php" hash="644dabfcc9439009a093cbae56f5b51c"/><file name="BaseInterface.php" hash="8e88b88ea80bbc678275b545f5a0ca0e"/><file name="Facade.php" hash="0cb8b0a018774a8d00474857ca048286"/><file name="Helper.php" hash="0f299510045851097ddb2f5e5999130b"/><file name="HelperInterface.php" hash="92cb7856303a054852856f84fce59ab8"/><file name="Result.php" hash="516d99ad6325d3688cb6cf9d96611bad"/><file name="ResultInterface.php" hash="6331633ee01a8f801e6aa92bc4b21a79"/></dir><dir name="Result"><file name="Abstract.php" hash="e101a37e53b02217d9f71896724fc464"/><file name="AbstractInterface.php" hash="67f281eeb616125a6730c9d0bdcdefbf"/></dir><dir name="Transactionsearch"><file name="Base.php" hash="896a6ef06696f51e00d843effa17f5f7"/><file name="BaseInterface.php" hash="fbd240c914a21eb174bf7c52fff645fe"/></dir><file name="Types.php" hash="3d550efd506b1c94ee2e7f66f087396c"/><file name="TypesInterface.php" hash="01535df4e4e7bb7075a06050841594f0"/><dir name="Utility"><file name="Facade.php" hash="a87ccac18a334e151e109cf07b5338f0"/><dir name="Log"><file name="Base.php" hash="6d4a4ac38eeb8747199ae932caab713b"/><file name="BaseInterface.php" hash="8df2532e217b93725ab15e5a76dfd6e7"/><dir name="User"><file name="Abstract.php" hash="622318fca2ae84a50f50f65153036528"/></dir><file name="UserInterface.php" hash="f88f34cb0338ab4d98c3f5ebcbb22f7d"/><dir name="Writer"><file name="File.php" hash="5eada117593cf8c9bb27a6060f6c3714"/></dir><file name="WriterInterface.php" hash="0e4e743dd4c8da74fea389c8f728b0b4"/></dir><dir name="Translator"><file name="Base.php" hash="4ff1233235a2b58886da2a3b07247d9a"/><file name="BaseInterface.php" hash="f76d5808b75e190bb6499da9608c9efb"/></dir></dir><dir name="Xml"><file name="Writer.php" hash="97a246a7642179bd346cfce33f523c87"/></dir></dir><file name="Stpp.php" hash="2b593e5ee83d4272bb4efac0fb09c88b"/></dir><dir name="overrides"><dir name="Magento"><dir name="Api"><file name="Facade.php" hash="0cd067db115b4f5ed00abc434db2245f"/></dir><dir name="Log"><file name="Writer.php" hash="b27229288c0eda838b9a2113c788344c"/></dir><dir name="Utility"><file name="Facade.php" hash="9b6c7e6955acce41cad9121c8028ae09"/></dir></dir></dir></dir><dir name="stpp_translations"><file name="core.php" hash="8de46a7cce58eadbff4ae9b294e20aec"/></dir></dir><file name="readme.txt" hash="fb7d4f0b1527e6574cbe96073aac6eda"/><dir name="sql"><dir name="securetrading_stpp"><file name="install-3.0.0.php" hash="923d824b156fb74eeb195ee57723e26b"/><file name="upgrade-3.0.0-3.1.0.php" hash="779de6f21f30913707d67573434c5827"/><file name="upgrade-3.1.0-3.2.0.php" hash="6f9e0b4cb006faede031f5a170af8798"/><file name="upgrade-3.2.0-3.2.1.php" hash="fc652e065a2375fa7a61679a5553c7d6"/><file name="upgrade-3.2.1-3.3.0.php" hash="d3ca3b1936b10f8254c676e1fd7392fe"/><file name="upgrade-3.4.0-3.5.0.php" hash="01d6b58a7a3678be4eced4c9d87ed1b5"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="securetrading"><dir name="stpp"><dir><dir name="payment"><dir name="direct"><file name="form.phtml" hash="f3fcdf586e3d0fb8f0b0a45a5c4c0242"/><file name="info.phtml" hash="0573ae000e6b1df77c89c71b108cfa10"/></dir><file name="iframe.phtml" hash="550f6904467d71a368b03b2ba6852841"/><file name="location.phtml" hash="e790bf7d7f7c453f98cd9e03e0b74ab1"/><dir name="redirect"><file name="form.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="info.phtml" hash="0573ae000e6b1df77c89c71b108cfa10"/><file name="post.phtml" hash="8b0b70df44ce27b54c57c7369dd59655"/></dir><dir name="tokenization"><file name="form.phtml" hash="50d1d5e384a039c024901890426f0210"/><file name="info.phtml" hash="35ee126ce93f1cf5d1df42bda32d4437"/></dir></dir><dir name="sales"><dir name="transactions"><file name="single.phtml" hash="a3dbbda792cb4d806e6283ed7f964634"/></dir></dir><dir name="system"><dir name="config"><dir name="fieldset"><file name="fields.phtml" hash="0c0aff08f256a5cfd2c644e7f629c9d7"/></dir></dir></dir></dir></dir></dir></dir><dir name="layout"><file name="securetrading.xml" hash="c9253b162d0b6ea0fb8297b70606711e"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="securetrading"><dir name="stpp"><dir><dir name="checkout"><dir name="multishipping"><dir name="success"><dir name="billing"><file name="agreement.phtml" hash="9b9ccb519995410336727b862086ade7"/></dir></dir></dir></dir><dir name="payment"><dir name="direct"><file name="form.phtml" hash="93720d40108bfeacfe82ace2e3a20c48"/><file name="info.phtml" hash="a81bbf7d28e9f1c3e9e837f6542c3a58"/><file name="post.phtml" hash="d8643b7e67de32c311c30b531b0c6392"/><dir name="tokenization"><file name="form.phtml" hash="ebb8a0892332a3370db6179eaeaf4210"/></dir></dir><file name="iframe.phtml" hash="550f6904467d71a368b03b2ba6852841"/><file name="location.phtml" hash="e790bf7d7f7c453f98cd9e03e0b74ab1"/><dir name="redirect"><file name="form.phtml" hash="fbe9a39729d5a1efe9238d43b38f3a61"/><file name="info.phtml" hash="4eaf8674c2de27618920fdcd65d61ade"/><file name="post.phtml" hash="c4edc4e15986cfc9dd010fe4eb915ccc"/></dir><dir name="tokenization"><file name="form.phtml" hash="939f094d7cced40dba746b2119d7e0d6"/><file name="info.phtml" hash="685c70dbd31b79aecb12b40d0d7b27c0"/><file name="post.phtml" hash="f7057bebaa616dcc52dba6a58178fe19"/></dir></dir></dir></dir></dir></dir><dir name="layout"><file name="securetrading.xml" hash="1090e99fd4657eddab402d75a9bdb476"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Securetrading_Stpp.xml" hash="eb2a4153d2e9feed7913b46666fb585c"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="securetrading"><dir name="stpp"><file name="st_logo_strapline_100_32.png" hash="002186134f7898800305489774711fb7"/><file name="st_logo_strapline_200_63.png" hash="bca24f2696fca0d2bca54681a635e8e3"/><file name="success_16_16.png" hash="5fa7c06b312cbea3675e844686e434af"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.3.0</min><max>5.5.15</max></php><package><name>Securetrading_Multishipping</name><channel>community</channel><min></min><max></max></package></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Securetrading_Stpp</name>
4
+ <version>3.6.0</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
10
  <description>Integrates Magento with the SecureTrading STPP payment gateway.</description>
11
  <notes>The official SecureTrading STPP Magento integration.</notes>
12
  <authors><author><name>PeteST</name><user>PeteST</user><email>peter.barrow@securetrading.com</email></author></authors>
13
+ <date>2015-11-03</date>
14
+ <time>17:28:22</time>
15
+ <contents><target name="magelocal"><dir name="Securetrading"><dir name="Stpp"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Modifier.php" hash="0bd4d015736253fdb49a71761e0ce167"/><file name="Transactions.php" hash="a6aa9a1fe720256b57de515eb2fb70f6"/></dir></dir></dir><dir name="Transactions"><file name="Children.php" hash="0b35ac5e3a5640ef299797f2cc2928cb"/><dir name="Data"><file name="Abstract.php" hash="9b7c5cfac921bc8828b1a33029f46578"/><file name="Request.php" hash="2d3f58969b8a240f289f32ce64ce76a5"/><file name="Response.php" hash="cde9edd437f258f3790d48d4801d1d14"/></dir><file name="Grid.php" hash="3dadcca29051df9ef955fb3f779bc77e"/><file name="Single.php" hash="e9c8949e5b69e68c6a4a346e19195317"/><dir name="Type"><file name="Abstract.php" hash="d6fc7cebd2fabb908e56e1b31430606a"/><file name="Default.php" hash="3b079c4dc23ae7ca0dde58d90d76ce1b"/><dir name="Transactionupdate"><file name="Filters.php" hash="fb57db23243321b2e3adbe8d4d6b6b00"/><file name="Updates.php" hash="97cf9ab359d5832eef6e994c76f10229"/></dir><file name="Transactionupdate.php" hash="054a96bd931424b9b8e3123252d815a7"/></dir></dir><file name="Transactions.php" hash="d7a848751b019beed67af4af8d82f19e"/></dir><dir name="System"><dir name="Config"><dir name="Fields"><dir name="Password"><file name="Button.php" hash="a285052b37e928827c4d32c27cc6f776"/></dir></dir><dir name="Fieldset"><file name="Fields.php" hash="93c8f38e3b50b6d47858e891e2709fbe"/></dir><file name="Group.php" hash="fb37a1754315559cb708dc03a5b61219"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Parenttransactionreference.php" hash="2d1ef69a9554457d150e0064f24a02b2"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Multishipping"><dir name="Success"><dir name="Billing"><file name="Agreement.php" hash="fb03a4ea511f100565b88453032b6ca9"/></dir></dir></dir></dir><dir name="Payment"><dir name="Direct"><file name="Form.php" hash="9b556c1f1623c4b8fd12be9c9484ba9d"/><file name="Info.php" hash="e7e8e154aff2b4583b2428bfc95d4508"/><file name="Post.php" hash="e5adb9df03d0ec2fc43528b1d90fcdf3"/><dir name="Tokenization"><file name="Form.php" hash="19ea180df8513308662be9e57261a56d"/></dir></dir><file name="Iframe.php" hash="1bf66cdd951253928cce893d7235ccf2"/><dir name="Info"><file name="Abstract.php" hash="48a8be84ae33d6cbe4ce98243c41ccd2"/></dir><file name="Location.php" hash="2ffcd84c447b187ffa6dc0e45b6393ac"/><dir name="Redirect"><file name="Form.php" hash="4d8b2055da5c6c1373546a06bfcb4a41"/><file name="Info.php" hash="9515015c505ebf5e8d75549667fe8d3b"/><file name="Post.php" hash="00d05d0064ecbc5bdc75b615bdfc4894"/></dir><dir name="Tokenization"><file name="Form.php" hash="30893422fcfea1f37ba88b071ee45539"/><file name="Info.php" hash="aa1b54b9b23793a830053e93495bcbb2"/></dir></dir></dir><dir name="Controller"><dir name="Redirect"><dir name="Post"><file name="Abstract.php" hash="20be24bf0ea76adcb77e500a91aa760c"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="f93b8a1e949b7b1d0b0972af668e7085"/></dir><dir name="Model"><dir name="Actions"><file name="Abstract.php" hash="fcef04cf2b6a7f90ab0dac9abce41511"/><file name="Direct.php" hash="5faad00be2dc10b4e3e86dfdbd5d029f"/><file name="Redirect.php" hash="456227b7b6b39f504b4e68daa4f9a8c2"/></dir><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Multiselect.php" hash="65ca6dd7b6b597aada4978b7c6e803c2"/></dir></dir></dir></dir><dir name="Billing"><dir name="Agreement"><file name="Currency.php" hash="10ebcda6f45b76c03796306a19fba78d"/><file name="Paymenttypedescription.php" hash="ccf2260dbb3ebdf5243e8944e0d24d15"/></dir></dir><file name="Cron.php" hash="850770f63fb3cba8b1b8603e4a1b65a1"/><file name="Integration.php" hash="4b6894025728198930a7e82d7d54115e"/><file name="Observer.php" hash="0d687b7f62ee47d09d749b8ffdb5e132"/><dir name="Payment"><file name="Abstract.php" hash="94ced9c63235a03c6032f708c8ea8a5c"/><dir name="Direct"><file name="Abstract.php" hash="3fbf758953fc1540323d0ee2b2b05e63"/><file name="Session.php" hash="981654031f061f1e04efc80b4a57b428"/></dir><file name="Direct.php" hash="32f86dc5e2d3b898506739d07dfc5ef4"/><dir name="Handler"><dir name="Backend"><file name="Abstract.php" hash="15df156e4455ff5a623ef14316be810c"/><file name="Factory.php" hash="c2007ddcce984fb8f447f67fdb7e3473"/><file name="Multishipping.php" hash="19a2ed85fb261040d5969305000ef0c7"/><file name="Onepage.php" hash="d4bea0aadf26fa77da39042aba4f3358"/></dir><dir name="Frontend"><file name="Abstract.php" hash="5b520956cf48f665c0bedc33df372c6c"/><file name="Factory.php" hash="e313029b76ef55cc6476ae4f35a3df2d"/><file name="Multishipping.php" hash="4036dda206c16da153116701bb1c1a4d"/><file name="Onepage.php" hash="2b8b414c449c4ec16e9c25b2bce15ba1"/></dir></dir><dir name="Redirect"><file name="Notification.php" hash="22e2a3366aa294f83aabe94decdbc47f"/><file name="Request.php" hash="cb3b90d9bb7a31bec42ae94ae83770cb"/><file name="Session.php" hash="c74b9d1219d8b50ed69e788f8dee4d28"/></dir><file name="Redirect.php" hash="e015a3df136b93bcb21c56297dfdbf3c"/><dir name="Tokenization"><file name="Session.php" hash="66e2e6ac2f88b38738b1dcf3e584212c"/></dir><file name="Tokenization.php" hash="fe735f3966a55827d31a7ecf3f4eb89b"/></dir><dir name="Resource"><dir name="Billing"><dir name="Agreement"><file name="Currency.php" hash="b51772a4110997b98a542c273f899ed0"/><file name="Paymenttypedescription.php" hash="462311705c9d48cbe3f08532df89bbce"/></dir></dir><dir name="Mage"><dir name="Sales"><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="92718149a5702bcb2861ffdcb7fc3060"/></dir></dir></dir></dir><dir name="Payment"><dir name="Redirect"><file name="Notification.php" hash="251daf3860785e6aab8b5a6594bf397a"/><dir name="Request"><file name="Collection.php" hash="ce960dbcdf4c40f08782750b3e7ec4d4"/></dir><file name="Request.php" hash="9a51ce8b5aa2bf188e39afcd099225d1"/></dir></dir><dir name="Transaction"><file name="Collection.php" hash="c48174c935a30b1df2e545ff3ad71adc"/><dir name="Types"><file name="Collection.php" hash="efc344d22f5b19ad8a239ec3acb20e77"/></dir><file name="Types.php" hash="abbde61e4d29e19bb3a67ad1959b388f"/></dir><file name="Transaction.php" hash="a864a129f03751920262b847a1711f4d"/></dir><dir name="Source"><file name="Cardtypes.php" hash="ab4fb821e11d65cb20786f318cecce51"/><file name="Configfallback.php" hash="97a12f5a597b53ff4b1484aa9b179b04"/><file name="Paymentaction.php" hash="0f05df5d7e5248808c96700e102a2b11"/><file name="PpgVersion.php" hash="3fb6e671b1602923d12308eee0c6bedc"/><file name="Settleduedate.php" hash="b5acc4d4eae0a22d4bf25e5fd5f2cda0"/><file name="Settlestatus.php" hash="f5df8f4feb6fcb4e509201b5ec8dc035"/></dir><dir name="Transaction"><file name="Types.php" hash="1c3712f053e0dadd4edc34ec115effff"/></dir><file name="Transaction.php" hash="00a4f9f1d295c5d91fa9ed16922c1563"/></dir><dir name="controllers"><dir name="Direct"><file name="PostController.php" hash="2b935b6e8dff3a2b234cfc47226d3f5a"/></dir><file name="DirectController.php" hash="1214b10e99b6b2cf1e593f514243bced"/><file name="MultishippingController.php" hash="68e8aa676ff0e03ea7f5b5f0baa3f8c7"/><file name="PaymentController.php" hash="5babd6cb7602948f8a2a2cce169b829c"/><dir name="Redirect"><dir name="Post"><file name="MultishippingController.php" hash="77bad529935b43b48e16269572498b8d"/><file name="OnepageController.php" hash="0d9a9aa74f70f2995eb417123ed5242d"/></dir></dir><file name="RedirectController.php" hash="5d81ee8d684015620a11f88fe3ba09a5"/><dir name="Sales"><dir name="Order"><dir name="Create"><file name="SecuretradingController.php" hash="d9f2b5e2f478d296bc6e3e186916d914"/></dir><file name="CreateController.php" hash="7964d98f1574c0f93dbb43e87161f1f8"/><file name="EditController.php" hash="a12e458fac106c021367426031356f58"/></dir></dir><dir name="Securetrading"><file name="PasswordController.php" hash="2dba4252e1b877678c56826c3d89c2eb"/><file name="TransactionsController.php" hash="ca39e6bb66bfd59cf6bf0176144bd256"/></dir><file name="TokenizationController.php" hash="376148840e552b27e7ff9ea3aea40d52"/></dir><dir name="etc"><file name="adminhtml.xml" hash="edf6376a0d883ae4fedc024d346364b3"/><file name="config.xml" hash="4751ecaad0e26444f1d164a9b3c42f18"/><file name="system.xml" hash="afda5745c26478371e3080eaed6d27ad"/></dir><dir name="lib"><file name="Securetrading.php" hash="5c22e508ffd059847ffb882aba923b2b"/><dir name="code"><dir name="core"><dir name="Stpp"><dir name="Actions"><file name="Abstract.php" hash="fce4b439f195bb866983180fe57e3bf7"/><file name="BaseInterface.php" hash="cd3004a4734c99499b41f9442d8406f4"/></dir><dir name="Api"><file name="ActionsInterface.php" hash="20feaa9eaefa912efb02d3cd33212fa2"/><file name="Base.php" hash="17f42df431e356a43752d499540cebd9"/><file name="BaseInterface.php" hash="252e16b85c0e7e230934b02c3e16728d"/><dir name="Connection"><file name="BaseInterface.php" hash="8638cb072cf263abd8687e87cdc81fb5"/><file name="Stapi.php" hash="107a6a41d31b021ddbd84739499b1830"/><file name="Store.php" hash="3909b4aa2b618816c4380d4b41d2d375"/><file name="StoreInterface.php" hash="6e8bfff449b86b145ae5b138dde91d50"/><file name="Webservices.php" hash="bb81a31ffc9a8ba20fbe393fdb04cac7"/></dir><file name="Context.php" hash="0ca6f4a61de6113b124795ed8fe83cab"/><file name="ContextInterface.php" hash="b3e9edfa4fe8776140eafce41da98709"/><file name="Facade.php" hash="6d191c7a11283b1b5da3e87e268b7712"/><file name="Helper.php" hash="94dc5c892da80ffc83f1bb5edff64ee6"/><file name="HelperInterface.php" hash="aa6f9747d5c2f242455d5c11be51b66b"/><file name="Log.php" hash="e8d4f9bd0365c863d1163f2bb733df2d"/><file name="LogInterface.php" hash="fce5c3d966eaf5885f3575bd800c6d46"/><dir name="Process"><dir name="Calculation"><file name="BaseInterface.php" hash="385960d9d3cd780d194716300a8fc1fa"/><file name="CardstoreNoncardstoreCombined.php" hash="5390f91635fac340ada1bc9d9116a85c"/><file name="Default.php" hash="fc6fbc1b5ad9b405eab5ccfba644fab5"/><file name="RiskdecNonriskdecCombined.php" hash="f72e84f24e5bc57842d15c556e6b275e"/><file name="TuRefundCombined.php" hash="9de65bce6f7d6e49574f4aafb8075ffb"/></dir></dir><file name="Process.php" hash="fb37ea94d51524af9505667ca33161db"/><file name="ProcessInterface.php" hash="76117fc893006c7a927eda90596261f3"/><file name="Result.php" hash="d9da44e9241b8b9d7577de8e7e5d6ef0"/><file name="ResultInterface.php" hash="345346e779a4644c8f29d847100ae779"/><file name="Send.php" hash="e60835ae864e7a079ea25a608852871f"/><file name="SendInterface.php" hash="0a13ea22e3d2f556be7f02d5b8568e43"/><dir name="Xml"><file name="Reader.php" hash="c1c89be7f35c61dc4533f0e3cb71e27d"/><file name="ReaderInterface.php" hash="3a148a5b88af125d766877f33dd882b7"/><file name="Writer.php" hash="c0312f16ca25fb5f34a7fce96169e0fd"/><file name="WriterInterface.php" hash="1700903ae09c5dec1a8b6c215a6f0a97"/></dir></dir><dir name="Component"><file name="Abstract.php" hash="d679a67d53fee2ad8a38d8e9175707f6"/><file name="BaseInterface.php" hash="a7a21448d576cba4921a17e3c4c63e26"/><file name="Store.php" hash="8afe5baa023a117085dfca51d8d6d0c4"/></dir><file name="Config.php" hash="e62fcc26e717a67051abd0873998c3d7"/><dir name="Data"><file name="Abstract.php" hash="9186ff9e00d3446e85dbf19ea1216e6a"/><file name="AbstractInterface.php" hash="511f49db6045b20b299ac27a123b0ee1"/><file name="Request.php" hash="a4206b389b91b3506b66b9942d922976"/><file name="Response.php" hash="41bce777ce4baf6d33f5efe1a754e1f1"/></dir><file name="Exception.php" hash="ddef67bc724764d3fa455b3f246e670d"/><file name="Facade.php" hash="880ca0fbf01e89c9e9375e7697e2fe32"/><dir name="Fields"><file name="Admin.php" hash="b8ca452c3546f091763c20436b843bce"/><file name="AdminInterface.php" hash="d60603c6fe6ac4393edc3e699d11cfa2"/><file name="Facade.php" hash="4f00cf6fb606175bb8c1a98988504cb7"/><file name="Frontend.php" hash="07e9755644fad28f690454a74fa258a7"/><file name="FrontendInterface.php" hash="9e7e760b58d9b1aea5169199f85055b8"/></dir><file name="Helper.php" hash="1b9e5cda59cab32904f41a1137732889"/><file name="HelperInterface.php" hash="e74c27a61169ac2dbad549178635b652"/><dir name="Http"><file name="Base.php" hash="3ff8918fc48b1a00aded657de2c31e22"/><file name="BaseInterface.php" hash="ec910ae696a968ba91991d4e9593bc5a"/><file name="Helper.php" hash="0854cc287d4fe2e8db833730db86b3b1"/><file name="HelperInterface.php" hash="f70f0aac9734f70f62483362ec111470"/></dir><dir name="PaymentPages"><file name="ActionsInterface.php" hash="477836396b30505fd77e2edab9228eb9"/><file name="Base.php" hash="5c78f9f533669b0b9e37fa1ce91ac713"/><file name="BaseInterface.php" hash="8e88b88ea80bbc678275b545f5a0ca0e"/><file name="Facade.php" hash="e4b77df9f2d8a4a3c4360b29e3a4b8ea"/><file name="Helper.php" hash="85d146537beb28b44a5e0cdd776564d5"/><file name="HelperInterface.php" hash="92cb7856303a054852856f84fce59ab8"/><file name="Result.php" hash="516d99ad6325d3688cb6cf9d96611bad"/><file name="ResultInterface.php" hash="6331633ee01a8f801e6aa92bc4b21a79"/></dir><dir name="Result"><file name="Abstract.php" hash="e101a37e53b02217d9f71896724fc464"/><file name="AbstractInterface.php" hash="67f281eeb616125a6730c9d0bdcdefbf"/></dir><dir name="Transactionsearch"><file name="Base.php" hash="896a6ef06696f51e00d843effa17f5f7"/><file name="BaseInterface.php" hash="fbd240c914a21eb174bf7c52fff645fe"/></dir><file name="Types.php" hash="3d550efd506b1c94ee2e7f66f087396c"/><file name="TypesInterface.php" hash="01535df4e4e7bb7075a06050841594f0"/><dir name="Utility"><file name="Facade.php" hash="a87ccac18a334e151e109cf07b5338f0"/><dir name="Log"><file name="Base.php" hash="6d4a4ac38eeb8747199ae932caab713b"/><file name="BaseInterface.php" hash="8df2532e217b93725ab15e5a76dfd6e7"/><dir name="User"><file name="Abstract.php" hash="622318fca2ae84a50f50f65153036528"/></dir><file name="UserInterface.php" hash="f88f34cb0338ab4d98c3f5ebcbb22f7d"/><dir name="Writer"><file name="File.php" hash="5eada117593cf8c9bb27a6060f6c3714"/></dir><file name="WriterInterface.php" hash="0e4e743dd4c8da74fea389c8f728b0b4"/></dir><dir name="Translator"><file name="Base.php" hash="4ff1233235a2b58886da2a3b07247d9a"/><file name="BaseInterface.php" hash="f76d5808b75e190bb6499da9608c9efb"/></dir></dir><dir name="Xml"><file name="Writer.php" hash="97a246a7642179bd346cfce33f523c87"/></dir></dir><file name="Stpp.php" hash="2b593e5ee83d4272bb4efac0fb09c88b"/></dir><dir name="overrides"><dir name="Magento"><dir name="Api"><file name="Facade.php" hash="0cd067db115b4f5ed00abc434db2245f"/></dir><dir name="Log"><file name="Writer.php" hash="b27229288c0eda838b9a2113c788344c"/></dir><dir name="Utility"><file name="Facade.php" hash="9b6c7e6955acce41cad9121c8028ae09"/></dir></dir></dir></dir><dir name="stpp_translations"><file name="core.php" hash="8de46a7cce58eadbff4ae9b294e20aec"/></dir></dir><file name="readme.txt" hash="fb7d4f0b1527e6574cbe96073aac6eda"/><dir name="sql"><dir name="securetrading_stpp"><file name="install-3.0.0.php" hash="923d824b156fb74eeb195ee57723e26b"/><file name="install-3.6.0.php" hash="5fe47290bab23ea28e454c15bfa181b1"/><file name="upgrade-3.0.0-3.1.0.php" hash="779de6f21f30913707d67573434c5827"/><file name="upgrade-3.1.0-3.2.0.php" hash="6f9e0b4cb006faede031f5a170af8798"/><file name="upgrade-3.2.0-3.2.1.php" hash="fc652e065a2375fa7a61679a5553c7d6"/><file name="upgrade-3.2.1-3.3.0.php" hash="d3ca3b1936b10f8254c676e1fd7392fe"/><file name="upgrade-3.4.0-3.5.0.php" hash="01d6b58a7a3678be4eced4c9d87ed1b5"/><file name="upgrade-3.5.2-3.6.0.php" hash="de6322fa04b9170ae8305ce38b3d7b66"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="securetrading"><dir name="stpp"><dir><dir name="payment"><dir name="direct"><file name="form.phtml" hash="f3fcdf586e3d0fb8f0b0a45a5c4c0242"/><file name="info.phtml" hash="0b4dea708fd8cc9d06a056b1e2a9f557"/><file name="info_pdf.phtml" hash="209b8f5fd58a5d40c34c93a91a6095ad"/></dir><file name="iframe.phtml" hash="550f6904467d71a368b03b2ba6852841"/><file name="location.phtml" hash="e790bf7d7f7c453f98cd9e03e0b74ab1"/><dir name="redirect"><file name="form.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="info.phtml" hash="277742bbda492987ec414ac6d31824fc"/><file name="info_pdf.phtml" hash="f786bae7ec95a6c46f0abd245ab782d3"/><file name="post.phtml" hash="b085b2578fe5eb5a44c1c63197477a6b"/></dir><dir name="tokenization"><file name="form.phtml" hash="50d1d5e384a039c024901890426f0210"/><file name="info.phtml" hash="5f5fb3e8dc5c4af4021bab4244693679"/><file name="info_pdf.phtml" hash="209b8f5fd58a5d40c34c93a91a6095ad"/></dir></dir><dir name="sales"><dir name="transactions"><file name="single.phtml" hash="a3dbbda792cb4d806e6283ed7f964634"/></dir></dir><dir name="system"><dir name="config"><dir name="fields"><dir name="password"><file name="button.phtml" hash="5c4b11fdea0bff1c66ab3e58c0548428"/></dir></dir><dir name="fieldset"><file name="fields.phtml" hash="0c0aff08f256a5cfd2c644e7f629c9d7"/></dir></dir></dir></dir></dir></dir></dir><dir name="layout"><file name="securetrading.xml" hash="c9253b162d0b6ea0fb8297b70606711e"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="securetrading"><dir name="stpp"><dir><dir name="checkout"><dir name="multishipping"><dir name="success"><dir name="billing"><file name="agreement.phtml" hash="9b9ccb519995410336727b862086ade7"/></dir></dir></dir></dir><dir name="payment"><dir name="direct"><file name="form.phtml" hash="c4395ae981a7d9ac063ee57c52b74bd5"/><file name="info.phtml" hash="a81bbf7d28e9f1c3e9e837f6542c3a58"/><file name="post.phtml" hash="d8643b7e67de32c311c30b531b0c6392"/><dir name="tokenization"><file name="form.phtml" hash="ebb8a0892332a3370db6179eaeaf4210"/></dir></dir><file name="iframe.phtml" hash="550f6904467d71a368b03b2ba6852841"/><file name="location.phtml" hash="e790bf7d7f7c453f98cd9e03e0b74ab1"/><dir name="redirect"><file name="form.phtml" hash="a6c9a8b41620d741aa58f64bed5b85fc"/><file name="info.phtml" hash="4eaf8674c2de27618920fdcd65d61ade"/><file name="post.phtml" hash="bd75604f57971b0095888be14c5f0747"/></dir><dir name="tokenization"><file name="form.phtml" hash="3dbec003cd61ef40f6f806a83ac7d793"/><file name="info.phtml" hash="685c70dbd31b79aecb12b40d0d7b27c0"/><file name="post.phtml" hash="f7057bebaa616dcc52dba6a58178fe19"/></dir></dir></dir></dir></dir></dir><dir name="layout"><file name="securetrading.xml" hash="1090e99fd4657eddab402d75a9bdb476"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Securetrading_Stpp.xml" hash="eb2a4153d2e9feed7913b46666fb585c"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="securetrading"><dir name="stpp"><file name="st_logo_strapline_100_32.png" hash="002186134f7898800305489774711fb7"/><file name="st_logo_strapline_200_63.png" hash="bca24f2696fca0d2bca54681a635e8e3"/><file name="success_16_16.png" hash="5fa7c06b312cbea3675e844686e434af"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.3.0</min><max>5.6.10</max></php><package><name>Securetrading_Multishipping</name><channel>community</channel><min></min><max></max></package></required></dependencies>
18
  </package>