Compropago_Payment_Extension - Version 2.0.0

Version Notes

* Feature: Auto register webhook
* Feature: Error Message in admin configuration
* Feature: Providers filter by amount
* Feature: Restructure view styles
* Feature: Add option for logo title
* Feature: Add transaction tables for manage webhoo aprovations
* Remove: Compropago_Model_Api file
* Require: compropago/php-sdk == 2.0.0
* Require: PHP >= 5.5

Download this release

Release Info

Developer Eduardo Aguilar
Extension Compropago_Payment_Extension
Version 2.0.0
Comparing to
See all releases


Code changes from version 1.1.2 to 2.0.0

Files changed (94) hide show
  1. app/code/community/Compropago/Block/Form.php +0 -22
  2. app/code/community/Compropago/Block/OnepageSuccess.php +0 -16
  3. app/code/community/Compropago/CpPayment/Block/Form.php +59 -0
  4. app/code/community/Compropago/CpPayment/Block/Info.php +30 -0
  5. app/code/community/Compropago/CpPayment/Helper/Data.php +25 -0
  6. app/code/community/Compropago/CpPayment/Model/Observer.php +75 -0
  7. app/code/community/Compropago/CpPayment/Model/Providers.php +44 -0
  8. app/code/community/Compropago/CpPayment/Model/Standard.php +380 -0
  9. app/code/community/Compropago/CpPayment/controllers/IndexController.php +236 -0
  10. app/code/community/Compropago/CpPayment/etc/config.xml +102 -0
  11. app/code/community/Compropago/{etc → CpPayment/etc}/system.xml +62 -60
  12. app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.0.0.php +36 -0
  13. app/code/community/Compropago/Helper/Data.php +0 -23
  14. app/code/community/Compropago/Model/Api.php +0 -95
  15. app/code/community/Compropago/Model/Providers.php +0 -69
  16. app/code/community/Compropago/Model/Standard.php +0 -221
  17. app/code/community/Compropago/controllers/WebhookController.php +0 -151
  18. app/code/community/Compropago/etc/config.xml +0 -82
  19. app/design/frontend/base/default/layout/compropago.xml +0 -49
  20. app/design/frontend/base/default/layout/cppayment.xml +33 -0
  21. app/design/frontend/base/default/template/compropago/cash.phtml +0 -98
  22. app/{code/community/Compropago → design/frontend/base/default/template/compropago/cppayment}/.DS_Store +0 -0
  23. app/design/frontend/base/default/template/compropago/cppayment/cash.phtml +75 -0
  24. app/design/frontend/base/default/template/compropago/cppayment/info.phtml +45 -0
  25. app/design/frontend/base/default/template/compropago/cppayment/mark.phtml +25 -0
  26. app/design/frontend/base/default/template/compropago/cppayment/success.phtml +79 -0
  27. app/design/frontend/base/default/template/compropago/onepage_success.phtml +0 -72
  28. app/etc/modules/{Compropago.xml → Compropago_CpPayment.xml} +5 -4
  29. js/compropago/compropago.js +77 -38
  30. lib/Compropago/composer.json +5 -0
  31. lib/Compropago/composer.lock +66 -0
  32. lib/Compropago/vendor/autoload.php +7 -0
  33. lib/Compropago/vendor/composer/ClassLoader.php +413 -0
  34. lib/Compropago/vendor/composer/LICENSE +21 -0
  35. lib/Compropago/vendor/composer/autoload_classmap.php +52 -0
  36. lib/Compropago/vendor/composer/autoload_namespaces.php +9 -0
  37. lib/Compropago/vendor/composer/autoload_psr4.php +10 -0
  38. lib/Compropago/vendor/composer/autoload_real.php +52 -0
  39. lib/Compropago/vendor/composer/autoload_static.php +78 -0
  40. lib/Compropago/vendor/composer/installed.json +51 -0
  41. lib/Compropago/vendor/compropago/php-sdk/.gitignore +9 -0
  42. lib/Compropago/vendor/compropago/php-sdk/CHANGELOG.md +108 -0
  43. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Client.php +103 -0
  44. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Extern/TransactTables.php +88 -0
  45. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/CpOrderInfo.php +112 -0
  46. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/FeeDetails.php +62 -0
  47. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/InstrcutionDetails.php +47 -0
  48. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/Instructions.php +67 -0
  49. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/NewOrderInfo.php +67 -0
  50. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/OrderInfo.php +70 -0
  51. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/SmsInfo.php +47 -0
  52. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Factory.php +190 -0
  53. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Json/Serialize.php +261 -0
  54. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/CpObject.php +50 -0
  55. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/CpOrderInfo10.php +193 -0
  56. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/Data.php +34 -0
  57. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/FeeDetails10.php +96 -0
  58. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/InstructionDetails10.php +70 -0
  59. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/Instructions10.php +108 -0
  60. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/NewOrderInfo10.php +117 -0
  61. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/OrderInfo10.php +82 -0
  62. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/PaymentDetails.php +43 -0
  63. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/ProductInformation.php +36 -0
  64. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsInfo10.php +70 -0
  65. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsPayment.php +34 -0
  66. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/CpOrderInfo11.php +142 -0
  67. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/FeeDetails11.php +76 -0
  68. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/InstructionDetails11.php +70 -0
  69. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/Instructions11.php +108 -0
  70. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/NewOrderInfo11.php +114 -0
  71. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/OrderInfo11.php +82 -0
  72. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsData.php +34 -0
  73. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsInfo11.php +70 -0
  74. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsObject.php +35 -0
  75. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Customer.php +35 -0
  76. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/EvalAuthInfo.php +56 -0
  77. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/PlaceOrderInfo.php +53 -0
  78. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Provider.php +41 -0
  79. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Webhook.php +34 -0
  80. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/WebhookError.php +29 -0
  81. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Service.php +215 -0
  82. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Http.php +132 -0
  83. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Rest.php +136 -0
  84. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Validations.php +89 -0
  85. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/cacerts.pem +2183 -0
  86. lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/UnitTest/Test.php +422 -0
  87. lib/Compropago/vendor/compropago/php-sdk/LICENSE +202 -0
  88. lib/Compropago/vendor/compropago/php-sdk/README.md +381 -0
  89. lib/Compropago/vendor/compropago/php-sdk/composer.json +28 -0
  90. media/cppayment/compropago-logo.png +0 -0
  91. media/cppayment/gitmerge.gif +0 -0
  92. package.xml +18 -23
  93. skin/frontend/base/default/compropago/compropago.css +58 -0
  94. skin/frontend/base/default/css/compropago/compropago.css +0 -80
app/code/community/Compropago/Block/Form.php DELETED
@@ -1,22 +0,0 @@
1
- <?php
2
- /**
3
- * Description of Form
4
- *
5
- * @author waldix <waldix86@gmail.com>
6
- */
7
-
8
-
9
- class Compropago_Block_Form extends Mage_Payment_Block_Form
10
- {
11
- protected function _construct()
12
- {
13
- parent::_construct();
14
- $this->setTemplate('compropago/cash.phtml');
15
- }
16
-
17
- public function getMethod()
18
- {
19
- return parent::getMethod();
20
- }
21
-
22
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/Block/OnepageSuccess.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- class Compropago_Block_OnepageSuccess extends Mage_Checkout_Block_Onepage_Success
4
- {
5
- /**
6
- * Regresa el recibo de compra
7
- *
8
- * @return mixed
9
- */
10
- protected function _beforeToHtml()
11
- {
12
- $outHtml = parent::_beforeToHtml();
13
- $this->setTemplate('compropago/onepage_success.phtml');
14
- return $outHtml;
15
- }
16
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/CpPayment/Block/Form.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ class Compropago_CpPayment_Block_Form extends Mage_Payment_Block_Form
24
+ {
25
+ protected function _construct()
26
+ {
27
+ parent::_construct();
28
+ $this->setTemplate('compropago/cppayment/cash.phtml');
29
+ }
30
+
31
+ public function getMethod()
32
+ {
33
+ return parent::getMethod();
34
+ }
35
+
36
+
37
+ /**
38
+ * Render template for Payment Method Lebel in checkout
39
+ *
40
+ * @return mixed
41
+ */
42
+ public function getMethodLabelAfterHtml()
43
+ {
44
+ $model = Mage::getModel('cppayment/standard');
45
+
46
+ $logo = (int)trim($model->getConfigData('compropago_show_title_logo')) == 1 ? true : false;
47
+
48
+ $final = "";
49
+
50
+ if($logo){
51
+ $mark = Mage::getConfig()->getBlockClassName('core/template');
52
+ $mark = new $mark;
53
+ $mark->setTemplate('compropago/cppayment/mark.phtml');
54
+ $final = $mark->toHtml();
55
+ }
56
+
57
+ return $final;
58
+ }
59
+ }
app/code/community/Compropago/CpPayment/Block/Info.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ /**
19
+ * Compropago $Library
20
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
21
+ */
22
+ class Compropago_CpPayment_Block_Info extends Mage_Payment_Block_Info
23
+ {
24
+
25
+ public function __construct()
26
+ {
27
+ $this->setTemplate('compropago/cppayment/info.phtml');
28
+ }
29
+
30
+ }
app/code/community/Compropago/CpPayment/Helper/Data.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+ class Compropago_CpPayment_Helper_Data extends Mage_Payment_Helper_Data
23
+ {
24
+
25
+ }
app/code/community/Compropago/CpPayment/Model/Observer.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ /**
19
+ * Compropago $Library
20
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
21
+ */
22
+
23
+ require_once(Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php');
24
+
25
+ use CompropagoSdk\Client;
26
+
27
+ class Compropago_CpPayment_Model_Observer
28
+ {
29
+
30
+ public function checkWebhook($observer)
31
+ {
32
+ $webhook = Mage::getBaseUrl() . "cpwebhook";
33
+ $model = Mage::getModel('cppayment/Standard');
34
+
35
+ try{
36
+ $client = new Client(
37
+ $model->getConfigData('compropago_publickey'),
38
+ $model->getConfigData('compropago_privatekey'),
39
+ (int)trim($model->getConfigData('compropago_mode')) == 1 ? true : false
40
+ );
41
+
42
+ $response = $client->api->createWebhook($webhook);
43
+ $time = time();
44
+
45
+ $DB = Mage::getSingleton('core/resource')->getConnection('core_write');
46
+ $prefix = Mage::getConfig()->getTablePrefix();
47
+
48
+ $DB->insert($prefix."compropago_webhook_transactions", array(
49
+ 'webhookId' => $response->id,
50
+ 'updated' => $time,
51
+ 'status' => $response->status,
52
+ 'url' => $webhook
53
+ ));
54
+
55
+
56
+ /* Retroalimentación en el panel de administración
57
+ ------------------------------------------------------------------------*/
58
+
59
+ $retro = $model->hookRetro(
60
+ (int)trim($model->getConfigData('active')) == 1 ? true : false,
61
+ $model->getConfigData('compropago_publickey'),
62
+ $model->getConfigData('compropago_privatekey'),
63
+ (int)trim($model->getConfigData('compropago_mode')) == 1 ? true : false
64
+ );
65
+
66
+ if($retro[0]){
67
+ Mage::getSingleton('adminhtml/session')->addWarning($retro[1]);
68
+ }
69
+
70
+ }catch (Exception $e){
71
+ Mage::throwException($e->getMessage());
72
+ }
73
+ }
74
+
75
+ }
app/code/community/Compropago/CpPayment/Model/Providers.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+ require_once(Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php');
23
+
24
+ use CompropagoSdk\Client;
25
+
26
+ class Compropago_CpPayment_Model_Providers
27
+ {
28
+
29
+ public function toOptionArray()
30
+ {
31
+ $options = array();
32
+ $client = new Client('', '', false);
33
+
34
+ foreach ($client->api->listProviders() as $provider){
35
+ $options[] = array(
36
+ 'value' => $provider->internal_name,
37
+ 'label' => $provider->name
38
+ );
39
+ }
40
+
41
+ return $options;
42
+ }
43
+
44
+ }
app/code/community/Compropago/CpPayment/Model/Standard.php ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+ require_once(Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php');
22
+
23
+ use CompropagoSdk\Client;
24
+ use CompropagoSdk\Models\PlaceOrderInfo;
25
+ use CompropagoSdk\Tools\Validations;
26
+
27
+ class Compropago_CpPayment_Model_Standard extends Mage_Payment_Model_Method_Abstract
28
+ {
29
+ protected $_code = 'cppayment';
30
+ protected $_formBlockType = 'cppayment/form';
31
+ protected $_infoBlockType = 'cppayment/info';
32
+
33
+ protected $_canUseForMultiShipping = false;
34
+ protected $_canUseInternal = false;
35
+ protected $_isInitializeNeeded = true;
36
+
37
+
38
+
39
+ /**
40
+ * Asignacion inicial de informacion
41
+ *
42
+ * @param $data
43
+ * @return $this
44
+ */
45
+ public function assignData($data)
46
+ {
47
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
48
+
49
+ if (!($data instanceof Varien_Object)){
50
+ $data = new Varien_Object($data);
51
+ }
52
+
53
+ if ($data->getStoreCode() != ''){
54
+ $store_code = $data->getStoreCode();
55
+ } else {
56
+ $store_code = null;
57
+ }
58
+
59
+ if($customer->getFirstname()){
60
+ $info = array(
61
+ "payment_type" => $store_code,
62
+ "customer_name" => htmlentities($customer->getFirstname()),
63
+ "customer_email" => htmlentities($customer->getEmail()),
64
+ "customer_phone" => $data->getCustomerPhone()
65
+ );
66
+ } else {
67
+ $sessionCheckout = Mage::getSingleton('checkout/session');
68
+ $quote = $sessionCheckout->getQuote();
69
+ $billingAddress = $quote->getBillingAddress();
70
+ $billing = $billingAddress->getData();
71
+
72
+ $info = array(
73
+ "payment_type" => $store_code,
74
+ "customer_name" => htmlentities($billing['firstname']),
75
+ "customer_email" => htmlentities($billing['email']),
76
+ "customer_phone" => $data->getCustomerPhone()
77
+ );
78
+ }
79
+
80
+ $infoInstance = $this->getInfoInstance();
81
+ $infoInstance->setAdditionalData(serialize($info));
82
+
83
+ return $this;
84
+ }
85
+
86
+
87
+ /**
88
+ * Generacion de la orden
89
+ *
90
+ * @param $paymentAction
91
+ * @param $stateObject
92
+ * @return $this
93
+ */
94
+ public function initialize($paymentAction, $stateObject)
95
+ {
96
+ parent::initialize($paymentAction, $stateObject);
97
+
98
+ if($paymentAction != 'sale'){
99
+ return $this;
100
+ }
101
+
102
+ // Set the default state of the new order.
103
+ $state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT; // state now = 'pending_payment'
104
+ $default_status = 'pending';
105
+
106
+ $stateObject->setState($state);
107
+ $stateObject->setStatus($default_status);
108
+ $stateObject->setIsNotified(false);
109
+
110
+ $sessionCheckout = Mage::getSingleton('checkout/session');
111
+ $quoteId = $sessionCheckout->getQuoteId();
112
+
113
+ $quote = Mage::getSingleton('checkout/session')->getQuote($quoteId);
114
+ $orderId = $quote->getReservedOrderId();
115
+
116
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
117
+ $grandTotal = (float)$order->getBaseGrandTotal();
118
+
119
+ $convertQuote = Mage::getSingleton('sales/convert_quote');
120
+ $order = $convertQuote->toOrder($quote);
121
+ $orderNumber = $order->getIncrementId();
122
+
123
+ $order1 = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
124
+ $order1->setVisibleOnFront(1);
125
+
126
+
127
+ $name = "";
128
+ foreach ($order1->getAllItems() as $item) {
129
+ $name .= $item->getName();
130
+ }
131
+
132
+
133
+ $infoIntance = $this->getInfoInstance();
134
+ $info = unserialize($infoIntance->getAdditionalData());
135
+
136
+
137
+ $order = new PlaceOrderInfo(
138
+ $orderNumber,
139
+ $name,
140
+ $grandTotal,
141
+ $info['customer_name'],
142
+ $info['customer_email'],
143
+ $info['payment_type'],
144
+ null,
145
+ 'magento',
146
+ Mage::getVersion()
147
+ );
148
+
149
+
150
+ try
151
+ {
152
+ $client = new Client(
153
+ $this->getConfigData('compropago_publickey'),
154
+ $this->getConfigData('compropago_privatekey'),
155
+ (int)trim($this->getConfigData('compropago_mode')) == 1 ? true : false
156
+ );
157
+
158
+ $response = $client->api->placeOrder($order);
159
+
160
+ if (empty($response->getId())) {
161
+ Mage::throwException("El servicio de ComproPago no se encuentra disponible.");
162
+ }
163
+
164
+ Mage::getSingleton('core/session')->setCompropagoId($response->getId());
165
+
166
+
167
+
168
+ /* ************************************************************************
169
+ ASIGNAR COMPRA AL USUARIO
170
+ ************************************************************************ */
171
+
172
+
173
+
174
+ $customer = Mage::getModel('customer/customer');
175
+ $customer->setWebsiteId(1);
176
+ $customer->loadByEmail($info['customer_email']);
177
+
178
+ $orderbyid = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
179
+ $orderbyid->setCustomerId($customer->getId());
180
+ $orderbyid->setCustomerFirstname($customer->getFirstname());
181
+ $orderbyid->setCustomerLastname($customer->getLastname());
182
+ $orderbyid->setCustomerEmail($customer->getEmail());
183
+ $orderbyid->save();
184
+
185
+ // Start New Sales Order Quote
186
+ /*$quote = Mage::getModel('sales/quote');
187
+ $order1->setQuote($quote);
188
+ $order1->setCustomer($customer);
189
+ $order1->setPayment($this);
190
+ $order1->setShipping($customer->getShippingRelatedInfo());
191
+ $order1->save();*/
192
+
193
+
194
+
195
+ /* ************************************************************************
196
+ RUTINAS DE BASE DE DATOS
197
+ ************************************************************************ */
198
+
199
+
200
+
201
+ $DB = Mage::getSingleton('core/resource')->getConnection('core_write');
202
+ $prefix = Mage::getConfig()->getTablePrefix();
203
+
204
+ $date = time();
205
+ $ioin = base64_encode(serialize($order));
206
+ $ioout = base64_encode(serialize($response));
207
+
208
+
209
+
210
+ /* TABLE compropago_orders
211
+ ------------------------------------------------------------------------*/
212
+
213
+
214
+ $DB->insert($prefix."compropago_orders", array(
215
+ 'date' => $date,
216
+ 'modified' => $date,
217
+ 'compropagoId' => $response->getId(),
218
+ 'compropagoStatus' => $response->getStatus(),
219
+ 'storeCartId' => $orderNumber,
220
+ 'storeOrderId' => $orderNumber,
221
+ 'storeExtra' => 'COMPROPAGO_PENDING',
222
+ 'ioIn' => $ioin,
223
+ 'ioOut' => $ioout
224
+ ));
225
+
226
+
227
+ /* TABLE compropago_transactions
228
+ ------------------------------------------------------------------------*/
229
+
230
+ $DB->insert($prefix."compropago_transactions", array(
231
+ 'orderId' => $orderNumber,
232
+ 'date' => $date,
233
+ 'compropagoId' => $response->getId(),
234
+ 'compropagoStatus' => $response->getStatus(),
235
+ 'compropagoStatusLast' => $response->getStatus(),
236
+ 'ioIn' => $ioin,
237
+ 'ioOut' => $ioout
238
+ ));
239
+
240
+
241
+ }catch (Exception $error){
242
+ Mage::throwException($error->getMessage());
243
+ }
244
+
245
+ return $this;
246
+ }
247
+
248
+
249
+ /**
250
+ * Envio de proveedores filtrados a la vista
251
+ *
252
+ * @return array
253
+ */
254
+ public function getProviders()
255
+ {
256
+ $client = new Client(
257
+ $this->getConfigData('compropago_publickey'),
258
+ $this->getConfigData('compropago_privatekey'),
259
+ (int)trim($this->getConfigData('compropago_mode')) == 1 ? true : false
260
+ );
261
+
262
+ $sessionCheckout = Mage::getSingleton('checkout/session');
263
+ $quoteId = $sessionCheckout->getQuoteId();
264
+ $quote = Mage::getSingleton('checkout/session')->getQuote($quoteId);
265
+ $orderId = $quote->getReservedOrderId();
266
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
267
+ $grandTotal = (float)$order->getBaseGrandTotal();
268
+
269
+ $providers = $client->api->listProviders(false, $grandTotal);
270
+ $filter = explode(',', $this->getConfigData('compropago_provider_available'));
271
+
272
+ $record = array();
273
+ foreach ($providers as $provider){
274
+ foreach ($filter as $value){
275
+ if($provider->internal_name == $value){
276
+ $record[] = $provider;
277
+ }
278
+ }
279
+ }
280
+
281
+ return $record;
282
+ }
283
+
284
+ /**
285
+ * Esconde texto de titulo si se indico uso de logo
286
+ *
287
+ * @param $is_info
288
+ * @return mixed|string
289
+ */
290
+ public function getTitle($is_info = false)
291
+ {
292
+ if($is_info){
293
+ return $this->getConfigData('title');
294
+ }else{
295
+ $logo = (int)trim($this->getConfigData('compropago_show_title_logo')) == 1 ? true : false;
296
+ return $logo ? "" : $this->getConfigData('title');
297
+ }
298
+ }
299
+
300
+
301
+ /**
302
+ * verificacion de muestra de logos
303
+ *
304
+ * @return bool
305
+ */
306
+ public function showLogoProviders()
307
+ {
308
+ return (int)trim($this->getConfigData("compropago_showlogo")) == 1 ? true : false;
309
+ }
310
+
311
+
312
+ /**
313
+ * Despliegue de retroalimentacion en el panel de administración
314
+ *
315
+ * @param bool $enabled
316
+ * @param string $publickey
317
+ * @param string $privatekey
318
+ * @param bool $live
319
+ * @return array
320
+ */
321
+ public function hookRetro($enabled, $publickey, $privatekey, $live)
322
+ {
323
+ $error = array(
324
+ false,
325
+ '',
326
+ 'yes'
327
+ );
328
+
329
+ if($enabled){
330
+ if(!empty($publickey) && !empty($privatekey) ){
331
+ try{
332
+ $client = new Client(
333
+ $publickey,
334
+ $privatekey,
335
+ $live
336
+ );
337
+ $compropagoResponse = Validations::evalAuth($client);
338
+ //eval keys
339
+ if(!Validations::validateGateway($client)){
340
+ $error[1] = 'Invalid Keys, The Public Key and Private Key must be valid before using this module.';
341
+ $error[0] = true;
342
+ }else{
343
+ if($compropagoResponse->mode_key != $compropagoResponse->livemode){
344
+ $error[1] = 'Your Keys and Your ComproPago account are set to different Modes.';
345
+ $error[0] = true;
346
+ }else{
347
+ if($live != $compropagoResponse->livemode){
348
+ $error[1] = 'Your Store and Your ComproPago account are set to different Modes.';
349
+ $error[0] = true;
350
+ }else{
351
+ if($live != $compropagoResponse->mode_key){
352
+ $error[1] = 'ComproPago ALERT:Your Keys are for a different Mode.';
353
+ $error[0] = true;
354
+ }else{
355
+ if(!$compropagoResponse->mode_key && !$compropagoResponse->livemode){
356
+ $error[1] = 'WARNING: ComproPago account is Running in TEST Mode, NO REAL OPERATIONS';
357
+ $error[0] = true;
358
+ }
359
+ }
360
+ }
361
+ }
362
+ }
363
+ }catch (Exception $e) {
364
+ $error[2] = 'no';
365
+ $error[1] = $e->getMessage();
366
+ $error[0] = true;
367
+ }
368
+ }else{
369
+ $error[1] = 'The Public Key and Private Key must be set before using ComproPago';
370
+ $error[2] = 'no';
371
+ $error[0] = true;
372
+ }
373
+ }else{
374
+ $error[1] = 'ComproPago is not Enabled';
375
+ $error[2] = 'no';
376
+ $error[0] = true;
377
+ }
378
+ return $error;
379
+ }
380
+ }
app/code/community/Compropago/CpPayment/controllers/IndexController.php ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago plugin-magento
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+ require_once(Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php');
22
+
23
+
24
+ use CompropagoSdk\Factory\Factory;
25
+ use CompropagoSdk\Client;
26
+ use CompropagoSdk\Tools\Validations;
27
+
28
+
29
+ class Compropago_CpPayment_IndexController extends Mage_Core_Controller_Front_Action
30
+ {
31
+ /**
32
+ * Variable que alojara el modelo
33
+ * @var null
34
+ */
35
+ protected $_model = null;
36
+
37
+
38
+
39
+ public function _construct()
40
+ {
41
+ $this->_model = Mage::getModel('cppayment/Standard');
42
+ }
43
+
44
+
45
+ public function indexAction()
46
+ {
47
+ /**
48
+ * Se captura la informacion enviada desde compropago
49
+ */
50
+ $request = @file_get_contents('php://input');
51
+
52
+
53
+ /**
54
+ * Se valida el request y se transforma con la cadena a un objeto de tipo CpOrderInfo con el Factory
55
+ */
56
+ if(!$resp_webhook = Factory::cpOrderInfo($request)){
57
+ die('Tipo de Request no Valido');
58
+ }
59
+
60
+
61
+ /**
62
+ * Gurdamos la informacion necesaria para el Cliente
63
+ * las llaves de compropago y el modo de ejecucion de la tienda
64
+ */
65
+ $publickey = $this->_model->getConfigData('compropago_publickey');
66
+ $privatekey = $this->_model->getConfigData('compropago_privatekey');
67
+ $live = (int)trim($this->_model->getConfigData('compropago_mode')) == 1 ? true : false;
68
+
69
+
70
+ /**
71
+ * Se valida que las llaves no esten vacias (No es obligatorio pero si recomendado)
72
+ */
73
+ if (empty($publickey) || empty($privatekey)){
74
+ die("Se requieren las llaves de compropago");
75
+ }
76
+
77
+
78
+ try{
79
+ $client = new Client(
80
+ $publickey,
81
+ $privatekey,
82
+ $live
83
+ );
84
+
85
+ Validations::validateGateway($client);
86
+ }catch (Exception $e) {
87
+ die($e->getMessage());
88
+ }
89
+
90
+
91
+ /**
92
+ * Verificamos si recivimos una peticion de prueba
93
+ */
94
+ if($resp_webhook->getId()=="ch_00000-000-0000-000000"){
95
+ die("Probando el WebHook?, <b>Ruta correcta.</b>");
96
+ }
97
+
98
+
99
+ try{
100
+ /**
101
+ * Verificamos la informacion del Webhook recivido
102
+ */
103
+ $response = $client->api->verifyOrder($resp_webhook->getId());
104
+
105
+
106
+ /**
107
+ * Comprovamos que la verificacion fue exitosa
108
+ */
109
+ if($response->getType() == 'error'){
110
+ die('Error procesando el número de orden');
111
+ }
112
+
113
+
114
+
115
+ /* ************************************************************************
116
+ RUTINAS DE BASE DE DATOS
117
+ ************************************************************************ */
118
+
119
+
120
+ $DBread = Mage::getSingleton('core/resource')->getConnection('core_read');
121
+ $DBwrite = Mage::getSingleton('core/resource')->getConnection('core_write');
122
+ $prefix = Mage::getConfig()->getTablePrefix();
123
+
124
+ $ioin = base64_encode(serialize($resp_webhook));
125
+ $ioout = base64_encode(serialize($response));
126
+ $date = time();
127
+
128
+
129
+ $sql = "SELECT * FROM " . $prefix . "compropago_orders where compropagoId = '{$response->getId()}'";
130
+ $res = $DBread->fetchAll($sql);
131
+
132
+ $storedId = $res[0]['storeOrderId'];
133
+
134
+ if(empty($storedId)){
135
+ throw new Exception('El pago no corresponde a esta tienda.');
136
+ }
137
+
138
+
139
+
140
+ /* Rutinas de aprovación
141
+ ------------------------------------------------------------------------*/
142
+
143
+ $_order = Mage::getModel('sales/order')->loadByIncrementId($response->getOrderInfo()->getOrderId());
144
+
145
+
146
+ /**
147
+ * Generamos las rutinas correspondientes para cada uno de los casos posible del webhook
148
+ */
149
+ switch ($response->getType()){
150
+ case 'charge.pending':
151
+ $status = $this->_model->getConfigData('compropago_order_status_new');
152
+ $message = 'The user has not completed the payment process yet.';
153
+ $_order->setData('state',$status);
154
+ $_order->setStatus($status);
155
+ $history = $_order->addStatusHistoryComment($message);
156
+ $history->setIsCustomerNotified(false);
157
+ $_order->save();
158
+ $nomestatus = 'COMPROPAGO_PENDING';
159
+ break;
160
+ case 'charge.success':
161
+ $status = $this->_model->getConfigData('compropago_order_status_approved');
162
+ $message = 'ComproPago automatically confirmed payment for this order.';
163
+ $_order->setData('state',$status);
164
+ $_order->setStatus($status);
165
+ $history = $_order->addStatusHistoryComment($message);
166
+ $history->setIsCustomerNotified(true);
167
+ $_order->save();
168
+ $nomestatus = 'COMPROPAGO_SUCCESS';
169
+ break;
170
+ case 'charge.declined':
171
+ $status = $this->_model->getConfigData('compropago_order_status_in_process');
172
+ $message = 'The user has not completed the payment process yet.';
173
+ $_order->setData('state',$status);
174
+ $_order->setStatus($status);
175
+ $history = $_order->addStatusHistoryComment($message);
176
+ $history->setIsCustomerNotified(false);
177
+ $_order->save();
178
+ $nomestatus = 'COMPROPAGO_DECLINED';
179
+ break;
180
+ case 'charge.deleted':
181
+ $status = $this->_model->getConfigData('compropago_order_status_cancelled');
182
+ $message = 'The user has not completed the payment and the order was cancelled.';
183
+ $_order->setData('state',$status);
184
+ $_order->setStatus($status);
185
+ $history = $_order->addStatusHistoryComment($message);
186
+ $history->setIsCustomerNotified(false);
187
+ $_order->save();
188
+ $nomestatus = 'COMPROPAGO_DELETED';
189
+ break;
190
+ case 'charge.expired':
191
+ $status = $this->_model->getConfigData('compropago_order_status_cancelled');
192
+ $message = 'The user has not completed the payment and the order was cancelled.';
193
+ $_order->setData('state',$status);
194
+ $_order->setStatus($status);
195
+ $history = $_order->addStatusHistoryComment($message);
196
+ $history->setIsCustomerNotified(false);
197
+ $_order->save();
198
+ $nomestatus = 'COMPROPAGO_EXPIRED';
199
+ break;
200
+ default:
201
+ $_order->save();
202
+ die('Invalid Response type');
203
+ }
204
+
205
+
206
+ /* TABLE compropago_orders
207
+ ------------------------------------------------------------------------*/
208
+
209
+
210
+ $DBwrite->update($prefix."compropago_orders",array(
211
+ 'modified' => $date,
212
+ 'compropagoStatus' => $response->getType(),
213
+ 'storeExtra' => $nomestatus,
214
+ ), 'id='.$res[0]['id']);
215
+
216
+
217
+ /* TABLE compropago_transactions
218
+ ------------------------------------------------------------------------*/
219
+
220
+ $DBwrite->insert($prefix."compropago_transactions", array(
221
+ 'orderId' => $storedId,
222
+ 'date' => $date,
223
+ 'compropagoId' => $response->getId(),
224
+ 'compropagoStatus' => $response->getType(),
225
+ 'compropagoStatusLast' => $res[0]['compropagoStatus'],
226
+ 'ioIn' => $ioin,
227
+ 'ioOut' => $ioout
228
+ ));
229
+
230
+
231
+ }catch (Exception $e){
232
+ //something went wrong at sdk lvl
233
+ die($e->getMessage());
234
+ }
235
+ }
236
+ }
app/code/community/Compropago/CpPayment/etc/config.xml ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Compropago_CpPayment>
5
+ <version>2.0.0</version>
6
+ </Compropago_CpPayment>
7
+ </modules>
8
+
9
+ <!-- BLOQUES GENRALES DE CODIGO -->
10
+ <global>
11
+ <fieldsets>
12
+ <sales_convert_quote_payment>
13
+ <custom_field_one>
14
+ <to_order_payment>*</to_order_payment>
15
+ </custom_field_one>
16
+ <custom_field_two>
17
+ <to_order_payment>*</to_order_payment>
18
+ </custom_field_two>
19
+ </sales_convert_quote_payment>
20
+ </fieldsets>
21
+
22
+ <blocks>
23
+ <cppayment>
24
+ <class>Compropago_CpPayment_Block</class>
25
+ </cppayment>
26
+ </blocks>
27
+ <helpers>
28
+ <cppayment>
29
+ <class>Compropago_CpPayment_Helper</class>
30
+ </cppayment>
31
+ </helpers>
32
+ <models>
33
+ <cppayment>
34
+ <class>Compropago_CpPayment_Model</class>
35
+ </cppayment>
36
+ </models>
37
+
38
+
39
+ <!-- INSTALACION DE TABLAS -->
40
+ <resources>
41
+ <cppayment_setup>
42
+ <setup>
43
+ <module>Compropago_CpPayment</module>
44
+ </setup>
45
+ </cppayment_setup>
46
+ </resources>
47
+
48
+
49
+ <!-- EVENTOS ESCUCHADOS DEL PLUGIN -->
50
+ <events>
51
+ <admin_system_config_changed_section_payment>
52
+ <observers>
53
+ <cppayment_check_webhook>
54
+ <class>cppayment/observer</class>
55
+ <method>checkWebhook</method>
56
+ </cppayment_check_webhook>
57
+ </observers>
58
+ </admin_system_config_changed_section_payment>
59
+ </events>
60
+ </global>
61
+
62
+
63
+
64
+ <!-- RUTEO DEL WEBHOOK -->
65
+ <frontend>
66
+ <routers>
67
+ <cpwebhook>
68
+ <use>standard</use>
69
+ <args>
70
+ <module>Compropago_CpPayment</module>
71
+ <frontName>cpwebhook</frontName>
72
+ </args>
73
+ </cpwebhook>
74
+ </routers>
75
+ <layout>
76
+ <updates>
77
+ <compropago_cppayment>
78
+ <file>cppayment.xml</file>
79
+ </compropago_cppayment>
80
+ </updates>
81
+ </layout>
82
+ </frontend>
83
+
84
+
85
+ <!-- ACTIVACION COMO METODO DE PAGO -->
86
+ <default>
87
+ <payment>
88
+ <cppayment>
89
+ <active>1</active>
90
+ <model>cppayment/standard</model>
91
+ <title>Pago en efectivo - ComproPago</title>
92
+ <allowspecific>0</allowspecific>
93
+ <payment_action>sale</payment_action>
94
+ <compropago_show_title_logo>1</compropago_show_title_logo>
95
+ <compropago_order_status_new>pending</compropago_order_status_new>
96
+ <compropago_order_status_approved>processing</compropago_order_status_approved>
97
+ <compropago_order_status_in_process>pending</compropago_order_status_in_process>
98
+ <compropago_order_status_cancelled>canceled</compropago_order_status_cancelled>
99
+ </cppayment>
100
+ </payment>
101
+ </default>
102
+ </config>
app/code/community/Compropago/{etc → CpPayment/etc}/system.xml RENAMED
@@ -1,14 +1,16 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
3
- <sections>
4
  <payment>
5
  <groups>
6
- <compropago translate="label" module="compropago">
7
- <label><![CDATA[Pago en efectivo - ComproPago]]></label>
8
- <sort_order>670</sort_order>
 
9
  <show_in_default>1</show_in_default>
10
  <show_in_website>1</show_in_website>
11
- <show_in_store>0</show_in_store>
 
12
  <fields>
13
 
14
  <active translate="label">
@@ -21,120 +23,120 @@
21
  <show_in_store>0</show_in_store>
22
  </active>
23
 
24
- <title translate="label,comment">
25
  <label>Título</label>
26
- <comment>
27
- <![CDATA[
28
- Este campo se mostrará como etiqueta de metodo de pago.
29
- ]]>
30
- </comment>
31
  <frontend_type>text</frontend_type>
32
  <sort_order>2</sort_order>
33
  <show_in_default>1</show_in_default>
34
  <show_in_website>1</show_in_website>
35
  <show_in_store>0</show_in_store>
36
  </title>
37
- <public_key translate="label">
 
 
 
 
 
 
 
 
 
 
 
 
38
  <label>Llave Publica</label>
39
  <frontend_type>text</frontend_type>
40
  <sort_order>6</sort_order>
41
  <show_in_default>1</show_in_default>
42
  <show_in_website>1</show_in_website>
43
  <show_in_store>0</show_in_store>
44
- </public_key>
45
 
46
- <private_key translate="label">
47
  <label>Llave Privada</label>
48
  <frontend_type>text</frontend_type>
49
  <sort_order>7</sort_order>
50
  <show_in_default>1</show_in_default>
51
  <show_in_website>1</show_in_website>
52
  <show_in_store>0</show_in_store>
53
- </private_key>
54
 
55
- <provider translate="label">
56
- <label>Habilitar Logos para Establecimientos</label>
 
 
 
 
 
 
 
 
 
 
 
57
  <frontend_type>select</frontend_type>
58
  <source_model>adminhtml/system_config_source_yesno</source_model>
59
  <sort_order>9</sort_order>
60
  <show_in_default>1</show_in_default>
61
  <show_in_website>1</show_in_website>
62
  <show_in_store>1</show_in_store>
63
- </provider>
64
 
65
- <provider_available translate="label">
66
  <label>Seleccionar Proveedores de pago</label>
67
  <frontend_type>multiselect</frontend_type>
68
- <source_model>compropago/providers</source_model>
69
  <sort_order>10</sort_order>
70
  <show_in_default>1</show_in_default>
71
  <show_in_website>1</show_in_website>
72
  <show_in_store>1</show_in_store>
73
- </provider_available>
 
 
 
74
 
75
- <order_status_new translate="label">
76
- <label>Elegir estado de nuevas ordenes</label>
77
- <comment>
78
- <![CDATA[
79
- Ir a "system -> OrderStatuses" y asignar una nueva orden de estado personalizada en la opción de 'new'.
80
- ]]>
81
- </comment>
82
  <frontend_type>select</frontend_type>
83
  <source_model>adminhtml/system_config_source_order_status</source_model>
84
  <sort_order>19</sort_order>
85
  <show_in_default>1</show_in_default>
86
  <show_in_website>1</show_in_website>
87
- <show_in_store>1</show_in_store>
88
- </order_status_new>
89
 
90
- <order_status_approved translate="label">
91
- <label>Elegir estado de ordenes aprobadas</label>
92
- <comment>
93
- <![CDATA[
94
- Ir a "system -> OrderStatuses" y asignar una nueva orden de estado personalizada en la opción de 'new'.
95
- ]]>
96
- </comment>
97
  <frontend_type>select</frontend_type>
98
  <source_model>adminhtml/system_config_source_order_status</source_model>
99
  <sort_order>20</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
- </order_status_approved>
104
 
105
- <order_status_in_process translate="label">
106
- <label>Elegir estado de ordenes pendientes</label>
107
- <comment>
108
- <![CDATA[
109
- Ir a "system -> OrderStatuses" y asignar una nueva orden de estado personalizada en la opción de 'new'.
110
- ]]>
111
- </comment>
112
  <frontend_type>select</frontend_type>
113
  <source_model>adminhtml/system_config_source_order_status</source_model>
114
  <sort_order>22</sort_order>
115
  <show_in_default>1</show_in_default>
116
  <show_in_website>1</show_in_website>
117
- <show_in_store>1</show_in_store>
118
- </order_status_in_process>
119
 
120
- <order_status_cancelled translate="label">
121
- <label>Elegir el estado de las ordenes canceladas</label>
122
- <comment>
123
- <![CDATA[
124
- Ir a "system -> OrderStatuses" y asignar una nueva orden de estado personalizada en la opción de 'new'.
125
- ]]>
126
- </comment>
127
  <frontend_type>select</frontend_type>
128
  <source_model>adminhtml/system_config_source_order_status</source_model>
129
  <sort_order>23</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
- </order_status_cancelled>
134
-
135
  </fields>
136
- </compropago>
137
  </groups>
138
  </payment>
139
  </sections>
140
- </config>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
3
+ <sections>
4
  <payment>
5
  <groups>
6
+ <cppayment translate="label" module="cppayment">
7
+ <label>Compropago Payment Extension</label>
8
+ <frontend_type>text</frontend_type>
9
+ <sort_order>100</sort_order>
10
  <show_in_default>1</show_in_default>
11
  <show_in_website>1</show_in_website>
12
+ <show_in_store>1</show_in_store>
13
+
14
  <fields>
15
 
16
  <active translate="label">
23
  <show_in_store>0</show_in_store>
24
  </active>
25
 
26
+ <title translate="label">
27
  <label>Título</label>
 
 
 
 
 
28
  <frontend_type>text</frontend_type>
29
  <sort_order>2</sort_order>
30
  <show_in_default>1</show_in_default>
31
  <show_in_website>1</show_in_website>
32
  <show_in_store>0</show_in_store>
33
  </title>
34
+
35
+ <compropago_show_title_logo translate="label">
36
+ <label>Mostrar Logo ComproPago</label>
37
+ <comment>Mostrara el logo de ComproPago como titulo del metodo de pago</comment>
38
+ <frontend_type>select</frontend_type>
39
+ <source_model>adminhtml/system_config_source_yesno</source_model>
40
+ <sort_order>3</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ </compropago_show_title_logo>
45
+
46
+ <compropago_publickey translate="label">
47
  <label>Llave Publica</label>
48
  <frontend_type>text</frontend_type>
49
  <sort_order>6</sort_order>
50
  <show_in_default>1</show_in_default>
51
  <show_in_website>1</show_in_website>
52
  <show_in_store>0</show_in_store>
53
+ </compropago_publickey>
54
 
55
+ <compropago_privatekey translate="label">
56
  <label>Llave Privada</label>
57
  <frontend_type>text</frontend_type>
58
  <sort_order>7</sort_order>
59
  <show_in_default>1</show_in_default>
60
  <show_in_website>1</show_in_website>
61
  <show_in_store>0</show_in_store>
62
+ </compropago_privatekey>
63
 
64
+ <compropago_mode translate="label">
65
+ <label>Modo activo</label>
66
+ <frontend_type>select</frontend_type>
67
+ <comment>Estas generando pruebas? cambia a 'no'</comment>
68
+ <source_model>adminhtml/system_config_source_yesno</source_model>
69
+ <sort_order>8</sort_order>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>1</show_in_website>
72
+ <show_in_store>0</show_in_store>
73
+ </compropago_mode>
74
+
75
+ <compropago_showlogo translate="label">
76
+ <label>Habilitar logos de tiendas</label>
77
  <frontend_type>select</frontend_type>
78
  <source_model>adminhtml/system_config_source_yesno</source_model>
79
  <sort_order>9</sort_order>
80
  <show_in_default>1</show_in_default>
81
  <show_in_website>1</show_in_website>
82
  <show_in_store>1</show_in_store>
83
+ </compropago_showlogo>
84
 
85
+ <compropago_provider_available translate="label">
86
  <label>Seleccionar Proveedores de pago</label>
87
  <frontend_type>multiselect</frontend_type>
88
+ <source_model>cppayment/providers</source_model>
89
  <sort_order>10</sort_order>
90
  <show_in_default>1</show_in_default>
91
  <show_in_website>1</show_in_website>
92
  <show_in_store>1</show_in_store>
93
+ </compropago_provider_available>
94
+
95
+
96
+ <!-- ORDER STATUS -->
97
 
98
+ <compropago_order_status_new translate="label">
99
+ <label>Estatus nuevas ordenes</label>
 
 
 
 
 
100
  <frontend_type>select</frontend_type>
101
  <source_model>adminhtml/system_config_source_order_status</source_model>
102
  <sort_order>19</sort_order>
103
  <show_in_default>1</show_in_default>
104
  <show_in_website>1</show_in_website>
105
+ <show_in_store>0</show_in_store>
106
+ </compropago_order_status_new>
107
 
108
+ <compropago_order_status_approved translate="label">
109
+ <label>Estatus ordenes aprobadas</label>
 
 
 
 
 
110
  <frontend_type>select</frontend_type>
111
  <source_model>adminhtml/system_config_source_order_status</source_model>
112
  <sort_order>20</sort_order>
113
  <show_in_default>1</show_in_default>
114
  <show_in_website>1</show_in_website>
115
+ <show_in_store>0</show_in_store>
116
+ </compropago_order_status_approved>
117
 
118
+ <compropago_order_status_in_process translate="label">
119
+ <label>Estatus ordenes pendientes</label>
 
 
 
 
 
120
  <frontend_type>select</frontend_type>
121
  <source_model>adminhtml/system_config_source_order_status</source_model>
122
  <sort_order>22</sort_order>
123
  <show_in_default>1</show_in_default>
124
  <show_in_website>1</show_in_website>
125
+ <show_in_store>0</show_in_store>
126
+ </compropago_order_status_in_process>
127
 
128
+ <compropago_order_status_cancelled translate="label">
129
+ <label>Estatus ordenes canceladas</label>
 
 
 
 
 
130
  <frontend_type>select</frontend_type>
131
  <source_model>adminhtml/system_config_source_order_status</source_model>
132
  <sort_order>23</sort_order>
133
  <show_in_default>1</show_in_default>
134
  <show_in_website>1</show_in_website>
135
+ <show_in_store>0</show_in_store>
136
+ </compropago_order_status_cancelled>
 
137
  </fields>
138
+ </cppayment>
139
  </groups>
140
  </payment>
141
  </sections>
142
+ </config>
app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.0.0.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+ require_once(Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php');
22
+
23
+ use CompropagoSdk\Extern\TransactTables;
24
+
25
+ $installer = $this;
26
+ $installer->startSetup();
27
+
28
+ foreach (TransactTables::sqlDropTables(Mage::getConfig()->getTablePrefix()) as $table){
29
+ $installer->run($table);
30
+ }
31
+
32
+ foreach (TransactTables::sqlCreateTables(Mage::getConfig()->getTablePrefix()) as $table){
33
+ $installer->run($table);
34
+ }
35
+
36
+ $installer->endSetup();
app/code/community/Compropago/Helper/Data.php DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Phoenix
16
- * @package Phoenix_Moneybookers
17
- * @copyright Copyright (c) 2013 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
- class Compropago_Helper_Data extends Mage_Payment_Helper_Data
21
- {
22
-
23
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/Model/Api.php DELETED
@@ -1,95 +0,0 @@
1
- <?php
2
- /**
3
- * API para el consumo de los servicios de ComproPago
4
- *
5
- * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
6
- * @author ivelazquex <isai.velazquez@gmail.com>
7
- */
8
-
9
-
10
- class Compropago_Model_Api
11
- {
12
- /**
13
- * URL del servicio de PagoFacil en ambiente de produccion
14
- *
15
- * @var string
16
- */
17
- protected $_url = 'https://api.compropago.com/v1/charges';
18
-
19
- /**
20
- * respuesta sin parsear del servicio
21
- *
22
- * @var string
23
- */
24
- protected $_response = NULL;
25
-
26
- public function __construct()
27
- {
28
-
29
- }
30
-
31
- /**
32
- * Consume el servicio de pago de ComproPago
33
- *
34
- * @param string[] vector con la informacion de la peticion
35
- * @return mixed respuesta del consumo del servicio
36
- * @throws Exception
37
- */
38
- public function payment($info)
39
- {
40
- $response = null;
41
-
42
- if (!is_array($info)){
43
- throw new Exception('parameter is not an array');
44
- }
45
-
46
- $info['url'] = $this->_url;
47
-
48
- $data = array(
49
- 'order_id' => $info['order_id'],
50
- 'order_price' => $info['order_price'],
51
- 'order_name' => $info['order_name'],
52
- 'image_url' => $info['image_url'],
53
- 'customer_name' => $info['customer_name'],
54
- 'customer_email' => $info['customer_email'],
55
- 'customer_phone' => $info['customer_phone'],
56
- 'payment_type' => $info['payment_type'],
57
- 'app_client_name' => 'magento',
58
- 'app_client_version' => Mage::getVersion()
59
- );
60
-
61
- $ch = curl_init();
62
- curl_setopt($ch, CURLOPT_URL, $this->_url);
63
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
64
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
65
- curl_setopt($ch, CURLOPT_USERPWD, $info['client_secret'] . ":");
66
- curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
67
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
68
- curl_setopt($ch, CURLOPT_POST, true);
69
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
70
- $this->_response = curl_exec($ch);
71
- curl_close($ch);
72
-
73
- $response = json_decode($this->_response,true);
74
-
75
- if ($response == null){
76
- Mage::throwException("El servicio de Compropago no se encuentra disponible.");
77
- }
78
-
79
- if ($response['type'] == "error") {
80
- $errorMessage = $response['message'] . "\n";
81
- Mage::throwException($errorMessage);
82
- }
83
-
84
- return $response;
85
- }
86
-
87
- /**
88
- * obtiene la respuesta del servicio
89
- * @return string
90
- */
91
- public function getResponse()
92
- {
93
- return $this->_response;
94
- }
95
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/Model/Providers.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- /**
3
- * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
4
- */
5
-
6
- class Compropago_Model_Providers
7
- {
8
- /**
9
- * Convercion de Proveedores para desplegar SelectBox
10
- *
11
- * @return array
12
- */
13
- public function toOptionArray()
14
- {
15
- $options = array();
16
-
17
- foreach($this->getProviders() as $provider){
18
- $options[] = array(
19
- 'value' => $provider['internal_name'],
20
- 'label' => $provider['name']
21
- );
22
- }
23
-
24
- return $options;
25
- }
26
-
27
- /**
28
- * Obtencion de proveedores ordenados por Rank
29
- *
30
- * @return array
31
- */
32
- private function getProviders()
33
- {
34
- $url = 'https://api.compropago.com/v1/providers/';
35
- $url.= 'true';
36
-
37
- $ch = curl_init();
38
- curl_setopt($ch, CURLOPT_URL, $url);
39
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
40
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
41
- curl_setopt($ch, CURLOPT_USERPWD, ":");
42
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
43
- $response = curl_exec($ch);
44
- curl_close($ch);
45
-
46
- $response = json_decode($response,true);
47
-
48
- if ($response['type'] == "error") {
49
- $errorMessage = $response['message'] . "\n";
50
- Mage::throwException($errorMessage);
51
- }
52
-
53
- $hash = array();
54
-
55
- foreach($response as $record) {
56
- $hash[$record['rank']] = $record;
57
- }
58
-
59
- ksort($hash);
60
-
61
- $records = array();
62
-
63
- foreach($hash as $record){
64
- $records[] = $record;
65
- }
66
-
67
- return $records;
68
- }
69
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/Model/Standard.php DELETED
@@ -1,221 +0,0 @@
1
- <?php
2
- /**
3
- * Description of Standard
4
- *
5
- * @author ivelazquex <isai.velazquez@gmail.com>
6
- */
7
-
8
- class Compropago_Model_Standard extends Mage_Payment_Model_Method_Abstract
9
- {
10
- protected $_code = 'compropago';
11
- protected $_formBlockType = 'compropago/form';
12
-
13
- protected $_canUseForMultiShipping = false;
14
- protected $_canUseInternal = false;
15
- protected $_isInitializeNeeded = true;
16
-
17
- /**
18
- * Asignacion de informacion inicial
19
- *
20
- * @param $data
21
- * @return $this
22
- */
23
- public function assignData($data)
24
- {
25
- $customer = Mage::getSingleton('customer/session')->getCustomer();
26
-
27
- if (!($data instanceof Varien_Object)){
28
- $data = new Varien_Object($data);
29
- }
30
-
31
- if ($data->getStoreCode() != ''){
32
- $store_code = $data->getStoreCode();
33
- } else {
34
- $store_code = 'OXXO';
35
- }
36
- //Verificamos si existe el customer
37
- if($customer->getFirstname()){
38
- $info = array(
39
- "payment_type" => $store_code,
40
- "customer_name" => htmlentities($customer->getFirstname()),
41
- "customer_email" => htmlentities($customer->getEmail()),
42
- "customer_phone" => $data->getCustomerPhone()
43
- );
44
- } else {
45
- $sessionCheckout = Mage::getSingleton('checkout/session');
46
- $quote = $sessionCheckout->getQuote();
47
- $billingAddress = $quote->getBillingAddress();
48
- $billing = $billingAddress->getData();
49
- $info = array(
50
- "payment_type" => $store_code,
51
- "customer_name" => htmlentities($billing['firstname']),
52
- "customer_email" => htmlentities($billing['email']),
53
- "customer_phone" => $data->getCustomerPhone()
54
- );
55
- }
56
-
57
- $infoInstance = $this->getInfoInstance();
58
- $infoInstance->setAdditionalData(serialize($info));
59
-
60
- return $this;
61
- }
62
-
63
- /**
64
- * Inicializacion del objeto principal
65
- *
66
- * @param $paymentAction
67
- * @param $stateObject
68
- * @return $this
69
- * @throws Mage_Core_Exception
70
- */
71
- public function initialize($paymentAction, $stateObject)
72
- {
73
- parent::initialize($paymentAction, $stateObject);
74
-
75
- if($paymentAction != 'sale'){
76
- return $this;
77
- }
78
-
79
- // Set the default state of the new order.
80
- $state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT; // state now = 'pending_payment'
81
- $default_status = 'pending';
82
-
83
- $stateObject->setState($state);
84
- $stateObject->setStatus($default_status);
85
- $stateObject->setIsNotified(false);
86
-
87
- $sessionCheckout = Mage::getSingleton('checkout/session');
88
- $quoteId = $sessionCheckout->getQuoteId();
89
-
90
- $quote = Mage::getModel("sales/quote")->load($quoteId);
91
- $grandTotal = $quote->getData('grand_total');
92
- $subTotal = $quote->getSubtotal();
93
- $shippingHandling = ($grandTotal-$subTotal);
94
-
95
- $convertQuote = Mage::getSingleton('sales/convert_quote');
96
- $order = $convertQuote->toOrder($quote);
97
- $orderNumber = $order->getIncrementId();
98
- $order1 = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
99
-
100
- $name = "";
101
- foreach ($order1->getAllItems() as $item) {
102
- $name .= $item->getName();
103
- }
104
-
105
- $infoIntance = $this->getInfoInstance();
106
- $info = unserialize($infoIntance->getAdditionalData());
107
- $info['order_id'] = $orderNumber;
108
- $info['order_price'] = $grandTotal;
109
- $info['order_name'] = $name;
110
- $info['client_secret'] = trim($this->getConfigData('private_key'));
111
- $info['client_id'] = trim($this->getConfigData('public_key'));
112
-
113
- try
114
- {
115
- $Api = new Compropago_Model_Api();
116
- $response = $Api->payment($info);
117
-
118
- if ($response == null) {
119
- Mage::throwException("El servicio de Compropago no se encuentra disponible.");
120
- }
121
-
122
- if ($response['type'] == "error") {
123
- $errorMessage = $response['message'] . "\n";
124
- Mage::throwException($errorMessage.">>".json_encode($info));
125
- }
126
-
127
- $id = null;
128
- if($response['api_version'] == '1.0'){
129
- $id = $response['payment_id'];
130
- } elseif ($response['api_version'] == '1.1' || $response['api_version'] == '1.2') {
131
- $id = $response['id'];
132
- }else{
133
- Mage::throwException("Payment Id not defined");
134
- }
135
-
136
- Mage::getSingleton('core/session')->setCompropagoId($id);
137
- }catch (Exception $error){
138
- Mage::throwException($error->getMessage().">>".json_encode($info));
139
- }
140
-
141
- return $this;
142
- }
143
-
144
- /**
145
- * Obtiene listado filtrado de proveedores
146
- *
147
- * @return array
148
- * @throws Mage_Core_Exception
149
- */
150
- public function getProviders()
151
- {
152
- if (trim($this->getConfigData('private_key')) == '' || trim($this->getConfigData('public_key')) == '') {
153
- Mage::throwException("Datos incompletos del servicio, contacte al administrador del sitio");
154
- }
155
-
156
- $url = 'https://api.compropago.com/v1/providers/true';
157
-
158
- $ch = curl_init();
159
- curl_setopt($ch, CURLOPT_URL, $url);
160
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
161
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
162
- curl_setopt($ch, CURLOPT_USERPWD, ":");
163
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
164
- $this->_response = curl_exec($ch);
165
- curl_close($ch);
166
-
167
- $response = json_decode($this->_response,true);
168
-
169
- if ($response['type'] == "error"){
170
- $errorMessage = $response['message'] . "\n";
171
- Mage::throwException($errorMessage);
172
- }
173
-
174
- $filter = explode(",",$this->getConfigData('provider_available'));
175
-
176
- $hash = array();
177
-
178
- foreach($response as $record){
179
- foreach($filter as $value){
180
- if($record['internal_name'] == $value){
181
- $hash[$record['rank']] = $record;
182
- }
183
- }
184
- }
185
-
186
- ksort($hash);
187
- $records = array();
188
-
189
- foreach($hash as $record){
190
- $records []= $record;
191
- }
192
-
193
-
194
- $sessionCheckout = Mage::getSingleton('checkout/session');
195
- $quoteId = $sessionCheckout->getQuoteId();
196
-
197
- $quote = Mage::getModel("sales/quote")->load($quoteId);
198
- $grandTotal = $quote->getData('grand_total');
199
-
200
- $finalRecord = array();
201
-
202
- foreach ($records as $value){
203
- if($value['transaction_limit'] >= $grandTotal){
204
- $finalRecord []= $value;
205
- }
206
- }
207
-
208
-
209
- return $finalRecord;
210
- }
211
-
212
- /**
213
- * Determina si se mostraran los logos para la seleccion de proveedores
214
- *
215
- * @return bool
216
- */
217
- public function showLogoProviders()
218
- {
219
- return ( (int)trim($this->getConfigData("provider")) == 1 ? true : false );
220
- }
221
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/controllers/WebhookController.php DELETED
@@ -1,151 +0,0 @@
1
- <?php
2
- /**
3
- * Webhook para notificaciones de pagos.
4
- *
5
- * @author waldix (waldix86@gmail.com)
6
- */
7
- class Compropago_WebhookController extends Mage_Core_Controller_Front_Action{
8
-
9
- /**
10
- * @var null
11
- */
12
- protected $_model = null;
13
-
14
- /**
15
- * Constructor
16
- */
17
- public function _construct() {
18
- $this->_model = Mage::getModel('compropago/Standard');
19
- }
20
-
21
- /**
22
- * Recepcion de parametros de la orden
23
- */
24
- public function indexAction(){
25
- $params = $this->getRequest()->getParams();
26
- $body = @file_get_contents('php://input');
27
- $event_json = json_decode($body);
28
-
29
- if(isset($event_json)){
30
- if ($event_json->{'api_version'} === '1.1') {
31
-
32
- if ($event_json->{'id'}){
33
- $order = $this->verifyOrder($event_json->{'id'});
34
- $type = $order['type'];
35
-
36
- if (isset($order['id'])){
37
- if ($order['id'] === $event_json->{'id'}) {
38
- $order_id = $order['order_info']['order_id'];
39
- $this->changeStatus($order_id, $type);
40
- } else {
41
- echo 'Order not valid';
42
- }
43
- } else {
44
- echo 'Order not valid';
45
- }
46
- }
47
- } else {
48
- if ($event_json->data->object->{'id'}){
49
- $order = $this->verifyOrder($event_json->data->object->{'id'});
50
- $type = $order['type'];
51
- if (isset($order['data']['object']['id'])){
52
- if ($order['data']['object']['id'] === $event_json->data->object->{'id'}) {
53
- $order_id = $order['data']['object']['payment_details']['product_id'];
54
- $this->changeStatus($order_id, $type);
55
- } else {
56
- echo 'Order not valid';
57
- }
58
- } else {
59
- echo 'Order not valid';
60
- }
61
- }
62
- }
63
- } else {
64
- echo 'Order not valid';
65
- }
66
- }
67
-
68
- /**
69
- * Cambio de estatus de la orden
70
- *
71
- * @param $order_id
72
- * @param $type
73
- */
74
- public function changeStatus($order_id, $type){
75
- $_order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
76
- switch ($type) {
77
- case 'charge.pending':
78
- $status = $this->_model->getConfigData('order_status_new');
79
- $message = 'The user has not completed the payment process yet.';
80
- $_order->setData('state',$status);
81
- $_order->setStatus($status);
82
- $history = $_order->addStatusHistoryComment($message);
83
- $history->setIsCustomerNotified(false);
84
- $_order->save();
85
- break;
86
- case 'charge.success':
87
- $status = $this->_model->getConfigData('order_status_approved');
88
- $message = 'ComproPago automatically confirmed payment for this order.';
89
- $_order->setData('state',$status);
90
- $_order->setStatus($status);
91
- $history = $_order->addStatusHistoryComment($message);
92
- $history->setIsCustomerNotified(true);
93
- $_order->save();
94
- break;
95
- case 'charge.declined':
96
- $status = $this->_model->getConfigData('order_status_in_process');
97
- $message = 'The user has not completed the payment process yet.';
98
- $_order->setData('state',$status);
99
- $_order->setStatus($status);
100
- $history = $_order->addStatusHistoryComment($message);
101
- $history->setIsCustomerNotified(false);
102
- $_order->save();
103
- break;
104
- case 'charge.deleted':
105
- $status = $this->_model->getConfigData('order_status_cancelled');
106
- $message = 'The user has not completed the payment and the order was cancelled.';
107
- $_order->setData('state',$status);
108
- $_order->setStatus($status);
109
- $history = $_order->addStatusHistoryComment($message);
110
- $history->setIsCustomerNotified(false);
111
- $_order->save();
112
- break;
113
- case 'charge.expired':
114
- $status = $this->_model->getConfigData('order_status_cancelled');
115
- $message = 'The user has not completed the payment and the order was cancelled.';
116
- $_order->setData('state',$status);
117
- $_order->setStatus($status);
118
- $history = $_order->addStatusHistoryComment($message);
119
- $history->setIsCustomerNotified(false);
120
- $_order->save();
121
- break;
122
- default:
123
- $status = $this->_model->getConfigData('order_status_in_process');
124
- $message = "";
125
- $_order->addStatusToHistory($status, $message,true);
126
- }
127
- $_order->save();
128
- }
129
-
130
- /**
131
- * Verificacion de orden recivida.
132
- *
133
- * @param $id
134
- * @return mixed
135
- */
136
- public function verifyOrder($id){
137
- $url = 'https://api.compropago.com/v1/charges/';
138
- $url .= $id;
139
- $username = trim($this->_model->getConfigData('private_key'));
140
- $ch = curl_init();
141
- curl_setopt($ch, CURLOPT_URL, $url);
142
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
143
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
144
- curl_setopt($ch, CURLOPT_USERPWD, $username . ":");
145
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
146
- $this->_response = curl_exec($ch);
147
- curl_close($ch);
148
- $response = json_decode($this->_response,true);
149
- return $response;
150
- }
151
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Compropago/etc/config.xml DELETED
@@ -1,82 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <Compropago>
5
- <version>1.0.0</version>
6
- </Compropago>
7
- </modules>
8
-
9
- <global>
10
- <models>
11
- <compropago>
12
- <class>Compropago_Model</class>
13
- </compropago>
14
- </models>
15
- <helpers>
16
- <compropago>
17
- <class>Compropago_Helper</class>
18
- </compropago>
19
- </helpers>
20
- <resources>
21
- <compropago>
22
- <setup>
23
- <module>Compropago</module>
24
- </setup>
25
- </compropago>
26
- </resources>
27
- <blocks>
28
- <compropago>
29
- <class>Compropago_Block</class>
30
- </compropago>
31
- <checkout>
32
- <rewrite>
33
- <onepage_success>Compropago_Block_OnepageSuccess</onepage_success>
34
- </rewrite>
35
- </checkout>
36
- </blocks>
37
- <payment>
38
- <groups>
39
- <compropago>Compropago</compropago>
40
- </groups>
41
- </payment>
42
- </global>
43
-
44
- <frontend>
45
- <routers>
46
- <compropago>
47
- <use>standard</use>
48
- <args>
49
- <module>Compropago</module>
50
- <frontName>compropago</frontName>
51
- </args>
52
- </compropago>
53
- </routers>
54
- <layout>
55
- <updates>
56
- <compropago>
57
- <file>compropago.xml</file>
58
- </compropago>
59
- </updates>
60
- </layout>
61
- </frontend>
62
-
63
- <default>
64
- <payment>
65
- <compropago>
66
- <payment_action>sale</payment_action>
67
- <model>compropago/standard</model>
68
- <status>pending</status>
69
- <title>Pago en efectivo - ComproPago</title>
70
- <provider>1</provider>
71
- <order_status_new>pending</order_status_new>
72
- <order_status_approved>processing</order_status_approved>
73
- <order_status_refunded>refunded</order_status_refunded>
74
- <order_status_in_process>pending</order_status_in_process>
75
- <order_status_in_mediation>pending</order_status_in_mediation>
76
- <order_status_rejected>rejected</order_status_rejected>
77
- <order_status_cancelled>cancelled</order_status_cancelled>
78
- </compropago>
79
- </payment>
80
- </default>
81
-
82
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/layout/compropago.xml DELETED
@@ -1,49 +0,0 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Academic Free License (AFL 3.0)
9
- * that is bundled with this package in the file LICENSE_AFL.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/afl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * DISCLAIMER
17
- *
18
- * Do not edit or add to this file if you wish to upgrade Magento to newer
19
- * versions in the future. If you wish to customize Magento for your
20
- * needs please refer to http://www.magentocommerce.com for more information.
21
- *
22
- * @category design
23
- * @package base_default
24
- * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
- */
27
- -->
28
- <layout version="0.1.0">
29
- <checkout_onepage_index>
30
- <reference name="head">
31
- <action method="addCss">
32
- <path>css/compropago/compropago.css</path>
33
- </action>
34
- <action method="addJs">
35
- <script>compropago/compropago.js</script>
36
- </action>
37
- </reference>
38
- </checkout_onepage_index>
39
- <checkout_onepage_success>
40
- <reference name="head">
41
- <action method="addCss">
42
- <path>css/compropago/compropago.css</path>
43
- </action>
44
- <action method="addJs">
45
- <script>compropago/compropago.js</script>
46
- </action>
47
- </reference>
48
- </checkout_onepage_success>
49
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/layout/cppayment.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <layout version="0.1.0">
2
+ <checkout_onepage_index>
3
+ <reference name="head">
4
+ <action method="addCss">
5
+ <stylesheet>compropago/compropago.css</stylesheet>
6
+ </action>
7
+ <action method="addJs">
8
+ <script>compropago/compropago.js</script>
9
+ </action>
10
+ </reference>
11
+
12
+ <reference name="">
13
+
14
+ </reference>
15
+ </checkout_onepage_index>
16
+
17
+
18
+ <checkout_onepage_success>
19
+ <reference name="head">
20
+ <action method="addCss">
21
+ <stylesheet>compropago/compropago.css</stylesheet>
22
+ </action>
23
+ <action method="addJs">
24
+ <script>compropago/compropago.js</script>
25
+ </action>
26
+ </reference>
27
+
28
+ <reference name="root">
29
+ <action method="setTemplate"><template>compropago/cppayment/success.phtml</template></action>
30
+ </reference>
31
+ </checkout_onepage_success>
32
+
33
+ </layout>
app/design/frontend/base/default/template/compropago/cash.phtml DELETED
@@ -1,98 +0,0 @@
1
- <?php
2
- /**
3
- * Form payment cash
4
- *
5
- * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
6
- * @author Oswaldo Lopez (waldix86@gmail.com)
7
- */
8
- ?>
9
-
10
- <?php
11
- $_code = $this->getMethodCode();
12
- $_model = $this->getMethod();
13
- $_getProviders = $_model->getProviders();
14
- ?>
15
-
16
- <script>
17
- paymentcheck = document.querySelector("#p_method_compropago");
18
- provider = document.querySelector("#store_code_selected");
19
- paymentcheck.checked = true;
20
-
21
- if(btn = document.querySelector("button[ onclick^=payment ]")){
22
- btn.setAttribute("onclick"," ");
23
-
24
- btn.addEventListener("click",function(evt){
25
- evt.preventDefault();
26
-
27
- if(paymentcheck.checked){
28
- if(provider.value == ""){
29
- alert("Seleccione una tienda para realizar el pago");
30
- }else{
31
- payment.save();
32
- }
33
- }else{
34
- payment.save();
35
- }
36
- });
37
- }
38
-
39
-
40
- var phoneInput = document.querySelector("[name*=telephone]");
41
- var cpPhoneInput = document.querySelector("#customer_phone");
42
-
43
-
44
- phoneInput.addEventListener("change",function(evt){
45
- cpPhoneInput.value = phoneInput.value;
46
- });
47
-
48
-
49
- cpPhoneInput.value = phoneInput.value;
50
-
51
-
52
- </script>
53
-
54
-
55
- <div style="overflow: hidden;">
56
- <ul id="payment_form_<?php echo $_code; ?>" style="display: none">
57
- <label class="label-instructions">Selecciona un establecimiento para realizar el pago en efectivo:</label>
58
- <?php if (!$_model->showLogoProviders()) { ?>
59
-
60
- <li>
61
- <select id="<?php echo $_code; ?>_store" name="payment[store_code]">
62
- <?php foreach ($_getProviders as $_provider){ ?>
63
- <option value="<?php echo $_provider['internal_name']; ?>"><?php echo $_provider['name']; ?></option>
64
- <?php } ?>
65
- </select>
66
- </li>
67
-
68
- <?php } else { ?>
69
- <li>
70
- <div class="row stores-compact" style="padding: 5px 15px; opacity: 1; width:100%; margin-bottom:70px;" id="<?php echo $_code; ?>_store">
71
- <?php foreach ($_getProviders as $_provider){ ?>
72
-
73
- <div class="element-box">
74
- <label
75
- id="cp-provider"
76
- data-provider="<?php echo $_provider['internal_name']; ?>"
77
- for="<?php echo $_code; ?>_<?php echo $_provider['internal_name']; ?>"
78
- class="provider-description "
79
- onclick="seleccionar(this);"
80
- style="margin: 6px !important;">
81
- <img src="<?php echo $_provider['image_medium']; ?>" class="image_provider" style="margin: 0 !important;">
82
- </label>
83
- </div>
84
-
85
- <?php } ?>
86
- <input id="store_code_selected" type="hidden" name="payment[store_code]" value="">
87
- <input type="hidden" id="customer_phone" name="payment[customer_phone]" value="">
88
- </div>
89
- </li>
90
- <?php } ?>
91
- </ul>
92
- <div>
93
- <?php echo $this->getMethod()->getConfigData('message');?>
94
- </div>
95
- </div>
96
-
97
-
98
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/{code/community/Compropago → design/frontend/base/default/template/compropago/cppayment}/.DS_Store RENAMED
Binary file
app/design/frontend/base/default/template/compropago/cppayment/cash.phtml ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $_code = $this->getMethodCode();
3
+ $_model = $this->getMethod();
4
+ $_getProviders = $_model->getProviders();
5
+ ?>
6
+
7
+ <script>
8
+ paymentcheck = document.querySelector("#p_method_cppayment");
9
+ provider = document.querySelector("#store_code_selected");
10
+ paymentcheck.checked = true;
11
+
12
+ btn = document.querySelector("button[ onclick^=payment ]");
13
+ btn.setAttribute("onclick"," ");
14
+
15
+ phone = document.querySelector("[title=Telephone]").value;
16
+ document.querySelector("#customer_phone").value = phone;
17
+
18
+ btn.addEventListener("click",function(evt){
19
+ evt.preventDefault();
20
+
21
+ if(paymentcheck.checked){
22
+ if(provider.value == ""){
23
+ alert("Seleccione una tienda para realizar el pago");
24
+ }else{
25
+ payment.save();
26
+ }
27
+ }else{
28
+ payment.save();
29
+ }
30
+ });
31
+
32
+ setBack(document.getElementById("store_code_selected").value.toLowerCase());
33
+ </script>
34
+
35
+
36
+
37
+ <div>
38
+ <ul id="payment_form_<?php echo $_code; ?>" style="display: none">
39
+ <h2>Selecciona el establecimeinto para realizar tu pago:</h2>
40
+
41
+ <?php if (!$_model->showLogoProviders()) { ?>
42
+
43
+ <li>
44
+ <div id="<?php echo $_code; ?>_store">
45
+ <select class="provider-select" id="store_code_selected" name="payment[store_code]">
46
+ <?php foreach ($_getProviders as $_provider){ ?>
47
+ <option value="<?php echo $_provider->internal_name; ?>"><?php echo $_provider->name; ?></option>
48
+ <?php } ?>
49
+ </select>
50
+ <input type="hidden" id="customer_phone" name="payment[customer_phone]" value="">
51
+ </div>
52
+ </li>
53
+
54
+ <?php } else { ?>
55
+ <li>
56
+ <div class="row stores-compact" id="<?php echo $_code; ?>_store">
57
+ <?php foreach ($_getProviders as $_provider){ ?>
58
+
59
+ <label class="cp-provider"
60
+ onclick="seleccionar(this);"
61
+ data-provider="<?php echo $_provider->internal_name; ?>"
62
+ >
63
+ <img src="<?php echo $_provider->image_medium; ?>"
64
+ alt="<?php echo $_provider->name; ?>"
65
+ >
66
+ </label>
67
+
68
+ <?php } ?>
69
+ <input id="store_code_selected" type="hidden" name="payment[store_code]" value="">
70
+ <input type="hidden" id="customer_phone" name="payment[customer_phone]" value="">
71
+ </div>
72
+ </li>
73
+ <?php } ?>
74
+ </ul>
75
+ </div>
app/design/frontend/base/default/template/compropago/cppayment/info.phtml ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+ ?>
22
+ <?php
23
+ /**
24
+ * @see Mage_Payment_Block_Info
25
+ */
26
+ ?>
27
+ <p><strong><?php echo $this->escapeHtml($this->getMethod()->getTitle(true)) ?></strong></p>
28
+
29
+ <?php if ($_specificInfo = $this->getSpecificInformation()):?>
30
+ <table>
31
+ <tbody>
32
+ <?php foreach ($_specificInfo as $_label => $_value):?>
33
+ <tr>
34
+ <th><strong><?php echo $this->escapeHtml($_label)?>:</strong></th>
35
+ </tr>
36
+ <tr>
37
+ <td><?php echo nl2br(implode($this->getValueAsArray($_value, true), "\n"))?></td>
38
+ </tr>
39
+ <?php endforeach; ?>
40
+ </tbody>
41
+ </table>
42
+ <?php endif;?>
43
+
44
+ <?php echo $this->getChildHtml()?>
45
+
app/design/frontend/base/default/template/compropago/cppayment/mark.phtml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+ ?>
22
+ <div>
23
+ <img class="v-middle" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'cppayment/compropago-logo.png' ?>" alt="Compropago-Logo">
24
+ </div>
25
+
app/design/frontend/base/default/template/compropago/cppayment/success.phtml ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $compropagoId = Mage::getSingleton('core/session')->getCompropagoId(); ?>
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
5
+ <head>
6
+ <?php echo $this->getChildHtml('head') ?>
7
+ </head>
8
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
9
+ <?php echo $this->getChildHtml('after_body_start') ?>
10
+ <div class="wrapper">
11
+ <?php echo $this->getChildHtml('global_notices') ?>
12
+ <div class="page">
13
+ <?php echo $this->getChildHtml('header') ?>
14
+ <div class="main-container col1-layout">
15
+ <div class="main">
16
+ <?php echo $this->getChildHtml('breadcrumbs') ?>
17
+ <div class="col-main">
18
+
19
+
20
+ <?php echo $this->getMessagesBlock()->getGroupedHtml(); ?>
21
+ <?php if(!empty($compropagoId)){ ?>
22
+
23
+ <div id="receipt" class="receipt">
24
+ <div class="page-title">
25
+ <h3>¡Felicitaciones! Su pedido ha sido generado correctamente.</h3>
26
+ </div>
27
+
28
+ <div id="compropagodContainer" style="width: 100%;">
29
+ <iframe style="width: 100%; height: 865px;>" id="compropagodFrame" src="https://www.compropago.com/comprobante/?confirmation_id=<?php echo $compropagoId; ?>" frameborder="0" scrolling="yes"> </iframe>
30
+ </div>
31
+ <?php Mage::getSingleton('core/session')->setCompropagoId(''); ?>
32
+
33
+ <div class="buttons-set">
34
+ <button type="button" class="button continue-succes" title="<?php echo $this->__('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
35
+ </div>
36
+ </div>
37
+
38
+ <script type="text/javascript">
39
+ function resizeIframe() {
40
+ var container=document.getElementById("compropagodContainer");
41
+ var iframe=document.getElementById("compropagodFrame");
42
+ if(iframe && container){
43
+ var ratio=585/811;
44
+ var width=container.offsetWidth;
45
+ var height=(width/ratio);
46
+ if(height>937){ height=937;}
47
+ iframe.style.width=width + 'px';
48
+ iframe.style.height=height + 'px';
49
+ }
50
+ }
51
+
52
+ window.onload = function(event) {
53
+ resizeIframe();
54
+ };
55
+ window.onresize = function(event) {
56
+ resizeIframe();
57
+ };
58
+ </script>
59
+
60
+ <?php
61
+ }else {
62
+ echo $this->getChildHtml('content');
63
+ }
64
+ ?>
65
+
66
+ </div>
67
+ </div>
68
+ </div>
69
+ <?php echo $this->getChildHtml('footer') ?>
70
+ <?php echo $this->getChildHtml('before_body_end') ?>
71
+ </div>
72
+ </div>
73
+ <?php echo $this->getAbsoluteFooter() ?>
74
+ </body>
75
+ </html>
76
+
77
+
78
+
79
+
app/design/frontend/base/default/template/compropago/onepage_success.phtml DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /**
3
- * @author waldix <waldix86@gmail.com>
4
- */
5
- ?>
6
-
7
- <?php echo $this->getMessagesBlock()->getGroupedHtml(); ?>
8
- <?php $compropagoId = Mage::getSingleton('core/session')->getCompropagoId(); ?>
9
-
10
- <div id="receipt" class="receipt">
11
- <div class="page-title">
12
- <h3 style="font-size: 1.0em;">¡Felicitaciones! Su pedido ha sido generado correctamente.</h3>
13
- </div>
14
- <?php if ($this->getOrderId()):?>
15
- <?php if ($compropagoId == '') :?>
16
- <p>
17
- <?php echo $this->__('Your order # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?>
18
- <?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
19
- <?php echo $this->getChildHtml() ?>
20
- </p>
21
- <?php else :?>
22
- <div id="compropagodContainer" style="width: 100%;">
23
- <iframe style="width: 100%; height: 865px;>" id="compropagodFrame" src="https://www.compropago.com/comprobante/?confirmation_id=<?php echo $compropagoId; ?>" frameborder="0" scrolling="yes"> </iframe>
24
- </div>
25
- <?php Mage::getSingleton('core/session')->setCompropagoId(''); ?>
26
- <?php endif;?>
27
- <?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
28
- <p>
29
- <?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
30
- <?php echo $this->getChildHtml() ?>
31
- </p>
32
- <?php endif;?>
33
- <?php endif;?>
34
-
35
- <?php if ($this->getAgreementRefId()): ?>
36
- <p><?php echo $this->__('Your billing agreement # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
37
- <?php endif;?>
38
-
39
- <?php if ($profiles = $this->getRecurringProfiles()):?>
40
- <p><?php echo $this->__('Your recurring payment profiles:'); ?></p>
41
- <ul class="disc">
42
- <?php foreach($profiles as $profile):?>
43
- <?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
44
- <li><?php echo $this->__('Payment profile # %s: "%s".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
45
- <?php endforeach;?>
46
- </ul>
47
- <?php endif;?>
48
- <div class="buttons-set">
49
- <button type="button" class="button continue-succes" title="<?php echo $this->__('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
50
- </div>
51
- </div>
52
- <script type="text/javascript">
53
- function resizeIframe() {
54
- var container=document.getElementById("compropagodContainer");
55
- var iframe=document.getElementById("compropagodFrame");
56
- if(iframe && container){
57
- var ratio=585/811;
58
- var width=container.offsetWidth;
59
- var height=(width/ratio);
60
- if(height>937){ height=937;}
61
- iframe.style.width=width + 'px';
62
- iframe.style.height=height + 'px';
63
- }
64
- }
65
-
66
- window.onload = function(event) {
67
- resizeIframe();
68
- };
69
- window.onresize = function(event) {
70
- resizeIframe();
71
- };
72
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/etc/modules/{Compropago.xml → Compropago_CpPayment.xml} RENAMED
@@ -1,12 +1,13 @@
1
  <?xml version="1.0"?>
2
  <config>
3
  <modules>
4
- <Compropago>
5
  <active>true</active>
6
  <codePool>community</codePool>
 
7
  <depends>
8
- <Mage_Payment />
9
- </depends>
10
- </Compropago>
11
  </modules>
12
  </config>
1
  <?xml version="1.0"?>
2
  <config>
3
  <modules>
4
+ <Compropago_CpPayment>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
+
8
  <depends>
9
+ <Mage_Payment />
10
+ </depends>
11
+ </Compropago_CpPayment>
12
  </modules>
13
  </config>
js/compropago/compropago.js CHANGED
@@ -1,46 +1,85 @@
1
- /**
2
- * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
3
- * @author Oswaldo Lopez
4
- */
5
-
6
- function seleccionar(t){
7
- provider = t.getAttribute("data-provider");
8
- seleccionados = document.querySelectorAll("#cp-provider");
9
- store_code = document.querySelector('#store_code_selected');
10
-
11
- for(var x = 0; x < seleccionados.length; x++){
12
- seleccionados[x].setAttribute("style",
13
- "box-shadow: 0px 0px 0px 0px transparent;"+
14
- "-webkit-box-shadow: 0px 0px 0px 0px transparent;"+
15
- "-moz-box-shadow: 0px 0px 0px 0px transparent;"+
16
- "margin: 6px !important;"
17
- );
18
- }
19
-
20
- for (var i = 0; i < seleccionados.length; i++) {
21
- seleccionados[i].className = seleccionados[i].className.replace(/\bseleccion_store\b/,'');
22
- }
23
-
24
- t.setAttribute("style",
25
- "box-shadow: 0px 0px 2px 4px rgba(0,170,239,1);"+
26
- "-webkit-box-shadow: 0px 0px 2px 4px rgba(0,170,239,1);"+
27
- "-moz-box-shadow: 0px 0px 2px 4px rgba(0,170,239,1);"+
28
- "margin: 6px !important;"
29
- );
30
-
31
- if(t.className.search("seleccion_store") == -1){
32
- t.className += "seleccion_store";
33
- store_code.value = provider;
34
  }
 
 
 
35
  }
36
 
37
 
38
- window.onload = function(){
39
- $$("#co-payment-form input[type=radio]").each(function(input){
40
  input.observe("click", function(t){
41
  if(t.getAttribute("id") == "cp-provider"){
42
  seleccionar(t);
43
  }
44
- });
45
- });
46
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ function seleccionar(elem){
2
+ allproviders = document.querySelectorAll(".cp-provider");
3
+ for(var x = 0; x < allproviders.length; x++){
4
+ allproviders[x].classList.remove("cp-selected");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  }
6
+ elem.classList.add("cp-selected");
7
+ provider = elem.getAttribute('data-provider');
8
+ document.getElementById('store_code_selected').value = provider;
9
  }
10
 
11
 
12
+ window.onload = function(){
13
+ $$("#co-payment-form input[type=radio]").each(function(input){
14
  input.observe("click", function(t){
15
  if(t.getAttribute("id") == "cp-provider"){
16
  seleccionar(t);
17
  }
18
+ });
19
+ });
20
+ };
21
+
22
+
23
+ document.addEventListener("click", someListener);
24
+ var flagC = false;
25
+
26
+ function setBack(types) {
27
+ var dropShops = document.getElementById("store_code_selected"),
28
+ back = '';
29
+ switch (types) {
30
+ case 'oxxo':
31
+ back = 'https://compropago.com/assets/print/receipt-oxxo-btn-mini.png';
32
+ break;
33
+ case 'seven_eleven':
34
+ back = 'https://compropago.com/assets/print/receipt-seven-btn-mini.png';
35
+ break;
36
+ case 'coppel':
37
+ back = 'https://compropago.com/assets/print/receipt-coppel-btn-mini.png';
38
+ break;
39
+ case 'chedraui':
40
+ back = 'https://compropago.com/assets/print/receipt-chedraui-btn-mini.png';
41
+ break;
42
+ case 'extra':
43
+ back = 'https://compropago.com/assets/print/receipt-extra-btn-mini.png';
44
+ break;
45
+ case 'farmacia_esquivar':
46
+ back = 'https://compropago.com/assets/print/receipt-esquivar-btn-mini.png';
47
+ break;
48
+ case 'farmacia_benavides':
49
+ back = 'https://compropago.com/assets/print/receipt-benavides-btn-mini.png';
50
+ break;
51
+ case 'elektra':
52
+ back = 'https://compropago.com/assets/print/receipt-elektra-btn-mini.png';
53
+ break;
54
+ case 'casa_ley':
55
+ back = 'https://compropago.com/assets/print/receipt-ley-btn-mini.png';
56
+ break;
57
+ case 'pitico':
58
+ back = 'https://compropago.com/assets/print/receipt-pitico-btn-mini.png';
59
+ break;
60
+ case 'telecomm':
61
+ back = 'https://compropago.com/assets/print/receipt-telecomm-btn-mini.png';
62
+ break;
63
+ case 'farmacia_abc':
64
+ back = 'https://compropago.com/assets/print/receipt-abc-btn-mini.png';
65
+ break;
66
+ }
67
+ dropShops.style.backgroundImage = 'url(\'' + back + '\')';
68
+ }
69
+
70
+ function someListener(event) {
71
+ var element = event.target,
72
+ dropShops = document.getElementById("store_code_selected"),
73
+ back = '';
74
+ if (dropShops) {
75
+ setBack(dropShops.value.toLowerCase());
76
+ }
77
+ if (element.classList.contains("provider-select")) {
78
+ if (flagC === false) {
79
+ flagC = true;
80
+ dropShops.addEventListener("change", function() {
81
+ setBack(dropShops.value.toLowerCase());
82
+ });
83
+ }
84
+ }
85
+ }
lib/Compropago/composer.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ {
2
+ "require": {
3
+ "compropago/php-sdk": "^2.0"
4
+ }
5
+ }
lib/Compropago/composer.lock ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "hash": "dab35a4840258d689c577eb8cf794d42",
8
+ "content-hash": "61b025aad9e0c1e8ba54e9a410e90384",
9
+ "packages": [
10
+ {
11
+ "name": "compropago/php-sdk",
12
+ "version": "2.0.0",
13
+ "source": {
14
+ "type": "git",
15
+ "url": "https://github.com/compropago/compropago-php.git",
16
+ "reference": "f48345aac922e9d0838a8779ffd3a6264f087cc0"
17
+ },
18
+ "dist": {
19
+ "type": "zip",
20
+ "url": "https://api.github.com/repos/compropago/compropago-php/zipball/f48345aac922e9d0838a8779ffd3a6264f087cc0",
21
+ "reference": "f48345aac922e9d0838a8779ffd3a6264f087cc0",
22
+ "shasum": ""
23
+ },
24
+ "require": {
25
+ "php": ">=5.5"
26
+ },
27
+ "require-dev": {
28
+ "phpunit/phpunit": ">=5.3"
29
+ },
30
+ "suggest": {
31
+ "compropago/views-sdk": "Permite la manipulacion de Listado de Proveedores, Recibos de compra y botones de pago dinamicos"
32
+ },
33
+ "type": "library",
34
+ "autoload": {
35
+ "psr-4": {
36
+ "CompropagoSdk\\": "CompropagoSdk"
37
+ }
38
+ },
39
+ "notification-url": "https://packagist.org/downloads/",
40
+ "license": [
41
+ "Apache-2.0"
42
+ ],
43
+ "authors": [
44
+ {
45
+ "name": "Eduardo Aguilar",
46
+ "email": "eduardo.aguilar@compropago.com"
47
+ }
48
+ ],
49
+ "description": "PHP SDK for Compropago API",
50
+ "homepage": "https://compropago.com/documentacion/librerias",
51
+ "keywords": [
52
+ "pagos internet",
53
+ "payment gateway"
54
+ ],
55
+ "time": "2016-07-20 21:09:58"
56
+ }
57
+ ],
58
+ "packages-dev": [],
59
+ "aliases": [],
60
+ "minimum-stability": "stable",
61
+ "stability-flags": [],
62
+ "prefer-stable": false,
63
+ "prefer-lowest": false,
64
+ "platform": [],
65
+ "platform-dev": []
66
+ }
lib/Compropago/vendor/autoload.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer' . '/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit8984c941fb941a4b96b713e7ae5b8f62::getLoader();
lib/Compropago/vendor/composer/ClassLoader.php ADDED
@@ -0,0 +1,413 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
+
13
+ namespace Composer\Autoload;
14
+
15
+ /**
16
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
17
+ *
18
+ * $loader = new \Composer\Autoload\ClassLoader();
19
+ *
20
+ * // register classes with namespaces
21
+ * $loader->add('Symfony\Component', __DIR__.'/component');
22
+ * $loader->add('Symfony', __DIR__.'/framework');
23
+ *
24
+ * // activate the autoloader
25
+ * $loader->register();
26
+ *
27
+ * // to enable searching the include path (eg. for PEAR packages)
28
+ * $loader->setUseIncludePath(true);
29
+ *
30
+ * In this example, if you try to use a class in the Symfony\Component
31
+ * namespace or one of its children (Symfony\Component\Console for instance),
32
+ * the autoloader will first look for the class under the component/
33
+ * directory, and it will then fallback to the framework/ directory if not
34
+ * found before giving up.
35
+ *
36
+ * This class is loosely based on the Symfony UniversalClassLoader.
37
+ *
38
+ * @author Fabien Potencier <fabien@symfony.com>
39
+ * @author Jordi Boggiano <j.boggiano@seld.be>
40
+ * @see http://www.php-fig.org/psr/psr-0/
41
+ * @see http://www.php-fig.org/psr/psr-4/
42
+ */
43
+ class ClassLoader
44
+ {
45
+ // PSR-4
46
+ private $prefixLengthsPsr4 = array();
47
+ private $prefixDirsPsr4 = array();
48
+ private $fallbackDirsPsr4 = array();
49
+
50
+ // PSR-0
51
+ private $prefixesPsr0 = array();
52
+ private $fallbackDirsPsr0 = array();
53
+
54
+ private $useIncludePath = false;
55
+ private $classMap = array();
56
+
57
+ private $classMapAuthoritative = false;
58
+
59
+ public function getPrefixes()
60
+ {
61
+ if (!empty($this->prefixesPsr0)) {
62
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
63
+ }
64
+
65
+ return array();
66
+ }
67
+
68
+ public function getPrefixesPsr4()
69
+ {
70
+ return $this->prefixDirsPsr4;
71
+ }
72
+
73
+ public function getFallbackDirs()
74
+ {
75
+ return $this->fallbackDirsPsr0;
76
+ }
77
+
78
+ public function getFallbackDirsPsr4()
79
+ {
80
+ return $this->fallbackDirsPsr4;
81
+ }
82
+
83
+ public function getClassMap()
84
+ {
85
+ return $this->classMap;
86
+ }
87
+
88
+ /**
89
+ * @param array $classMap Class to filename map
90
+ */
91
+ public function addClassMap(array $classMap)
92
+ {
93
+ if ($this->classMap) {
94
+ $this->classMap = array_merge($this->classMap, $classMap);
95
+ } else {
96
+ $this->classMap = $classMap;
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Registers a set of PSR-0 directories for a given prefix, either
102
+ * appending or prepending to the ones previously set for this prefix.
103
+ *
104
+ * @param string $prefix The prefix
105
+ * @param array|string $paths The PSR-0 root directories
106
+ * @param bool $prepend Whether to prepend the directories
107
+ */
108
+ public function add($prefix, $paths, $prepend = false)
109
+ {
110
+ if (!$prefix) {
111
+ if ($prepend) {
112
+ $this->fallbackDirsPsr0 = array_merge(
113
+ (array) $paths,
114
+ $this->fallbackDirsPsr0
115
+ );
116
+ } else {
117
+ $this->fallbackDirsPsr0 = array_merge(
118
+ $this->fallbackDirsPsr0,
119
+ (array) $paths
120
+ );
121
+ }
122
+
123
+ return;
124
+ }
125
+
126
+ $first = $prefix[0];
127
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
128
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
129
+
130
+ return;
131
+ }
132
+ if ($prepend) {
133
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
134
+ (array) $paths,
135
+ $this->prefixesPsr0[$first][$prefix]
136
+ );
137
+ } else {
138
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
139
+ $this->prefixesPsr0[$first][$prefix],
140
+ (array) $paths
141
+ );
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Registers a set of PSR-4 directories for a given namespace, either
147
+ * appending or prepending to the ones previously set for this namespace.
148
+ *
149
+ * @param string $prefix The prefix/namespace, with trailing '\\'
150
+ * @param array|string $paths The PSR-4 base directories
151
+ * @param bool $prepend Whether to prepend the directories
152
+ *
153
+ * @throws \InvalidArgumentException
154
+ */
155
+ public function addPsr4($prefix, $paths, $prepend = false)
156
+ {
157
+ if (!$prefix) {
158
+ // Register directories for the root namespace.
159
+ if ($prepend) {
160
+ $this->fallbackDirsPsr4 = array_merge(
161
+ (array) $paths,
162
+ $this->fallbackDirsPsr4
163
+ );
164
+ } else {
165
+ $this->fallbackDirsPsr4 = array_merge(
166
+ $this->fallbackDirsPsr4,
167
+ (array) $paths
168
+ );
169
+ }
170
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
171
+ // Register directories for a new namespace.
172
+ $length = strlen($prefix);
173
+ if ('\\' !== $prefix[$length - 1]) {
174
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
175
+ }
176
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
177
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
178
+ } elseif ($prepend) {
179
+ // Prepend directories for an already registered namespace.
180
+ $this->prefixDirsPsr4[$prefix] = array_merge(
181
+ (array) $paths,
182
+ $this->prefixDirsPsr4[$prefix]
183
+ );
184
+ } else {
185
+ // Append directories for an already registered namespace.
186
+ $this->prefixDirsPsr4[$prefix] = array_merge(
187
+ $this->prefixDirsPsr4[$prefix],
188
+ (array) $paths
189
+ );
190
+ }
191
+ }
192
+
193
+ /**
194
+ * Registers a set of PSR-0 directories for a given prefix,
195
+ * replacing any others previously set for this prefix.
196
+ *
197
+ * @param string $prefix The prefix
198
+ * @param array|string $paths The PSR-0 base directories
199
+ */
200
+ public function set($prefix, $paths)
201
+ {
202
+ if (!$prefix) {
203
+ $this->fallbackDirsPsr0 = (array) $paths;
204
+ } else {
205
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Registers a set of PSR-4 directories for a given namespace,
211
+ * replacing any others previously set for this namespace.
212
+ *
213
+ * @param string $prefix The prefix/namespace, with trailing '\\'
214
+ * @param array|string $paths The PSR-4 base directories
215
+ *
216
+ * @throws \InvalidArgumentException
217
+ */
218
+ public function setPsr4($prefix, $paths)
219
+ {
220
+ if (!$prefix) {
221
+ $this->fallbackDirsPsr4 = (array) $paths;
222
+ } else {
223
+ $length = strlen($prefix);
224
+ if ('\\' !== $prefix[$length - 1]) {
225
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
226
+ }
227
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
228
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
229
+ }
230
+ }
231
+
232
+ /**
233
+ * Turns on searching the include path for class files.
234
+ *
235
+ * @param bool $useIncludePath
236
+ */
237
+ public function setUseIncludePath($useIncludePath)
238
+ {
239
+ $this->useIncludePath = $useIncludePath;
240
+ }
241
+
242
+ /**
243
+ * Can be used to check if the autoloader uses the include path to check
244
+ * for classes.
245
+ *
246
+ * @return bool
247
+ */
248
+ public function getUseIncludePath()
249
+ {
250
+ return $this->useIncludePath;
251
+ }
252
+
253
+ /**
254
+ * Turns off searching the prefix and fallback directories for classes
255
+ * that have not been registered with the class map.
256
+ *
257
+ * @param bool $classMapAuthoritative
258
+ */
259
+ public function setClassMapAuthoritative($classMapAuthoritative)
260
+ {
261
+ $this->classMapAuthoritative = $classMapAuthoritative;
262
+ }
263
+
264
+ /**
265
+ * Should class lookup fail if not found in the current class map?
266
+ *
267
+ * @return bool
268
+ */
269
+ public function isClassMapAuthoritative()
270
+ {
271
+ return $this->classMapAuthoritative;
272
+ }
273
+
274
+ /**
275
+ * Registers this instance as an autoloader.
276
+ *
277
+ * @param bool $prepend Whether to prepend the autoloader or not
278
+ */
279
+ public function register($prepend = false)
280
+ {
281
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
282
+ }
283
+
284
+ /**
285
+ * Unregisters this instance as an autoloader.
286
+ */
287
+ public function unregister()
288
+ {
289
+ spl_autoload_unregister(array($this, 'loadClass'));
290
+ }
291
+
292
+ /**
293
+ * Loads the given class or interface.
294
+ *
295
+ * @param string $class The name of the class
296
+ * @return bool|null True if loaded, null otherwise
297
+ */
298
+ public function loadClass($class)
299
+ {
300
+ if ($file = $this->findFile($class)) {
301
+ includeFile($file);
302
+
303
+ return true;
304
+ }
305
+ }
306
+
307
+ /**
308
+ * Finds the path to the file where the class is defined.
309
+ *
310
+ * @param string $class The name of the class
311
+ *
312
+ * @return string|false The path if found, false otherwise
313
+ */
314
+ public function findFile($class)
315
+ {
316
+ // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
317
+ if ('\\' == $class[0]) {
318
+ $class = substr($class, 1);
319
+ }
320
+
321
+ // class map lookup
322
+ if (isset($this->classMap[$class])) {
323
+ return $this->classMap[$class];
324
+ }
325
+ if ($this->classMapAuthoritative) {
326
+ return false;
327
+ }
328
+
329
+ $file = $this->findFileWithExtension($class, '.php');
330
+
331
+ // Search for Hack files if we are running on HHVM
332
+ if ($file === null && defined('HHVM_VERSION')) {
333
+ $file = $this->findFileWithExtension($class, '.hh');
334
+ }
335
+
336
+ if ($file === null) {
337
+ // Remember that this class does not exist.
338
+ return $this->classMap[$class] = false;
339
+ }
340
+
341
+ return $file;
342
+ }
343
+
344
+ private function findFileWithExtension($class, $ext)
345
+ {
346
+ // PSR-4 lookup
347
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
348
+
349
+ $first = $class[0];
350
+ if (isset($this->prefixLengthsPsr4[$first])) {
351
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
352
+ if (0 === strpos($class, $prefix)) {
353
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
354
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
355
+ return $file;
356
+ }
357
+ }
358
+ }
359
+ }
360
+ }
361
+
362
+ // PSR-4 fallback dirs
363
+ foreach ($this->fallbackDirsPsr4 as $dir) {
364
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
365
+ return $file;
366
+ }
367
+ }
368
+
369
+ // PSR-0 lookup
370
+ if (false !== $pos = strrpos($class, '\\')) {
371
+ // namespaced class name
372
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
373
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
374
+ } else {
375
+ // PEAR-like class name
376
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
377
+ }
378
+
379
+ if (isset($this->prefixesPsr0[$first])) {
380
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
381
+ if (0 === strpos($class, $prefix)) {
382
+ foreach ($dirs as $dir) {
383
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
384
+ return $file;
385
+ }
386
+ }
387
+ }
388
+ }
389
+ }
390
+
391
+ // PSR-0 fallback dirs
392
+ foreach ($this->fallbackDirsPsr0 as $dir) {
393
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
394
+ return $file;
395
+ }
396
+ }
397
+
398
+ // PSR-0 include paths.
399
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
400
+ return $file;
401
+ }
402
+ }
403
+ }
404
+
405
+ /**
406
+ * Scope isolated include.
407
+ *
408
+ * Prevents access to $this/self from included files.
409
+ */
410
+ function includeFile($file)
411
+ {
412
+ include $file;
413
+ }
lib/Compropago/vendor/composer/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Copyright (c) 2016 Nils Adermann, Jordi Boggiano
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is furnished
9
+ to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ THE SOFTWARE.
21
+
lib/Compropago/vendor/composer/autoload_classmap.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_classmap.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'CompropagoSdk\\Client' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Client.php',
10
+ 'CompropagoSdk\\Extern\\TransactTables' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Extern/TransactTables.php',
11
+ 'CompropagoSdk\\Factory\\Abs\\CpOrderInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/CpOrderInfo.php',
12
+ 'CompropagoSdk\\Factory\\Abs\\FeeDetails' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/FeeDetails.php',
13
+ 'CompropagoSdk\\Factory\\Abs\\InstrcutionDetails' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/InstrcutionDetails.php',
14
+ 'CompropagoSdk\\Factory\\Abs\\Instructions' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/Instructions.php',
15
+ 'CompropagoSdk\\Factory\\Abs\\NewOrderInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/NewOrderInfo.php',
16
+ 'CompropagoSdk\\Factory\\Abs\\OrderInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/OrderInfo.php',
17
+ 'CompropagoSdk\\Factory\\Abs\\SmsInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/SmsInfo.php',
18
+ 'CompropagoSdk\\Factory\\Factory' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Factory.php',
19
+ 'CompropagoSdk\\Factory\\Json\\Serialize' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/Json/Serialize.php',
20
+ 'CompropagoSdk\\Factory\\V10\\CpObject' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/CpObject.php',
21
+ 'CompropagoSdk\\Factory\\V10\\CpOrderInfo10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/CpOrderInfo10.php',
22
+ 'CompropagoSdk\\Factory\\V10\\Data' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/Data.php',
23
+ 'CompropagoSdk\\Factory\\V10\\FeeDetails10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/FeeDetails10.php',
24
+ 'CompropagoSdk\\Factory\\V10\\InstructionDetails10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/InstructionDetails10.php',
25
+ 'CompropagoSdk\\Factory\\V10\\Instructions10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/Instructions10.php',
26
+ 'CompropagoSdk\\Factory\\V10\\NewOrderInfo10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/NewOrderInfo10.php',
27
+ 'CompropagoSdk\\Factory\\V10\\OrderInfo10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/OrderInfo10.php',
28
+ 'CompropagoSdk\\Factory\\V10\\PaymentDetails' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/PaymentDetails.php',
29
+ 'CompropagoSdk\\Factory\\V10\\ProductInformation' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/ProductInformation.php',
30
+ 'CompropagoSdk\\Factory\\V10\\SmsInfo10' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsInfo10.php',
31
+ 'CompropagoSdk\\Factory\\V10\\SmsPayment' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsPayment.php',
32
+ 'CompropagoSdk\\Factory\\V11\\CpOrderInfo11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/CpOrderInfo11.php',
33
+ 'CompropagoSdk\\Factory\\V11\\FeeDetails11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/FeeDetails11.php',
34
+ 'CompropagoSdk\\Factory\\V11\\InstructionDetails11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/InstructionDetails11.php',
35
+ 'CompropagoSdk\\Factory\\V11\\Instructions11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/Instructions11.php',
36
+ 'CompropagoSdk\\Factory\\V11\\NewOrderInfo11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/NewOrderInfo11.php',
37
+ 'CompropagoSdk\\Factory\\V11\\OrderInfo11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/OrderInfo11.php',
38
+ 'CompropagoSdk\\Factory\\V11\\SmsData' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsData.php',
39
+ 'CompropagoSdk\\Factory\\V11\\SmsInfo11' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsInfo11.php',
40
+ 'CompropagoSdk\\Factory\\V11\\SmsObject' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsObject.php',
41
+ 'CompropagoSdk\\Models\\Customer' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/Customer.php',
42
+ 'CompropagoSdk\\Models\\EvalAuthInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/EvalAuthInfo.php',
43
+ 'CompropagoSdk\\Models\\PlaceOrderInfo' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/PlaceOrderInfo.php',
44
+ 'CompropagoSdk\\Models\\Provider' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/Provider.php',
45
+ 'CompropagoSdk\\Models\\Webhook' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/Webhook.php',
46
+ 'CompropagoSdk\\Models\\WebhookError' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Models/WebhookError.php',
47
+ 'CompropagoSdk\\Service' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Service.php',
48
+ 'CompropagoSdk\\Tools\\Http' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Tools/Http.php',
49
+ 'CompropagoSdk\\Tools\\Rest' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Tools/Rest.php',
50
+ 'CompropagoSdk\\Tools\\Validations' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/Tools/Validations.php',
51
+ 'CompropagoSdk\\UnitTest\\Test' => $vendorDir . '/compropago/php-sdk/CompropagoSdk/UnitTest/Test.php',
52
+ );
lib/Compropago/vendor/composer/autoload_namespaces.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_namespaces.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
lib/Compropago/vendor/composer/autoload_psr4.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_psr4.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'CompropagoSdk\\' => array($vendorDir . '/compropago/php-sdk/CompropagoSdk'),
10
+ );
lib/Compropago/vendor/composer/autoload_real.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_real.php @generated by Composer
4
+
5
+ class ComposerAutoloaderInit8984c941fb941a4b96b713e7ae5b8f62
6
+ {
7
+ private static $loader;
8
+
9
+ public static function loadClassLoader($class)
10
+ {
11
+ if ('Composer\Autoload\ClassLoader' === $class) {
12
+ require __DIR__ . '/ClassLoader.php';
13
+ }
14
+ }
15
+
16
+ public static function getLoader()
17
+ {
18
+ if (null !== self::$loader) {
19
+ return self::$loader;
20
+ }
21
+
22
+ spl_autoload_register(array('ComposerAutoloaderInit8984c941fb941a4b96b713e7ae5b8f62', 'loadClassLoader'), true, true);
23
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit8984c941fb941a4b96b713e7ae5b8f62', 'loadClassLoader'));
25
+
26
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
27
+ if ($useStaticLoader) {
28
+ require_once __DIR__ . '/autoload_static.php';
29
+
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit8984c941fb941a4b96b713e7ae5b8f62::getInitializer($loader));
31
+ } else {
32
+ $map = require __DIR__ . '/autoload_namespaces.php';
33
+ foreach ($map as $namespace => $path) {
34
+ $loader->set($namespace, $path);
35
+ }
36
+
37
+ $map = require __DIR__ . '/autoload_psr4.php';
38
+ foreach ($map as $namespace => $path) {
39
+ $loader->setPsr4($namespace, $path);
40
+ }
41
+
42
+ $classMap = require __DIR__ . '/autoload_classmap.php';
43
+ if ($classMap) {
44
+ $loader->addClassMap($classMap);
45
+ }
46
+ }
47
+
48
+ $loader->register(true);
49
+
50
+ return $loader;
51
+ }
52
+ }
lib/Compropago/vendor/composer/autoload_static.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit8984c941fb941a4b96b713e7ae5b8f62
8
+ {
9
+ public static $prefixLengthsPsr4 = array (
10
+ 'C' =>
11
+ array (
12
+ 'CompropagoSdk\\' => 14,
13
+ ),
14
+ );
15
+
16
+ public static $prefixDirsPsr4 = array (
17
+ 'CompropagoSdk\\' =>
18
+ array (
19
+ 0 => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk',
20
+ ),
21
+ );
22
+
23
+ public static $classMap = array (
24
+ 'CompropagoSdk\\Client' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Client.php',
25
+ 'CompropagoSdk\\Extern\\TransactTables' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Extern/TransactTables.php',
26
+ 'CompropagoSdk\\Factory\\Abs\\CpOrderInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/CpOrderInfo.php',
27
+ 'CompropagoSdk\\Factory\\Abs\\FeeDetails' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/FeeDetails.php',
28
+ 'CompropagoSdk\\Factory\\Abs\\InstrcutionDetails' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/InstrcutionDetails.php',
29
+ 'CompropagoSdk\\Factory\\Abs\\Instructions' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/Instructions.php',
30
+ 'CompropagoSdk\\Factory\\Abs\\NewOrderInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/NewOrderInfo.php',
31
+ 'CompropagoSdk\\Factory\\Abs\\OrderInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/OrderInfo.php',
32
+ 'CompropagoSdk\\Factory\\Abs\\SmsInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Abs/SmsInfo.php',
33
+ 'CompropagoSdk\\Factory\\Factory' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Factory.php',
34
+ 'CompropagoSdk\\Factory\\Json\\Serialize' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/Json/Serialize.php',
35
+ 'CompropagoSdk\\Factory\\V10\\CpObject' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/CpObject.php',
36
+ 'CompropagoSdk\\Factory\\V10\\CpOrderInfo10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/CpOrderInfo10.php',
37
+ 'CompropagoSdk\\Factory\\V10\\Data' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/Data.php',
38
+ 'CompropagoSdk\\Factory\\V10\\FeeDetails10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/FeeDetails10.php',
39
+ 'CompropagoSdk\\Factory\\V10\\InstructionDetails10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/InstructionDetails10.php',
40
+ 'CompropagoSdk\\Factory\\V10\\Instructions10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/Instructions10.php',
41
+ 'CompropagoSdk\\Factory\\V10\\NewOrderInfo10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/NewOrderInfo10.php',
42
+ 'CompropagoSdk\\Factory\\V10\\OrderInfo10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/OrderInfo10.php',
43
+ 'CompropagoSdk\\Factory\\V10\\PaymentDetails' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/PaymentDetails.php',
44
+ 'CompropagoSdk\\Factory\\V10\\ProductInformation' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/ProductInformation.php',
45
+ 'CompropagoSdk\\Factory\\V10\\SmsInfo10' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsInfo10.php',
46
+ 'CompropagoSdk\\Factory\\V10\\SmsPayment' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsPayment.php',
47
+ 'CompropagoSdk\\Factory\\V11\\CpOrderInfo11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/CpOrderInfo11.php',
48
+ 'CompropagoSdk\\Factory\\V11\\FeeDetails11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/FeeDetails11.php',
49
+ 'CompropagoSdk\\Factory\\V11\\InstructionDetails11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/InstructionDetails11.php',
50
+ 'CompropagoSdk\\Factory\\V11\\Instructions11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/Instructions11.php',
51
+ 'CompropagoSdk\\Factory\\V11\\NewOrderInfo11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/NewOrderInfo11.php',
52
+ 'CompropagoSdk\\Factory\\V11\\OrderInfo11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/OrderInfo11.php',
53
+ 'CompropagoSdk\\Factory\\V11\\SmsData' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsData.php',
54
+ 'CompropagoSdk\\Factory\\V11\\SmsInfo11' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsInfo11.php',
55
+ 'CompropagoSdk\\Factory\\V11\\SmsObject' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsObject.php',
56
+ 'CompropagoSdk\\Models\\Customer' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/Customer.php',
57
+ 'CompropagoSdk\\Models\\EvalAuthInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/EvalAuthInfo.php',
58
+ 'CompropagoSdk\\Models\\PlaceOrderInfo' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/PlaceOrderInfo.php',
59
+ 'CompropagoSdk\\Models\\Provider' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/Provider.php',
60
+ 'CompropagoSdk\\Models\\Webhook' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/Webhook.php',
61
+ 'CompropagoSdk\\Models\\WebhookError' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Models/WebhookError.php',
62
+ 'CompropagoSdk\\Service' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Service.php',
63
+ 'CompropagoSdk\\Tools\\Http' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Tools/Http.php',
64
+ 'CompropagoSdk\\Tools\\Rest' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Tools/Rest.php',
65
+ 'CompropagoSdk\\Tools\\Validations' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/Tools/Validations.php',
66
+ 'CompropagoSdk\\UnitTest\\Test' => __DIR__ . '/..' . '/compropago/php-sdk/CompropagoSdk/UnitTest/Test.php',
67
+ );
68
+
69
+ public static function getInitializer(ClassLoader $loader)
70
+ {
71
+ return \Closure::bind(function () use ($loader) {
72
+ $loader->prefixLengthsPsr4 = ComposerStaticInit8984c941fb941a4b96b713e7ae5b8f62::$prefixLengthsPsr4;
73
+ $loader->prefixDirsPsr4 = ComposerStaticInit8984c941fb941a4b96b713e7ae5b8f62::$prefixDirsPsr4;
74
+ $loader->classMap = ComposerStaticInit8984c941fb941a4b96b713e7ae5b8f62::$classMap;
75
+
76
+ }, null, ClassLoader::class);
77
+ }
78
+ }
lib/Compropago/vendor/composer/installed.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "name": "compropago/php-sdk",
4
+ "version": "2.0.0",
5
+ "version_normalized": "2.0.0.0",
6
+ "source": {
7
+ "type": "git",
8
+ "url": "https://github.com/compropago/compropago-php.git",
9
+ "reference": "f48345aac922e9d0838a8779ffd3a6264f087cc0"
10
+ },
11
+ "dist": {
12
+ "type": "zip",
13
+ "url": "https://api.github.com/repos/compropago/compropago-php/zipball/f48345aac922e9d0838a8779ffd3a6264f087cc0",
14
+ "reference": "f48345aac922e9d0838a8779ffd3a6264f087cc0",
15
+ "shasum": ""
16
+ },
17
+ "require": {
18
+ "php": ">=5.5"
19
+ },
20
+ "require-dev": {
21
+ "phpunit/phpunit": ">=5.3"
22
+ },
23
+ "suggest": {
24
+ "compropago/views-sdk": "Permite la manipulacion de Listado de Proveedores, Recibos de compra y botones de pago dinamicos"
25
+ },
26
+ "time": "2016-07-20 21:09:58",
27
+ "type": "library",
28
+ "installation-source": "dist",
29
+ "autoload": {
30
+ "psr-4": {
31
+ "CompropagoSdk\\": "CompropagoSdk"
32
+ }
33
+ },
34
+ "notification-url": "https://packagist.org/downloads/",
35
+ "license": [
36
+ "Apache-2.0"
37
+ ],
38
+ "authors": [
39
+ {
40
+ "name": "Eduardo Aguilar",
41
+ "email": "eduardo.aguilar@compropago.com"
42
+ }
43
+ ],
44
+ "description": "PHP SDK for Compropago API",
45
+ "homepage": "https://compropago.com/documentacion/librerias",
46
+ "keywords": [
47
+ "pagos internet",
48
+ "payment gateway"
49
+ ]
50
+ }
51
+ ]
lib/Compropago/vendor/compropago/php-sdk/.gitignore ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ .buildpath
2
+ .project
3
+ .settings
4
+ composer.lock
5
+ dev-notes
6
+ vendor
7
+ .DS_Store
8
+ phpunit.xml
9
+ .idea
lib/Compropago/vendor/compropago/php-sdk/CHANGELOG.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # CHANGELOG
2
+
3
+ ## 2.0.0 2016-07-20
4
+ * Feature: cambio a patron Factory para manejo de versionamiénto API
5
+ * Feature: separación de vistas del SDK
6
+ * Note: renombrameinto de metodo **getProviders** por **listProviders**
7
+ * Note: renombrameinto de metodo **getWebhooks** por **listWebhooks**
8
+
9
+ ## 1.2.0 2016-07-12
10
+ * Require: PHP >= 5.5
11
+ * Feature: CRUD de administracion de Webhooks
12
+ * getWebhooks
13
+ * createWebhook
14
+ * updateWebhook
15
+ * deleteWebhook
16
+ * Feature: Agregacion de caracteristicas al metodo getProviders
17
+ * Forzar autentificación
18
+ * Filtrado por limite de transaccion
19
+ * Forzar recoleccion de proveedores desde base de datos
20
+
21
+ ## 1.1.1 (Deprecated) 2016-04-19
22
+ * Rquire: PHP >= 5.5
23
+ * Feature: Service\sendSmsInstructions() Envio de instrucciones sms
24
+ * Feature: Service\evalAuth() Captura declarativa de error 500
25
+ * Added: Exceptions
26
+ * *Compropago\Sdk\Exceptions\BaseException*: Excepcion general Compropago
27
+ * *Compropago\Sdk\Exceptions\HttpException*: Excepciones de codigo Http
28
+
29
+ ## 1.1.0 (Deprecated) 2016-02-15
30
+ * Require: PHP >= 5.5
31
+ * Note: Merge Master
32
+
33
+ ## 1.1.0-rc (Deprecated) 2016-02-14
34
+ * Require: PHP >= 5.5
35
+ * Marked: Cambio de namespace de Compropago a Compropago\Sdk
36
+ * Note: Code Styling PSR-2
37
+ * Note: Ajustes para optimizar PHP 5.5
38
+ * Utilizing: __DIR__ en lugar de dirname(__FILE__)
39
+
40
+ ## 1.0.3 (Deprecated) 2016-01-24
41
+ * Feature: Iframe view
42
+ * Bug Fix: Tpl errors
43
+ * Note: versión estable para plugins Woocommerce 3.0.0 y Prestashop 2.0.0
44
+
45
+ ## 1.0.2 (Deprecated) 2016-01-18
46
+ * Require: PHP >= 5.3
47
+ * Bug Fix: Rest regresa correctament Headers, Body y Code del request
48
+ * Bug Fix:Services procesa el body response
49
+ * Feature: Services\evalAuth evalúa las llaves
50
+ * Added: Utils\Store
51
+ * Evalúa el tipo de ejecución Client Keys vs Mode vs Compropago
52
+ * Métodos para obtener el SQL para tablas de control de ordenes y transacciones
53
+ * Feature: \Utils métodos para normalizar la respuesta entre diferentes versiones de API, para crear cargos y verificar cargos
54
+ * Bug Fix : Estandarización de TPL para uso correcto con smarty
55
+ * Bug Fix: Request y Curl envía los query string de manera correcta
56
+ * Added: Se incorpora Model\DataBase para esquema
57
+
58
+ ## 1.0.1 (Deprecated) 2016-01-04
59
+ Liberación de versión estable:
60
+ * Require: PHP >= 5.3
61
+ * Queda establecida base de documentación
62
+ * Manejo de Versiones: Mayor.Menor.Patch , -dev (desarrollo) , -RC (Release Candidate)
63
+ * El ciclo de desarrollo para parches y mejoras de la actual versión menor estable (1.0) se realiza sobre el branch "master", (dev-master en composer).
64
+ * El desarrollo de la siguiente version menor se desarrollara en 1.1.0-dev
65
+ * Cambios en arquitectura generará cambio de versión Mayor, y se desarrollara en su branch independiente ( 2.0.0-dev)
66
+
67
+ ## 1.0.1-dev(RC) (Deprecated) 2015-12-30
68
+ * Require: PHP >= 5.3
69
+ * Note: Ajustes varios de preparación para liberación de versión estable 1.0.1
70
+ * Note: Librería estandarizada a PSR-4 http://www.php-fig.org/psr/psr-4/
71
+ * Vendor | Namespace Compropago
72
+ * Note: Estandarización para uso con composer
73
+ * Bug fix: Ajustes de compatibilidad de desarrollo para soportar PHP >= 5.3
74
+ * Utilizing: dirname(__FILE__) en lugar de __DIR__
75
+ * Removed: GuzzleHttp\ se crea branch para futura versión con compatibilidad PHP >= 5.5 en lugar de Curl
76
+ * Branch https://github.com/compropago/compropago-php/tree/guzzle-6-support
77
+ * Replaced: Conexión Curl base por clases en Compropago\Http . Algunos códigos tomados de google/google-api-php-client https://github.com/google/google-api-php-client/tree/v1-master
78
+ * Fixed: HTML y CSS para views/php/providers de selección de tienda de manera genérica, https://github.com/compropago/compropago-php/commit/f2490716d2683b2398cd1dd2cd89427a6e353897
79
+ * Added: /views y /assets para el manejo de templates base en plugins
80
+ * Marked: ajustes en clases de static methods, protected y privates para mantener encapsulamiento
81
+ * Feature: Compropago\Controllers\Views Incorporación de Controlador para normalizar el SDK en su uso dentro de plugins
82
+ * Added: Compropago\Exception scaffolding
83
+ * Added: Compropago\Utils\Utils métodos para manejo de strings y arrays
84
+ * Updated: Soporte de User Agent, app_client_name y app_client_version
85
+ * Various: Limpieza de código, Preparación de documentación y comentarios en código para siguiente liberación de versión (base general). se agrega LICENSE y CHANGELOG.md
86
+ * Restructured: A partir de la siguiente liberación estable se estructurara el nuevo esquema de tags y branches.
87
+
88
+
89
+ ## 1.0.0-dev (Deprecated) 2015-12-25
90
+ * Require: PHP >= 5.5
91
+ * Require: GuzzleHttp v^6, GuzzleHttp Library https://github.com/guzzle/guzzle
92
+ * Feature: Se incorporan una serie de funcionalidades y patrones de diseño para uso tipo SDK
93
+ * Compropago\Client Setup y manejo de identificación con en el API v.1.2
94
+ * Compropago\Service métodos tipo wrapper para funciones básicas del API
95
+ * getProviders() Obtiene la lista de tiendas donde realizar el pago
96
+ * verifyOrder( $orderId ) Verifica el estatus de una orden
97
+ * placeOrder( $params ) Realiza una nueva orden al API
98
+ * Compropago\Rest Static Methods para el IO con el API
99
+ * Note: Se eliminan tags de versiones para mantener consistencia al nuevo ciclo de versiones
100
+
101
+
102
+ ## 1.0.0 (Deprecated) 2015-12-21
103
+ * Deprecate: Se substituye master por dev versión y scaffolding para nuevo ciclo de versiones, https://github.com/compropago/compropago-php/commit/dea1b86d5546faf1329b32234a551e88c3d8f7cf
104
+
105
+
106
+ ## 1.0.0 (Deprecated) 2015-08-07
107
+ * Modificacion para funcionamiento con la nueva versión del API, https://github.com/compropago/compropago-php/commit/281278893e2c8dfad0dab0d8ecd1a03e7fbde99f
108
+
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Client.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk;
24
+
25
+ /**
26
+ * Class Client Clase principal que procee acceso a los servicios de API
27
+ * @package CompropagoSdk
28
+ */
29
+ class Client
30
+ {
31
+ const VERSION="2.0.0";
32
+
33
+ /* Only for ComproPago Developpers */
34
+ # const API_LIVE_URI='http://api-staging-compropago.herokuapp.com/v1/';
35
+ # const API_SANDBOX_URI='http://api-staging-compropago.herokuapp.com/v1/';
36
+
37
+ const API_LIVE_URI='http://api.compropago.com/v1/';
38
+ const API_SANDBOX_URI='http://api.compropago.com/v1/';
39
+
40
+ const USER_AGENT_SUFFIX = "compropago-php-sdk";
41
+
42
+ public $api;
43
+
44
+ private $publickey;
45
+ private $privatekey;
46
+ private $live;
47
+ private $contained;
48
+
49
+ private $deployUri;
50
+
51
+ public function __construct($publickey, $privatekey, $live, $contained = null)
52
+ {
53
+ $this->publickey = $publickey;
54
+ $this->privatekey = $privatekey;
55
+ $this->live = $live;
56
+
57
+ $this->contained = !empty($contained) ? $contained : "SDK; phpsdk ".self::VERSION.";";
58
+
59
+ $this->deployUri = ($live === true) ? self::API_LIVE_URI : self::API_SANDBOX_URI;
60
+
61
+ $this->api = new Service($this);
62
+ }
63
+
64
+ /**
65
+ * @return string
66
+ */
67
+ public function getAuth()
68
+ {
69
+ return $this->privatekey.":";
70
+ }
71
+
72
+ /**
73
+ * @return string
74
+ */
75
+ public function getFullAuth()
76
+ {
77
+ return $this->privatekey.":".$this->publickey;
78
+ }
79
+
80
+ /**
81
+ * @return bool
82
+ */
83
+ public function getMode()
84
+ {
85
+ return $this->live;
86
+ }
87
+
88
+ /**
89
+ * @return string
90
+ */
91
+ public function getUri()
92
+ {
93
+ return $this->deployUri;
94
+ }
95
+
96
+ /**
97
+ * @return null|string
98
+ */
99
+ public function getContained()
100
+ {
101
+ return $this->contained;
102
+ }
103
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Extern/TransactTables.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ /**
19
+ * Compropago $Library
20
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
21
+ */
22
+
23
+ namespace CompropagoSdk\Extern;
24
+
25
+ class TransactTables
26
+ {
27
+ /**
28
+ * SQL query for Droping ComproPago Tables
29
+ * @return string[]
30
+ * @since 1.0.2
31
+ */
32
+ public static function sqlDropTables($prefix=null)
33
+ {
34
+ return array(
35
+ 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_orders`;',
36
+ 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_transactions`;',
37
+ 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_webhook_transactions`'
38
+ );
39
+ }
40
+
41
+
42
+
43
+ /**
44
+ * SQL query for Creating ComproPago Tables
45
+ * @return string[]
46
+ * @since 1.0.2
47
+ */
48
+ public static function sqlCreateTables($prefix=null)
49
+ {
50
+ return array(
51
+ 'CREATE TABLE `' . $prefix . 'compropago_orders` (
52
+ `id` int(11) NOT NULL AUTO_INCREMENT,
53
+ `date` int(11) NOT NULL,
54
+ `modified` int(11) NOT NULL,
55
+ `compropagoId` varchar(50) NOT NULL,
56
+ `compropagoStatus`varchar(50) NOT NULL,
57
+ `storeCartId` varchar(255) NOT NULL,
58
+ `storeOrderId` varchar(255) NOT NULL,
59
+ `storeExtra` varchar(255) NOT NULL,
60
+ `ioIn` mediumtext,
61
+ `ioOut` mediumtext,
62
+ PRIMARY KEY (`id`), UNIQUE KEY (`compropagoId`)
63
+ )ENGINE=MyISAM DEFAULT CHARSET=utf8 DEFAULT COLLATE utf8_general_ci AUTO_INCREMENT=1 ;',
64
+
65
+
66
+ 'CREATE TABLE `' . $prefix . 'compropago_transactions` (
67
+ `id` int(11) NOT NULL AUTO_INCREMENT,
68
+ `orderId` int(11) NOT NULL,
69
+ `date` int(11) NOT NULL,
70
+ `compropagoId` varchar(50) NOT NULL,
71
+ `compropagoStatus` varchar(50) NOT NULL,
72
+ `compropagoStatusLast` varchar(50) NOT NULL,
73
+ `ioIn` mediumtext,
74
+ `ioOut` mediumtext,
75
+ PRIMARY KEY (`id`)
76
+ )ENGINE=MyISAM DEFAULT CHARSET=utf8 DEFAULT COLLATE utf8_general_ci AUTO_INCREMENT=1 ;',
77
+
78
+ 'CREATE TABLE `' . $prefix . 'compropago_webhook_transactions` (
79
+ `id` integer not null auto_increment,
80
+ `webhookId` varchar(50) not null,
81
+ `updated` integer not null,
82
+ `status` varchar(50) not null,
83
+ `url` text not null,
84
+ primary key(id)
85
+ )ENGINE=MyISAM DEFAULT CHARSET=utf8 DEFAULT COLLATE utf8_general_ci AUTO_INCREMENT=1 ;'
86
+ );
87
+ }
88
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/CpOrderInfo.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class CpOrderInfo
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getId();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getType();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getCreated();
42
+
43
+ /**
44
+ * @return bool
45
+ */
46
+ public abstract function getPaid();
47
+
48
+ /**
49
+ * @return string
50
+ */
51
+ public abstract function getAmount();
52
+
53
+ /**
54
+ * @return string
55
+ */
56
+ public abstract function getCurrency();
57
+
58
+ /**
59
+ * @return bool
60
+ */
61
+ public abstract function getRefunded();
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public abstract function getFee();
67
+
68
+ /**
69
+ * @return \CompropagoSdk\Factory\Abs\FeeDetails
70
+ */
71
+ public abstract function getFeeDetails();
72
+
73
+ /**
74
+ * @return \CompropagoSdk\Factory\Abs\OrderInfo
75
+ */
76
+ public abstract function getOrderInfo();
77
+
78
+ /**
79
+ * @return \CompropagoSdk\Models\Customer
80
+ */
81
+ public abstract function getCustomer();
82
+
83
+ /**
84
+ * @return string
85
+ */
86
+ public abstract function getCaptured();
87
+
88
+ /**
89
+ * @return string
90
+ */
91
+ public abstract function getFailureMessage();
92
+
93
+ /**
94
+ * @return string
95
+ */
96
+ public abstract function getFailureCode();
97
+
98
+ /**
99
+ * @return double
100
+ */
101
+ public abstract function getAmountRefunded();
102
+
103
+ /**
104
+ * @return string
105
+ */
106
+ public abstract function getDescription();
107
+
108
+ /**
109
+ * @return string
110
+ */
111
+ public abstract function getDispute();
112
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/FeeDetails.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class FeeDetails
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getAmount();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getCurrency();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getType();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public abstract function getDescription();
47
+
48
+ /**
49
+ * @return string
50
+ */
51
+ public abstract function getApplication();
52
+
53
+ /**
54
+ * @return double
55
+ */
56
+ public abstract function getAmountRefunded();
57
+
58
+ /**
59
+ * @return string
60
+ */
61
+ public abstract function getTax();
62
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/InstrcutionDetails.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class InstrcutionDetails
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getAmount();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getStore();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getBankAccountNumber();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public abstract function getBankName();
47
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/Instructions.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class Instructions
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getDescription();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getStep1();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getStep2();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public abstract function getStep3();
47
+
48
+ /**
49
+ * @return string
50
+ */
51
+ public abstract function getNoteExtraComition();
52
+
53
+ /**
54
+ * @return string
55
+ */
56
+ public abstract function getNoteExpirationDate();
57
+
58
+ /**
59
+ * @return string
60
+ */
61
+ public abstract function getNoteConfirmation();
62
+
63
+ /**
64
+ * @return InstrcutionDetails
65
+ */
66
+ public abstract function getDetails();
67
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/NewOrderInfo.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class NewOrderInfo
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getId();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getShortId();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getStatus();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public abstract function getCreated();
47
+
48
+ /**
49
+ * @return string
50
+ */
51
+ public abstract function getExpirationDate();
52
+
53
+ /**
54
+ * @return OrderInfo
55
+ */
56
+ public abstract function getOrderInfo();
57
+
58
+ /**
59
+ * @return FeeDetails
60
+ */
61
+ public abstract function getFeeDetails();
62
+
63
+ /**
64
+ * @return Instructions
65
+ */
66
+ public abstract function getInstructions();
67
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/OrderInfo.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+ /**
26
+ * Class OrderInfo
27
+ * @package CompropagoSdk\Factory\Abs
28
+ */
29
+ abstract class OrderInfo
30
+ {
31
+ /**
32
+ * @return string
33
+ */
34
+ public abstract function getOrderId();
35
+
36
+ /**
37
+ * @return string
38
+ */
39
+ public abstract function getOrderPrice();
40
+
41
+ /**
42
+ * @return string
43
+ */
44
+ public abstract function getOrderName();
45
+
46
+ /**
47
+ * @return string
48
+ */
49
+ public abstract function getPaymentMethod();
50
+
51
+ /**
52
+ * @return string
53
+ */
54
+ public abstract function getStore();
55
+
56
+ /**
57
+ * @return string
58
+ */
59
+ public abstract function getCountry();
60
+
61
+ /**
62
+ * @return string
63
+ */
64
+ public abstract function getImageUrl();
65
+
66
+ /**
67
+ * @return string
68
+ */
69
+ public abstract function getSuccessUrl();
70
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Abs/SmsInfo.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Abs;
24
+
25
+
26
+ abstract class SmsInfo
27
+ {
28
+ /**
29
+ * @return string
30
+ */
31
+ public abstract function getType();
32
+
33
+ /**
34
+ * @return string
35
+ */
36
+ public abstract function getObject();
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public abstract function getId();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public abstract function getShortId();
47
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Factory.php ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory;
24
+
25
+ use CompropagoSdk\Factory\Abs\CpOrderInfo;
26
+ use CompropagoSdk\Models\EvalAuthInfo;
27
+ use CompropagoSdk\Factory\Abs\NewOrderInfo;
28
+ use CompropagoSdk\Factory\Json\Serialize;
29
+ use CompropagoSdk\Models\Webhook;
30
+ use CompropagoSdk\Models\Provider;
31
+
32
+ /**
33
+ * Class Factory
34
+ * @package CompropagoSdk\Factory
35
+ */
36
+ class Factory
37
+ {
38
+ /**
39
+ * Verifica la version de la respuesta de una peticion
40
+ *
41
+ * @param $source string Cadena Json con el contenido de la respuesta
42
+ * @return string
43
+ */
44
+ private static function verifyVersion($source)
45
+ {
46
+ $obj = json_decode($source);
47
+ return isset($obj->api_version) ? $obj->api_version : null;
48
+ }
49
+
50
+
51
+ /**
52
+ * Constructor de objetos EvalOutInfo
53
+ *
54
+ * @param $source string Cadena Json con el contenido a construir como objeto
55
+ * @return \CompropagoSdk\Models\EvalAuthInfo
56
+ * @throws \Exception
57
+ */
58
+ public static function evalAuthInfo($source)
59
+ {
60
+ $res = new EvalAuthInfo();
61
+ $obj = json_decode($source);
62
+
63
+ $res->type = $obj->type;
64
+ $res->livemode = $obj->livemode;
65
+ $res->mode_key = $obj->mode_key;
66
+ $res->message = $obj->message;
67
+ $res->code = $obj->code;
68
+
69
+ return $res;
70
+ }
71
+
72
+ /**
73
+ * Construye un arreglo de Objetos tipo \CompropagoSdk\Models\Provider
74
+ *
75
+ * @param $source string Cadena Json con el contenido a construir
76
+ * @throws \Exception
77
+ * @return array
78
+ */
79
+ public static function arrayProviders($source)
80
+ {
81
+ $jsonObj= json_decode($source);
82
+
83
+ if(isset($jsonObj->type) && $jsonObj->type == "error"){
84
+ throw new \Exception($jsonObj->message, $jsonObj->code);
85
+ }
86
+
87
+ $res = array();
88
+
89
+ foreach($jsonObj as $val){
90
+ $provider = new Provider();
91
+
92
+ $provider->name = $val->name;
93
+ $provider->store_image = $val->store_image;
94
+ $provider->is_active = $val->is_active;
95
+ $provider->image_small = $val->image_small;
96
+ $provider->image_medium = $val->image_medium;
97
+ $provider->image_large = $val->image_large;
98
+ $provider->internal_name = $val->internal_name;
99
+ $provider->rank = $val->rank;
100
+ $provider->transaction_limit = isset($val->transaction_limit) ? $val->transaction_limit : null;
101
+
102
+ $res[] = $provider;
103
+ }
104
+
105
+ return $res;
106
+ }
107
+
108
+ /**
109
+ * @param $source
110
+ * @return CpOrderInfo
111
+ * @throws \Exception
112
+ */
113
+ public static function cpOrderInfo($source)
114
+ {
115
+ switch(self::verifyVersion($source)){
116
+ case '1.1':
117
+ return Serialize::cpOrderInfo11($source);
118
+ default:
119
+ return Serialize::cpOrderInfo10($source);
120
+ }
121
+ }
122
+
123
+ /**
124
+ * @param $source
125
+ * @return NewOrderInfo
126
+ * @throws \Exception
127
+ */
128
+ public static function newOrderInfo($source)
129
+ {
130
+ switch(self::verifyVersion($source)){
131
+ case '1.1':
132
+ return Serialize::newOrderInfo11($source);
133
+ default:
134
+ return Serialize::newOrderInfo10($source);
135
+ }
136
+ }
137
+
138
+ /**
139
+ * @param $source
140
+ * @return Abs\SmsInfo
141
+ * @throws \Exception
142
+ */
143
+ public static function smsInfo($source)
144
+ {
145
+ if(array_key_exists('payment', json_decode($source))){
146
+ return Serialize::smsInfo10($source);
147
+ }else{
148
+ return Serialize::smsInfo11($source);
149
+ }
150
+ }
151
+
152
+ /**
153
+ * @param $source
154
+ * @return Webhook
155
+ * @throws \Exception
156
+ */
157
+ public static function webhook($source)
158
+ {
159
+ $json = json_decode($source);
160
+
161
+ if(isset($json->type) && $json->type == 'error'){
162
+ throw new \Exception($json->message, $json->code);
163
+ }
164
+
165
+ $object = new Webhook();
166
+
167
+ $object->id = $json->id;
168
+ $object->url = isset($json->url) ? $json->url : null ;
169
+ $object->mode = isset($json->mode) ? $json->mode : null ;
170
+ $object->status = isset($json->status) ? $json->status : null ;
171
+
172
+ return $object;
173
+ }
174
+
175
+ /**
176
+ * @param $source
177
+ * @return array
178
+ * @throws \Exception
179
+ */
180
+ public static function listWebhooks($source)
181
+ {
182
+ $final = array();
183
+
184
+ foreach (json_decode($source,true) as $value){
185
+ $final[] = self::webhook(json_encode($value));
186
+ }
187
+
188
+ return $final;
189
+ }
190
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/Json/Serialize.php ADDED
@@ -0,0 +1,261 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\Json;
24
+
25
+
26
+ use CompropagoSdk\Factory\V10\CpOrderInfo10;
27
+ use CompropagoSdk\Factory\V10\EvalAuthInfo10;
28
+ use CompropagoSdk\Factory\V10\NewOrderInfo10;
29
+ use CompropagoSdk\Factory\V10\SmsInfo10;
30
+ use CompropagoSdk\Factory\V11\CpOrderInfo11;
31
+ use CompropagoSdk\Factory\V11\EvalAuthInfo11;
32
+ use CompropagoSdk\Factory\V11\NewOrderInfo11;
33
+ use CompropagoSdk\Factory\V11\SmsInfo11;
34
+
35
+
36
+ /**
37
+ * Class Serialize Clase que convierte estandariza las diferentes respuestas en objetos similares
38
+ * @package CompropagoSdk\Factory\Json
39
+ */
40
+ class Serialize
41
+ {
42
+
43
+ /**
44
+ * @param $source
45
+ * @return CpOrderInfo11
46
+ */
47
+ public static function cpOrderInfo11($source)
48
+ {
49
+ $res = new CpOrderInfo11();
50
+ $obj = json_decode($source);
51
+
52
+ $res->id = $obj->id;
53
+ $res->type = $obj->type;
54
+ $res->object = $obj->object;
55
+ $res->created = $obj->created;
56
+ $res->paid = $obj->paid;
57
+ $res->amount = $obj->amount;
58
+ $res->livemode = $obj->livemode;
59
+ $res->currency = $obj->currency;
60
+ $res->refunded = $obj->refunded;
61
+ $res->fee = $obj->fee;
62
+
63
+ $res->fee_details->amount = $obj->fee_details->amount;
64
+ $res->fee_details->currency = $obj->fee_details->currency;
65
+ $res->fee_details->type = $obj->fee_details->type;
66
+ $res->fee_details->description = $obj->fee_details->description;
67
+ $res->fee_details->application = $obj->fee_details->application;
68
+ $res->fee_details->amount_refunded = $obj->fee_details->amount_refunded;
69
+ $res->fee_details->tax = $obj->fee_details->tax;
70
+
71
+ $res->order_info->order_id = $obj->order_info->order_id;
72
+ $res->order_info->order_price = $obj->order_info->order_price;
73
+ $res->order_info->order_name = $obj->order_info->order_name;
74
+ $res->order_info->payment_method = $obj->order_info->payment_method;
75
+ $res->order_info->store = $obj->order_info->store;
76
+ $res->order_info->country = $obj->order_info->country;
77
+ $res->order_info->image_url = $obj->order_info->image_url;
78
+ $res->order_info->success_url = $obj->order_info->success_url;
79
+
80
+ $res->customer->customer_name = $obj->customer->customer_name;
81
+ $res->customer->customer_email = $obj->customer->customer_email;
82
+ $res->customer->customer_phone = $obj->customer->customer_phone;
83
+
84
+ $res->captured = $obj->captured;
85
+ $res->failure_message = $obj->failure_message;
86
+ $res->failure_code = $obj->failure_code;
87
+ $res->amount_refunded = $obj->amount_refunded;
88
+ $res->description = $obj->description;
89
+ $res->dispute = $obj->dispute;
90
+
91
+ return $res;
92
+ }
93
+
94
+ /**
95
+ * @param $source
96
+ * @return CpOrderInfo10
97
+ */
98
+ public static function cpOrderInfo10($source)
99
+ {
100
+ $res = new CpOrderInfo10();
101
+ $obj = json_decode($source);
102
+
103
+ $res->type = $obj->type;
104
+ $res->object = $obj->object;
105
+
106
+ $res->data->object->id = $obj->data->object->id;
107
+ $res->data->object->object = $obj->data->object->object;
108
+ $res->data->object->created_at = $obj->data->object->created_at;
109
+ $res->data->object->paid = $obj->data->object->paid;
110
+ $res->data->object->amount = $obj->data->object->amount;
111
+ $res->data->object->currency = $obj->data->object->currency;
112
+ $res->data->object->refunded = $obj->data->object->refunded;
113
+ $res->data->object->fee = $obj->data->object->fee;
114
+
115
+ $res->data->object->fee_details->amount = $obj->data->object->fee_details->amount;
116
+ $res->data->object->fee_details->currency = $obj->data->object->fee_details->currency;
117
+ $res->data->object->fee_details->type = $obj->data->object->fee_details->type;
118
+ $res->data->object->fee_details->description = $obj->data->object->fee_details->description;
119
+ $res->data->object->fee_details->application = $obj->data->object->fee_details->application;
120
+ $res->data->object->fee_details->amount_refunded = $obj->data->object->fee_details->amount_refunded;
121
+
122
+ $res->data->object->payment_details->object = $obj->data->object->payment_details->object;
123
+ $res->data->object->payment_details->store = $obj->data->object->payment_details->store;
124
+ $res->data->object->payment_details->country = $obj->data->object->payment_details->country;
125
+ $res->data->object->payment_details->product_id = $obj->data->object->payment_details->product_id;
126
+ $res->data->object->payment_details->product_price = $obj->data->object->payment_details->product_price;
127
+ $res->data->object->payment_details->product_name = $obj->data->object->payment_details->product_name;
128
+ $res->data->object->payment_details->image_url = $obj->data->object->payment_details->image_url;
129
+ $res->data->object->payment_details->success_url = $obj->data->object->payment_details->success_url;
130
+ $res->data->object->payment_details->customer_name = $obj->data->object->payment_details->customer_name;
131
+ $res->data->object->payment_details->customer_email = $obj->data->object->payment_details->customer_email;
132
+ $res->data->object->payment_details->customer_phone = $obj->data->object->payment_details->customer_phone;
133
+
134
+ $res->data->object->captured = $obj->data->object->captured;
135
+ $res->data->object->failure_message = $obj->data->object->failure_message;
136
+ $res->data->object->failure_code = $obj->data->object->failure_code;
137
+ $res->data->object->amount_refunded = $obj->data->object->amount_refunded;
138
+ $res->data->object->description = $obj->data->object->description;
139
+ $res->data->object->dispute = $obj->data->object->dispute;
140
+
141
+ return $res;
142
+ }
143
+
144
+ /**
145
+ * @param $source
146
+ * @return NewOrderInfo10
147
+ */
148
+ public static function newOrderInfo10($source)
149
+ {
150
+ $res = new NewOrderInfo10();
151
+ $obj = json_decode($source);
152
+
153
+ $res->payment_id = $obj->payment_id;
154
+ $res->short_payment_id = $obj->short_payment_id;
155
+ $res->payment_status = $obj->payment_status;
156
+ $res->creation_date = $obj->creation_date;
157
+ $res->expiration_date = $obj->expiration_date;
158
+
159
+ $res->product_information->product_id = $obj->product_information->product_id;
160
+ $res->product_information->product_name = $obj->product_information->product_name;
161
+ $res->product_information->product_price = $obj->product_information->product_price;
162
+ $res->product_information->image_url = $obj->product_information->image_url;
163
+
164
+ $res->payment_instructions->description = $obj->payment_instructions->description;
165
+ $res->payment_instructions->step_1 = $obj->payment_instructions->step_1;
166
+ $res->payment_instructions->step_2 = $obj->payment_instructions->step_2;
167
+ $res->payment_instructions->step_3 = $obj->payment_instructions->step_3;
168
+ $res->payment_instructions->note_extra_comition = $obj->payment_instructions->note_extra_comition;
169
+ $res->payment_instructions->note_expiration_date = $obj->payment_instructions->note_expiration_date;
170
+ $res->payment_instructions->note_confirmation = $obj->payment_instructions->note_confirmation;
171
+
172
+ $res->payment_instructions->details->payment_amount = $obj->payment_instructions->details->payment_amount;
173
+ $res->payment_instructions->details->payment_store = $obj->payment_instructions->details->payment_store;
174
+ $res->payment_instructions->details->bank_account_number = $obj->payment_instructions->details->bank_account_number;
175
+ $res->payment_instructions->details->bank_name = $obj->payment_instructions->details->bank_name;
176
+
177
+ return $res;
178
+ }
179
+
180
+ /**
181
+ * @param $source
182
+ * @return NewOrderInfo11
183
+ */
184
+ public static function newOrderInfo11($source)
185
+ {
186
+ $res = new NewOrderInfo11();
187
+ $obj = json_decode($source);
188
+
189
+ $res->id = $obj->id;
190
+ $res->short_id = $obj->short_id;
191
+ $res->object = $obj->object;
192
+ $res->status = $obj->status;
193
+ $res->created = $obj->created;
194
+ $res->exp_date = $obj->exp_date;
195
+ $res->live_mode = $obj->live_mode;
196
+
197
+ $res->order_info->order_id = $obj->order_info->order_id;
198
+ $res->order_info->order_name = $obj->order_info->order_name;
199
+ $res->order_info->order_price = $obj->order_info->order_price;
200
+ $res->order_info->image_url = $obj->order_info->image_url;
201
+
202
+ $res->fee_details->amount = $obj->fee_details->amount;
203
+ $res->fee_details->tax = $obj->fee_details->tax;
204
+ $res->fee_details->currency = $obj->fee_details->currency;
205
+ $res->fee_details->type = isset($obj->fee_details->type) ? $obj->fee_details->type : null;
206
+ $res->fee_details->description = $obj->fee_details->description;
207
+ $res->fee_details->amount_refunded = $obj->fee_details->amount_refunded;
208
+
209
+ $res->instructions->description = $obj->instructions->description;
210
+ $res->instructions->step_1 = $obj->instructions->step_1;
211
+ $res->instructions->step_2 = $obj->instructions->step_2;
212
+ $res->instructions->step_3 = $obj->instructions->step_3;
213
+ $res->instructions->note_extra_comition = $obj->instructions->note_extra_comition;
214
+ $res->instructions->note_expiration_date = $obj->instructions->note_expiration_date;
215
+ $res->instructions->note_confirmation = $obj->instructions->note_confirmation;
216
+
217
+ $res->instructions->details->amount = $obj->instructions->details->amount;
218
+ $res->instructions->details->store = $obj->instructions->details->store;
219
+ $res->instructions->details->bank_account_number = $obj->instructions->details->bank_account_number;
220
+ $res->instructions->details->bank_name = $obj->instructions->details->bank_name;
221
+
222
+ return $res;
223
+ }
224
+
225
+ /**
226
+ * @param $source
227
+ * @return SmsInfo10
228
+ */
229
+ public static function smsInfo10($source)
230
+ {
231
+ $res = new SmsInfo10();
232
+ $obj = json_decode($source);
233
+
234
+ $res->type = $obj->type;
235
+ $res->object = $obj->object;
236
+
237
+ $res->payment->id = $obj->payment->id;
238
+ $res->payment->short_id = $obj->payment->short_id;
239
+
240
+ return $res;
241
+ }
242
+
243
+ /**
244
+ * @param $source
245
+ * @return SmsInfo11
246
+ */
247
+ public static function smsInfo11($source)
248
+ {
249
+ $res = new SmsInfo11();
250
+ $obj = json_decode($source);
251
+
252
+ $res->type = $obj->type;
253
+ $res->object = $obj->object;
254
+
255
+ $res->data->object->id = $obj->data->object->id;
256
+ $res->data->object->short_id = $obj->data->object->short_id;
257
+ $res->data->object->object = $obj->data->object->object;
258
+
259
+ return $res;
260
+ }
261
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/CpObject.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ class CpObject
27
+ {
28
+ public $id;
29
+ public $object;
30
+ public $created_at;
31
+ public $paid;
32
+ public $amount;
33
+ public $currency;
34
+ public $refunded;
35
+ public $fee;
36
+ public $fee_details;
37
+ public $payment_details;
38
+ public $captured;
39
+ public $failure_message;
40
+ public $failure_code;
41
+ public $amount_refunded;
42
+ public $description;
43
+ public $dispute;
44
+
45
+ public function __construct()
46
+ {
47
+ $this->fee_details = new FeeDetails10();
48
+ $this->payment_details = new PaymentDetails();
49
+ }
50
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/CpOrderInfo10.php ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\CpOrderInfo;
27
+ use CompropagoSdk\Models\Customer;
28
+
29
+ class CpOrderInfo10 extends CpOrderInfo
30
+ {
31
+ public $type;
32
+ public $object;
33
+ public $data;
34
+
35
+ public function __construct()
36
+ {
37
+ $this->data = new Data();
38
+ }
39
+
40
+ /**
41
+ * @return string
42
+ */
43
+ public function getId()
44
+ {
45
+ return $this->data->object->id;
46
+ }
47
+
48
+ /**
49
+ * @return string
50
+ */
51
+ public function getType()
52
+ {
53
+ return $this->type;
54
+ }
55
+
56
+ /**
57
+ * @return string
58
+ */
59
+ public function getCreated()
60
+ {
61
+ return $this->data->object->created_at;
62
+ }
63
+
64
+ /**
65
+ * @return bool
66
+ */
67
+ public function getPaid()
68
+ {
69
+ return $this->data->object->paid;
70
+ }
71
+
72
+ /**
73
+ * @return string
74
+ */
75
+ public function getAmount()
76
+ {
77
+ return $this->data->object->amount;
78
+ }
79
+
80
+ /**
81
+ * @return string
82
+ */
83
+ public function getCurrency()
84
+ {
85
+ return $this->data->object->currency;
86
+ }
87
+
88
+ /**
89
+ * @return bool
90
+ */
91
+ public function getRefunded()
92
+ {
93
+ return $this->data->object->refunded;
94
+ }
95
+
96
+ /**
97
+ * @return string
98
+ */
99
+ public function getFee()
100
+ {
101
+ return $this->data->object->fee;
102
+ }
103
+
104
+ /**
105
+ * @return \CompropagoSdk\Factory\Abs\FeeDetails
106
+ */
107
+ public function getFeeDetails()
108
+ {
109
+ return $this->data->object->fee_details;
110
+ }
111
+
112
+ /**
113
+ * @return \CompropagoSdk\Factory\Abs\OrderInfo
114
+ */
115
+ public function getOrderInfo()
116
+ {
117
+ $order = new OrderInfo10();
118
+
119
+ $order->order_id = $this->data->object->payment_details->product_id;
120
+ $order->order_price = $this->data->object->payment_details->product_price;
121
+ $order->order_name = $this->data->object->payment_details->product_name;
122
+ $order->order_id = $this->data->object->payment_details->product_id;
123
+ $order->payment_method = $this->data->object->payment_details->object;
124
+ $order->store = $this->data->object->payment_details->store;
125
+ $order->country = $this->data->object->payment_details->country;
126
+ $order->image_url = $this->data->object->payment_details->image_url;
127
+ $order->success_url = $this->data->object->payment_details->success_url;
128
+
129
+ return $order;
130
+ }
131
+
132
+ /**
133
+ * @return \CompropagoSdk\Models\Customer
134
+ */
135
+ public function getCustomer()
136
+ {
137
+ $customer = new Customer();
138
+
139
+ $customer->customer_name = $this->data->object->payment_details->customer_name;
140
+ $customer->customer_email = $this->data->object->payment_details->customer_email;
141
+ $customer->customer_phone = $this->data->object->payment_details->customer_phone;
142
+
143
+ return $customer;
144
+ }
145
+
146
+ /**
147
+ * @return bool
148
+ */
149
+ public function getCaptured()
150
+ {
151
+ return $this->data->object->captured;
152
+ }
153
+
154
+ /**
155
+ * @return string
156
+ */
157
+ public function getFailureMessage()
158
+ {
159
+ return $this->data->object->failure_message;
160
+ }
161
+
162
+ /**
163
+ * @return string
164
+ */
165
+ public function getFailureCode()
166
+ {
167
+ return $this->data->object->failure_code;
168
+ }
169
+
170
+ /**
171
+ * @return double
172
+ */
173
+ public function getAmountRefunded()
174
+ {
175
+ return $this->data->object->amount_refunded;
176
+ }
177
+
178
+ /**
179
+ * @return string
180
+ */
181
+ public function getDescription()
182
+ {
183
+ return $this->data->object->description;
184
+ }
185
+
186
+ /**
187
+ * @return string
188
+ */
189
+ public function getDispute()
190
+ {
191
+ return $this->data->object->dispute;
192
+ }
193
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/Data.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ class Data
27
+ {
28
+ public $object;
29
+
30
+ public function __construct()
31
+ {
32
+ $this->object = new CpObject();
33
+ }
34
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/FeeDetails10.php ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\FeeDetails;
27
+
28
+ class FeeDetails10 extends FeeDetails
29
+ {
30
+ public $amount;
31
+ public $currency;
32
+ public $type;
33
+ public $description;
34
+ public $application;
35
+ public $amount_refunded;
36
+
37
+ public function __construct()
38
+ {
39
+ }
40
+
41
+ /**
42
+ * @return string
43
+ */
44
+ public function getAmount()
45
+ {
46
+ return $this->amount;
47
+ }
48
+
49
+ /**
50
+ * @return string
51
+ */
52
+ public function getCurrency()
53
+ {
54
+ return $this->currency;
55
+ }
56
+
57
+ /**
58
+ * @return string
59
+ */
60
+ public function getType()
61
+ {
62
+ return $this->type;
63
+ }
64
+
65
+ /**
66
+ * @return string
67
+ */
68
+ public function getDescription()
69
+ {
70
+ return $this->description;
71
+ }
72
+
73
+ /**
74
+ * @return string
75
+ */
76
+ public function getApplication()
77
+ {
78
+ return $this->application;
79
+ }
80
+
81
+ /**
82
+ * @return double
83
+ */
84
+ public function getAmountRefunded()
85
+ {
86
+ return $this->amount_refunded;
87
+ }
88
+
89
+ /**
90
+ * @return string
91
+ */
92
+ public function getTax()
93
+ {
94
+ return null;
95
+ }
96
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/InstructionDetails10.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\InstrcutionDetails;
27
+
28
+ class InstructionDetails10 extends InstrcutionDetails
29
+ {
30
+ public $payment_amount;
31
+ public $payment_store;
32
+ public $bank_account_number;
33
+ public $bank_name;
34
+
35
+ public function __construct()
36
+ {
37
+ }
38
+
39
+ /**
40
+ * @return string
41
+ */
42
+ public function getAmount()
43
+ {
44
+ return $this->payment_amount;
45
+ }
46
+
47
+ /**
48
+ * @return string
49
+ */
50
+ public function getStore()
51
+ {
52
+ return $this->payment_store;
53
+ }
54
+
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getBankAccountNumber()
59
+ {
60
+ return $this->bank_account_number;
61
+ }
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getBankName()
67
+ {
68
+ return $this->bank_name;
69
+ }
70
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/Instructions10.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\InstrcutionDetails;
27
+ use CompropagoSdk\Factory\Abs\Instructions;
28
+
29
+ class Instructions10 extends Instructions
30
+ {
31
+ public $description;
32
+ public $step_1;
33
+ public $step_2;
34
+ public $step_3;
35
+ public $note_extra_comition;
36
+ public $note_expiration_date;
37
+ public $note_confirmation;
38
+ public $details;
39
+
40
+ public function __construct()
41
+ {
42
+ $this->details = new InstructionDetails10();
43
+ }
44
+
45
+ /**
46
+ * @return string
47
+ */
48
+ public function getDescription()
49
+ {
50
+ return $this->description;
51
+ }
52
+
53
+ /**
54
+ * @return string
55
+ */
56
+ public function getStep1()
57
+ {
58
+ return $this->step_1;
59
+ }
60
+
61
+ /**
62
+ * @return string
63
+ */
64
+ public function getStep2()
65
+ {
66
+ return $this->step_2;
67
+ }
68
+
69
+ /**
70
+ * @return string
71
+ */
72
+ public function getStep3()
73
+ {
74
+ return $this->step_3;
75
+ }
76
+
77
+ /**
78
+ * @return string
79
+ */
80
+ public function getNoteExtraComition()
81
+ {
82
+ return $this->note_extra_comition;
83
+ }
84
+
85
+ /**
86
+ * @return string
87
+ */
88
+ public function getNoteExpirationDate()
89
+ {
90
+ return $this->note_expiration_date;
91
+ }
92
+
93
+ /**
94
+ * @return string
95
+ */
96
+ public function getNoteConfirmation()
97
+ {
98
+ return $this->note_confirmation;
99
+ }
100
+
101
+ /**
102
+ * @return InstrcutionDetails
103
+ */
104
+ public function getDetails()
105
+ {
106
+ return $this->details;
107
+ }
108
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/NewOrderInfo10.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\FeeDetails;
27
+ use CompropagoSdk\Factory\Abs\Instructions;
28
+ use CompropagoSdk\Factory\Abs\NewOrderInfo;
29
+ use CompropagoSdk\Factory\Abs\OrderInfo;
30
+
31
+ class NewOrderInfo10 extends NewOrderInfo
32
+ {
33
+ public $payment_id;
34
+ public $short_payment_id;
35
+ public $payment_status;
36
+ public $creation_date;
37
+ public $expiration_date;
38
+ public $product_information;
39
+ public $payment_instructions;
40
+
41
+ public function __construct()
42
+ {
43
+ $this->product_information = new ProductInformation();
44
+ $this->payment_instructions = new Instructions10();
45
+ }
46
+
47
+ /**
48
+ * @return string
49
+ */
50
+ public function getId()
51
+ {
52
+ return $this->payment_id;
53
+ }
54
+
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getShortId()
59
+ {
60
+ return $this->short_payment_id;
61
+ }
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getStatus()
67
+ {
68
+ return $this->payment_status;
69
+ }
70
+
71
+ /**
72
+ * @return string
73
+ */
74
+ public function getCreated()
75
+ {
76
+ return $this->creation_date;
77
+ }
78
+
79
+ /**
80
+ * @return string
81
+ */
82
+ public function getExpirationDate()
83
+ {
84
+ return $this->expiration_date;
85
+ }
86
+
87
+ /**
88
+ * @return OrderInfo
89
+ */
90
+ public function getOrderInfo()
91
+ {
92
+ $info = new OrderInfo10();
93
+
94
+ $info->order_id = $this->product_information->product_id;
95
+ $info->order_name = $this->product_information->product_name;
96
+ $info->order_price = $this->product_information->product_price;
97
+ $info->image_url = $this->product_information->image_url;
98
+
99
+ return $info;
100
+ }
101
+
102
+ /**
103
+ * @return FeeDetails
104
+ */
105
+ public function getFeeDetails()
106
+ {
107
+ return null;
108
+ }
109
+
110
+ /**
111
+ * @return Instructions
112
+ */
113
+ public function getInstructions()
114
+ {
115
+ return $this->payment_instructions;
116
+ }
117
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/OrderInfo10.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\OrderInfo;
27
+
28
+ class OrderInfo10 extends OrderInfo
29
+ {
30
+ public $order_id;
31
+ public $order_price;
32
+ public $order_name;
33
+ public $payment_method;
34
+ public $store;
35
+ public $country;
36
+ public $image_url;
37
+ public $success_url;
38
+
39
+ public function __construct()
40
+ {
41
+ }
42
+
43
+ public function getOrderId()
44
+ {
45
+ return $this->order_id;
46
+ }
47
+
48
+ public function getOrderPrice()
49
+ {
50
+ return $this->order_price;
51
+ }
52
+
53
+ public function getOrderName()
54
+ {
55
+ return $this->order_name;
56
+ }
57
+
58
+ public function getPaymentMethod()
59
+ {
60
+ return $this->payment_method;
61
+ }
62
+
63
+ public function getStore()
64
+ {
65
+ return $this->store;
66
+ }
67
+
68
+ public function getCountry()
69
+ {
70
+ return $this->country;
71
+ }
72
+
73
+ public function getImageUrl()
74
+ {
75
+ return $this->image_url;
76
+ }
77
+
78
+ public function getSuccessUrl()
79
+ {
80
+ return $this->success_url;
81
+ }
82
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/PaymentDetails.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ class PaymentDetails
27
+ {
28
+ public $object;
29
+ public $store;
30
+ public $country;
31
+ public $product_id;
32
+ public $product_price;
33
+ public $product_name;
34
+ public $image_url;
35
+ public $success_url;
36
+ public $customer_name;
37
+ public $customer_email;
38
+ public $customer_phone;
39
+
40
+ public function __construct()
41
+ {
42
+ }
43
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/ProductInformation.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ class ProductInformation
27
+ {
28
+ public $product_id;
29
+ public $product_name;
30
+ public $product_price;
31
+ public $image_url;
32
+
33
+ public function __construct()
34
+ {
35
+ }
36
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsInfo10.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\SmsInfo;
27
+
28
+ class SmsInfo10 extends SmsInfo
29
+ {
30
+ public $type;
31
+ public $object;
32
+ public $payment;
33
+
34
+ public function __construct()
35
+ {
36
+ $this->payment = new SmsPayment();
37
+ }
38
+
39
+ /**
40
+ * @return string
41
+ */
42
+ public function getType()
43
+ {
44
+ return $this->type;
45
+ }
46
+
47
+ /**
48
+ * @return string
49
+ */
50
+ public function getObject()
51
+ {
52
+ return $this->object;
53
+ }
54
+
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getId()
59
+ {
60
+ return $this->payment->id;
61
+ }
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getShortId()
67
+ {
68
+ return $this->payment->short_id;
69
+ }
70
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V10/SmsPayment.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V10;
24
+
25
+
26
+ class SmsPayment
27
+ {
28
+ public $id;
29
+ public $short_id;
30
+
31
+ public function __construct()
32
+ {
33
+ }
34
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/CpOrderInfo11.php ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\CpOrderInfo;
27
+ use CompropagoSdk\Models\Customer;
28
+
29
+ class CpOrderInfo11 extends CpOrderInfo
30
+ {
31
+ public $id;
32
+ public $type;
33
+ public $object;
34
+ public $created;
35
+ public $paid;
36
+ public $amount;
37
+ public $livemode;
38
+ public $currency;
39
+ public $refunded;
40
+ public $fee;
41
+ public $fee_details;
42
+ public $order_info;
43
+ public $customer;
44
+ public $captured;
45
+ public $failure_message;
46
+ public $failure_code;
47
+ public $amount_refunded;
48
+ public $description;
49
+ public $dispute;
50
+
51
+ public function __construct()
52
+ {
53
+ $this->fee_details = new FeeDetails11();
54
+ $this->order_info = new OrderInfo11();
55
+ $this->customer = new Customer();
56
+ }
57
+
58
+ public function getId()
59
+ {
60
+ return $this->id;
61
+ }
62
+
63
+ public function getType()
64
+ {
65
+ return $this->type;
66
+ }
67
+
68
+ public function getCreated()
69
+ {
70
+ return $this->created;
71
+ }
72
+
73
+ public function getPaid()
74
+ {
75
+ return $this->paid;
76
+ }
77
+
78
+ public function getAmount()
79
+ {
80
+ return $this->amount;
81
+ }
82
+
83
+ public function getCurrency()
84
+ {
85
+ return $this->currency;
86
+ }
87
+
88
+ public function getRefunded()
89
+ {
90
+ return $this->refunded;
91
+ }
92
+
93
+ public function getFee()
94
+ {
95
+ return $this->fee;
96
+ }
97
+
98
+ public function getFeeDetails()
99
+ {
100
+ return $this->fee_details;
101
+ }
102
+
103
+ public function getOrderInfo()
104
+ {
105
+ return $this->order_info;
106
+ }
107
+
108
+ public function getCustomer()
109
+ {
110
+ return $this->customer;
111
+ }
112
+
113
+ public function getCaptured()
114
+ {
115
+ return $this->captured;
116
+ }
117
+
118
+ public function getFailureMessage()
119
+ {
120
+ return $this->failure_message;
121
+ }
122
+
123
+ public function getFailureCode()
124
+ {
125
+ return $this->failure_code;
126
+ }
127
+
128
+ public function getAmountRefunded()
129
+ {
130
+ return $this->amount_refunded;
131
+ }
132
+
133
+ public function getDescription()
134
+ {
135
+ return $this->description;
136
+ }
137
+
138
+ public function getDispute()
139
+ {
140
+ return $this->dispute;
141
+ }
142
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/FeeDetails11.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\FeeDetails;
27
+
28
+ class FeeDetails11 extends FeeDetails
29
+ {
30
+ public $amount;
31
+ public $currency;
32
+ public $type;
33
+ public $description;
34
+ public $application;
35
+ public $amount_refunded;
36
+ public $tax;
37
+
38
+ public function __construct()
39
+ {
40
+ }
41
+
42
+ public function getAmount()
43
+ {
44
+ return $this->amount;
45
+ }
46
+
47
+ public function getCurrency()
48
+ {
49
+ return $this->currency;
50
+ }
51
+
52
+ public function getType()
53
+ {
54
+ return $this->type;
55
+ }
56
+
57
+ public function getDescription()
58
+ {
59
+ return $this->description;
60
+ }
61
+
62
+ public function getApplication()
63
+ {
64
+ return $this->application;
65
+ }
66
+
67
+ public function getAmountRefunded()
68
+ {
69
+ return $this->amount_refunded;
70
+ }
71
+
72
+ public function getTax()
73
+ {
74
+ return $this->tax;
75
+ }
76
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/InstructionDetails11.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\InstrcutionDetails;
27
+
28
+ class InstructionDetails11 extends InstrcutionDetails
29
+ {
30
+ public $amount;
31
+ public $store;
32
+ public $bank_account_number;
33
+ public $bank_name;
34
+
35
+ public function __construct()
36
+ {
37
+ }
38
+
39
+ /**
40
+ * @return string
41
+ */
42
+ public function getAmount()
43
+ {
44
+ return $this->amount;
45
+ }
46
+
47
+ /**
48
+ * @return string
49
+ */
50
+ public function getStore()
51
+ {
52
+ return $this->store;
53
+ }
54
+
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getBankAccountNumber()
59
+ {
60
+ return $this->bank_account_number;
61
+ }
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getBankName()
67
+ {
68
+ return $this->bank_name;
69
+ }
70
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/Instructions11.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\InstrcutionDetails;
27
+ use CompropagoSdk\Factory\Abs\Instructions;
28
+
29
+ class Instructions11 extends Instructions
30
+ {
31
+ public $description;
32
+ public $step_1;
33
+ public $step_2;
34
+ public $step_3;
35
+ public $note_extra_comition;
36
+ public $note_expiration_date;
37
+ public $note_confirmation;
38
+ public $details;
39
+
40
+ public function __construct()
41
+ {
42
+ $this->details = new InstructionDetails11();
43
+ }
44
+
45
+ /**
46
+ * @return string
47
+ */
48
+ public function getDescription()
49
+ {
50
+ return $this->description;
51
+ }
52
+
53
+ /**
54
+ * @return string
55
+ */
56
+ public function getStep1()
57
+ {
58
+ return $this->step_1;
59
+ }
60
+
61
+ /**
62
+ * @return string
63
+ */
64
+ public function getStep2()
65
+ {
66
+ return $this->step_2;
67
+ }
68
+
69
+ /**
70
+ * @return string
71
+ */
72
+ public function getStep3()
73
+ {
74
+ return $this->step_3;
75
+ }
76
+
77
+ /**
78
+ * @return string
79
+ */
80
+ public function getNoteExtraComition()
81
+ {
82
+ return $this->note_extra_comition;
83
+ }
84
+
85
+ /**
86
+ * @return string
87
+ */
88
+ public function getNoteExpirationDate()
89
+ {
90
+ return $this->note_expiration_date;
91
+ }
92
+
93
+ /**
94
+ * @return string
95
+ */
96
+ public function getNoteConfirmation()
97
+ {
98
+ return $this->note_confirmation;
99
+ }
100
+
101
+ /**
102
+ * @return InstrcutionDetails
103
+ */
104
+ public function getDetails()
105
+ {
106
+ return $this->details;
107
+ }
108
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/NewOrderInfo11.php ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\FeeDetails;
27
+ use CompropagoSdk\Factory\Abs\Instructions;
28
+ use CompropagoSdk\Factory\Abs\NewOrderInfo;
29
+ use CompropagoSdk\Factory\Abs\OrderInfo;
30
+
31
+ class NewOrderInfo11 extends NewOrderInfo
32
+ {
33
+ public $id;
34
+ public $short_id;
35
+ public $object;
36
+ public $status;
37
+ public $created;
38
+ public $exp_date;
39
+ public $live_mode;
40
+ public $order_info;
41
+ public $fee_details;
42
+ public $instructions;
43
+
44
+ public function __construct()
45
+ {
46
+ $this->order_info = new OrderInfo11();
47
+ $this->fee_details = new FeeDetails11();
48
+ $this->instructions = new Instructions11();
49
+ }
50
+
51
+ /**
52
+ * @return string
53
+ */
54
+ public function getId()
55
+ {
56
+ return $this->id;
57
+ }
58
+
59
+ /**
60
+ * @return string
61
+ */
62
+ public function getShortId()
63
+ {
64
+ return $this->short_id;
65
+ }
66
+
67
+ /**
68
+ * @return string
69
+ */
70
+ public function getStatus()
71
+ {
72
+ return $this->status;
73
+ }
74
+
75
+ /**
76
+ * @return string
77
+ */
78
+ public function getCreated()
79
+ {
80
+ return $this->created;
81
+ }
82
+
83
+ /**
84
+ * @return string
85
+ */
86
+ public function getExpirationDate()
87
+ {
88
+ return $this->exp_date;
89
+ }
90
+
91
+ /**
92
+ * @return OrderInfo
93
+ */
94
+ public function getOrderInfo()
95
+ {
96
+ return $this->order_info;
97
+ }
98
+
99
+ /**
100
+ * @return FeeDetails
101
+ */
102
+ public function getFeeDetails()
103
+ {
104
+ return $this->fee_details;
105
+ }
106
+
107
+ /**
108
+ * @return Instructions
109
+ */
110
+ public function getInstructions()
111
+ {
112
+ return $this->instructions;
113
+ }
114
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/OrderInfo11.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\OrderInfo;
27
+
28
+ class OrderInfo11 extends OrderInfo
29
+ {
30
+ public $order_id;
31
+ public $order_price;
32
+ public $order_name;
33
+ public $payment_method;
34
+ public $store;
35
+ public $country;
36
+ public $image_url;
37
+ public $success_url;
38
+
39
+ public function __construct()
40
+ {
41
+ }
42
+
43
+ public function getOrderId()
44
+ {
45
+ return $this->order_id;
46
+ }
47
+
48
+ public function getOrderPrice()
49
+ {
50
+ return $this->order_price;
51
+ }
52
+
53
+ public function getOrderName()
54
+ {
55
+ return $this->order_name;
56
+ }
57
+
58
+ public function getPaymentMethod()
59
+ {
60
+ return $this->payment_method;
61
+ }
62
+
63
+ public function getStore()
64
+ {
65
+ return $this->store;
66
+ }
67
+
68
+ public function getCountry()
69
+ {
70
+ return $this->country;
71
+ }
72
+
73
+ public function getImageUrl()
74
+ {
75
+ return $this->image_url;
76
+ }
77
+
78
+ public function getSuccessUrl()
79
+ {
80
+ return $this->success_url;
81
+ }
82
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsData.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ class SmsData
27
+ {
28
+ public $object;
29
+
30
+ public function __construct()
31
+ {
32
+ $this->object = new SmsObject();
33
+ }
34
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsInfo11.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ use CompropagoSdk\Factory\Abs\SmsInfo;
27
+
28
+ class SmsInfo11 extends SmsInfo
29
+ {
30
+ public $type;
31
+ public $object;
32
+ public $data;
33
+
34
+ public function __construct()
35
+ {
36
+ $this->data = new SmsData();
37
+ }
38
+
39
+ /**
40
+ * @return string
41
+ */
42
+ public function getType()
43
+ {
44
+ return $this->type;
45
+ }
46
+
47
+ /**
48
+ * @return string
49
+ */
50
+ public function getObject()
51
+ {
52
+ return $this->object;
53
+ }
54
+
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getId()
59
+ {
60
+ return $this->data->object->id;
61
+ }
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getShortId()
67
+ {
68
+ return $this->data->object->short_id;
69
+ }
70
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Factory/V11/SmsObject.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Factory\V11;
24
+
25
+
26
+ class SmsObject
27
+ {
28
+ public $id;
29
+ public $object;
30
+ public $short_id;
31
+
32
+ public function __construct()
33
+ {
34
+ }
35
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Customer.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+
26
+ class Customer
27
+ {
28
+ public $customer_name;
29
+ public $customer_email;
30
+ public $customer_phone;
31
+
32
+ public function __construct()
33
+ {
34
+ }
35
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/EvalAuthInfo.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+
26
+ class EvalAuthInfo
27
+ {
28
+ /**
29
+ * @var string
30
+ */
31
+ public $type;
32
+ /**
33
+ * @var bool
34
+ */
35
+ public $livemode;
36
+ /**
37
+ * @var bool
38
+ */
39
+ public $mode_key;
40
+ /**
41
+ * @var string
42
+ */
43
+ public $message;
44
+
45
+ /**
46
+ * @var int
47
+ */
48
+ public $code;
49
+
50
+ /**
51
+ * EvalAuthInfo10 constructor.
52
+ */
53
+ public function __construct()
54
+ {
55
+ }
56
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/PlaceOrderInfo.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+ /**
26
+ * Class PlaceOrderInfo informacion de nuevas ordenes
27
+ * @package CompropagoSdk\Models
28
+ */
29
+ class PlaceOrderInfo
30
+ {
31
+ public $order_id;
32
+ public $order_name;
33
+ public $order_price;
34
+ public $customer_name;
35
+ public $customer_email;
36
+ public $payment_type;
37
+ public $image_url;
38
+ public $app_client_name;
39
+ public $app_client_version;
40
+
41
+ public function __construct($order_id, $order_name, $order_price, $customer_name, $customer_email, $payment_type="OXXO", $image_url=null, $app_client_name="phpsdk", $app_client_version="2.0.0-alfa")
42
+ {
43
+ $this->order_id = $order_id;
44
+ $this->order_name = $order_name;
45
+ $this->order_price = $order_price;
46
+ $this->customer_name = $customer_name;
47
+ $this->customer_email = $customer_email;
48
+ $this->payment_type = $payment_type;
49
+ $this->image_url = $image_url;
50
+ $this->app_client_name = $app_client_name;
51
+ $this->app_client_version = $app_client_version;
52
+ }
53
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Provider.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago ${LIBRARI}
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+
26
+ class Provider
27
+ {
28
+ public $name;
29
+ public $store_image;
30
+ public $is_active;
31
+ public $internal_name;
32
+ public $image_small;
33
+ public $image_medium;
34
+ public $image_large;
35
+ public $transaction_limit;
36
+ public $rank;
37
+
38
+ public function __construct()
39
+ {
40
+ }
41
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/Webhook.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+
26
+ class Webhook
27
+ {
28
+ public $id;
29
+ public $url;
30
+ public $mode;
31
+ public $status;
32
+
33
+ public function __constructor(){}
34
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Models/WebhookError.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago $Library
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Models;
24
+
25
+
26
+ class WebhookError
27
+ {
28
+
29
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Service.php ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk;
24
+
25
+ use CompropagoSdk\Factory\Factory;
26
+ use CompropagoSdk\Models\PlaceOrderInfo;
27
+ use CompropagoSdk\Tools\Rest;
28
+ use CompropagoSdk\Tools\Validations;
29
+
30
+ /**
31
+ * Class Service Provee de los servicios necesarios para el manejo de la API de ComproPago
32
+ * @package CompropagoSdk
33
+ */
34
+ class Service
35
+ {
36
+ private $client;
37
+ private $headers;
38
+
39
+ /**
40
+ * Service constructor.
41
+ * @param Client $client
42
+ */
43
+ public function __construct(Client $client)
44
+ {
45
+ $this->client = $client;
46
+ $this->headers = array(
47
+ 'useragent: '.$client->getContained()
48
+ );
49
+ }
50
+
51
+ /**
52
+ * @param bool $auth
53
+ * @param int $limit
54
+ * @param bool $fetch
55
+ * @return array
56
+ * @throws \Exception
57
+ */
58
+ public function listProviders($auth = false, $limit = 0, $fetch = false)
59
+ {
60
+ if($auth){
61
+ $uri = $this->client->getUri()."providers";
62
+ $keys = $this->client->getFullAuth();
63
+ }else{
64
+ $uri = $this->client->getUri()."providers/true";
65
+ $keys = "";
66
+ }
67
+
68
+ if(is_numeric($limit) && $limit > 0){
69
+ $uri .= "?order_total=$limit";
70
+ }
71
+
72
+ if(is_bool($fetch) && $fetch){
73
+ if(is_numeric($limit) && $limit > 0){
74
+ $uri .= "&fetch=true";
75
+ }else{
76
+ $uri .= "?fetch=true";
77
+ }
78
+ }
79
+
80
+ $response = Rest::get($uri,$keys,$this->headers);
81
+ $providers = Factory::arrayProviders($response);
82
+
83
+ return $providers;
84
+ }
85
+
86
+ /**
87
+ * @param $orderId
88
+ * @return \CompropagoSdk\Factory\Abs\CpOrderInfo
89
+ * @throws \Exception
90
+ */
91
+ public function verifyOrder( $orderId )
92
+ {
93
+ Validations::validateGateway($this->client);
94
+
95
+ $response = Rest::get($this->client->getUri()."charges/$orderId/",$this->client->getAuth(),$this->headers);
96
+ $obj = Factory::cpOrderInfo($response);
97
+
98
+ return $obj;
99
+ }
100
+
101
+ /**
102
+ * @param PlaceOrderInfo $neworder
103
+ * @return \CompropagoSdk\Factory\Abs\NewOrderInfo
104
+ * @throws \Exception
105
+ */
106
+ public function placeOrder(PlaceOrderInfo $neworder)
107
+ {
108
+ Validations::validateGateway($this->client);
109
+
110
+ $params = "order_id=".$neworder->order_id.
111
+ "&order_name=".$neworder->order_name.
112
+ "&order_price=".$neworder->order_price.
113
+ "&customer_name=".$neworder->customer_name.
114
+ "&customer_email=".$neworder->customer_email.
115
+ "&payment_type=".$neworder->payment_type.
116
+ "&image_url=".$neworder->image_url.
117
+ "&app_client_name=".$neworder->app_client_name.
118
+ "&app_client_version=".$neworder->app_client_version;
119
+
120
+ $response = Rest::post($this->client->getUri()."charges/",$this->client->getAuth(),$params,$this->headers);
121
+
122
+ $obj = Factory::newOrderInfo($response);
123
+
124
+ return $obj;
125
+ }
126
+
127
+ /**
128
+ * @param $number
129
+ * @param $orderId
130
+ * @return \CompropagoSdk\Factory\Abs\SmsInfo
131
+ * @throws \Exception
132
+ */
133
+ public function sendSmsInstructions($number,$orderId)
134
+ {
135
+ Validations::validateGateway($this->client);
136
+
137
+ $params = "customer_phone=".$number;
138
+
139
+ $response= Rest::post($this->client->getUri()."charges/".$orderId."/sms/",$this->client->getAuth(),$params,
140
+ $this->headers);
141
+ $obj = Factory::smsInfo($response);
142
+
143
+ return $obj;
144
+ }
145
+
146
+ /**
147
+ * @param $url
148
+ * @return Models\Webhook
149
+ * @throws \Exception
150
+ */
151
+ public function createWebhook($url)
152
+ {
153
+ Validations::validateGateway($this->client);
154
+
155
+ $params = "url=".$url;
156
+
157
+ $response = Rest::post($this->client->getUri()."webhooks/stores/", $this->client->getFullAuth(), $params,
158
+ $this->headers);
159
+ $obj = Factory::webhook($response);
160
+
161
+ return $obj;
162
+ }
163
+
164
+ /**
165
+ * @return array
166
+ * @throws \Exception
167
+ */
168
+ public function listWebhooks()
169
+ {
170
+ Validations::validateGateway($this->client);
171
+
172
+ $response = Rest::get($this->client->getUri()."webhooks/stores/",$this->client->getFullAuth(),
173
+ $this->headers);
174
+ $obj = Factory::listWebhooks($response);
175
+
176
+ return $obj;
177
+ }
178
+
179
+ /**
180
+ * @param $webhookId
181
+ * @param $url
182
+ * @return Models\Webhook
183
+ * @throws \Exception
184
+ */
185
+ public function updateWebhook($webhookId, $url)
186
+ {
187
+ Validations::validateGateway($this->client);
188
+
189
+ $params = "url=".$url;
190
+
191
+ $response = Rest::put($this->client->getUri()."webhooks/stores/$webhookId/", $this->client->getFullAuth(),
192
+ $params, $this->headers);
193
+
194
+ $obj = Factory::webhook($response);
195
+
196
+ return $obj;
197
+ }
198
+
199
+ /**
200
+ * @param $webhookId
201
+ * @return Models\Webhook
202
+ * @throws \Exception
203
+ */
204
+ public function deleteWebhook($webhookId)
205
+ {
206
+ Validations::validateGateway($this->client);
207
+
208
+ $response=Rest::delete($this->client->getUri()."webhooks/stores/$webhookId/", $this->client->getFullAuth(),
209
+ null,$this->headers);
210
+
211
+ $obj = Factory::webhook($response);
212
+
213
+ return $obj;
214
+ }
215
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Http.php ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Tools;
24
+
25
+
26
+ /**
27
+ * Class Http Crea llamas Http para el consumo de servicios
28
+ * @package CompropagoSdk\Tools
29
+ */
30
+ class Http
31
+ {
32
+ /**
33
+ * Inicializa el objeto Http para las peticiones
34
+ *
35
+ * @param null $url
36
+ * @return resource
37
+ */
38
+ public static function initHttp($url = null)
39
+ {
40
+ $ch = curl_init($url);
41
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
42
+ return $ch;
43
+ }
44
+
45
+ /**
46
+ * Define el metodo que ejecutara en la peticion
47
+ *
48
+ * @param $ch resource Instancia del Objeto Http
49
+ * @param $method string Tipo de peticion a ejecutar
50
+ * @throws \Exception
51
+ */
52
+ public static function setMethod(&$ch,$method)
53
+ {
54
+ switch($method){
55
+ case 'GET':
56
+ case 'POST':
57
+ case 'PUT':
58
+ case 'DELETE':
59
+ curl_setopt($ch,CURLOPT_CUSTOMREQUEST, $method);
60
+ break;
61
+ default:
62
+ throw new \Exception("Metodo no soportado");
63
+ break;
64
+ }
65
+ }
66
+
67
+ /**
68
+ * Estable las claves de autentificacion a usar
69
+ *
70
+ * @param $ch resource Instancia del Objeto Http
71
+ * @param $auth string Cadena de autentificacion del cliente
72
+ */
73
+ public static function setAuth(&$ch, $auth)
74
+ {
75
+ curl_setopt($ch, CURLOPT_USERPWD, $auth);
76
+ }
77
+
78
+ /**
79
+ * Carga los campos que se enviaran dentro de la peticion
80
+ * El formato de envio es el sieguinte:
81
+ * campo1=valor1&campo2=valor2&.....campox=valorx
82
+ *
83
+ * @param $ch resource Instancia del Objeto Http
84
+ * @param string $fields Campos a incluir en la peticion
85
+ */
86
+ public static function setPostFields(&$ch, $fields="")
87
+ {
88
+ if(!empty($fields)) {
89
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Carga los headers que se enviaran en la peticion http
95
+ *
96
+ * @param $ch
97
+ * @param array $headers
98
+ */
99
+ public static function setHeaders(&$ch, array $headers)
100
+ {
101
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
102
+ }
103
+
104
+ /**
105
+ * Ejecuta la peticion Http que se le especifique
106
+ *
107
+ * @param $ch
108
+ * @return mixed
109
+ * @throws \Exception
110
+ */
111
+ public static function execHttp(&$ch)
112
+ {
113
+ $response = curl_exec($ch);
114
+
115
+ if(empty($response)){
116
+ $code = curl_errno($ch);
117
+
118
+ if ($code == 60 || $code == 77) {
119
+ curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . '/cacerts.pem');
120
+ $response = curl_exec($ch);
121
+ }
122
+
123
+ if(empty($response)){
124
+ $error = curl_error($ch);
125
+ $code = curl_errno($ch);
126
+ throw new \Exception($error, $code);
127
+ }
128
+ }
129
+
130
+ return $response;
131
+ }
132
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Rest.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Tools;
24
+
25
+
26
+ /**
27
+ * Class Rest Proporciona los metodos de conexion
28
+ * @package CompropagoSdk\Tools
29
+ */
30
+ class Rest
31
+ {
32
+ /**
33
+ * Ejecuta peticiones Get al API
34
+ *
35
+ * @param string $url Url a la cual se generara la peticion
36
+ * @param string $auth Cadena de autentificacion
37
+ * @param array $headers Arreglo de headers http
38
+ * @return mixed
39
+ * @throws \Exception
40
+ */
41
+ public static function get($url, $auth="", $headers = array())
42
+ {
43
+ $ch = Http::initHttp($url);
44
+ Http::setMethod($ch,'GET');
45
+ Http::setAuth($ch,$auth);
46
+ Http::setHeaders($ch, $headers);
47
+
48
+ $response = Http::execHttp($ch);
49
+
50
+ if(empty($response)){
51
+ throw new \Exception("Respuesta vacia");
52
+ }else{
53
+ return $response;
54
+ }
55
+
56
+ }
57
+
58
+ /**
59
+ * @param $url string Url a la cual se generara la peticion
60
+ * @param $auth string Cadena de autentificacion
61
+ * @param $data string Parametros a enviar
62
+ * @param array $headers Arreglo de headers http
63
+ * @return mixed
64
+ * @throws \Exception
65
+ */
66
+ public static function post($url, $auth, $data, $headers = array())
67
+ {
68
+ $ch = Http::initHttp($url);
69
+ Http::setMethod($ch, 'POST');
70
+ Http::setAuth($ch, $auth);
71
+ Http::setPostFields($ch, $data);
72
+ Http::setHeaders($ch, $headers);
73
+
74
+ $response = Http::execHttp($ch);
75
+
76
+ if(empty($response)){
77
+ throw new \Exception("Respuesta vacia");
78
+ }else{
79
+ return $response;
80
+ }
81
+ }
82
+
83
+ /**
84
+ * @param $url string Url a la cual se generara la peticion
85
+ * @param $auth string Cadena de autentificacion
86
+ * @param $data string Parametros a enviar
87
+ * @param array $headers Arreglo de headers http
88
+ * @return mixed
89
+ * @throws \Exception
90
+ */
91
+ public static function put($url, $auth, $data, $headers = array())
92
+ {
93
+ $ch = Http::initHttp($url);
94
+ Http::setMethod($ch, 'PUT');
95
+ Http::setAuth($ch, $auth);
96
+ Http::setPostFields($ch, $data);
97
+ Http::setHeaders($ch, $headers);
98
+
99
+ $response = Http::execHttp($ch);
100
+
101
+ if(empty($response)){
102
+ throw new \Exception("Respuesta vacia");
103
+ }else{
104
+ return $response;
105
+ }
106
+ }
107
+
108
+ /**
109
+ * @param $url string Url a la cual se generara la peticion
110
+ * @param $auth string Cadena de autentificacion
111
+ * @param $data string Parametros a enviar
112
+ * @param array $headers Arreglo de headers http
113
+ * @return mixed
114
+ * @throws \Exception
115
+ */
116
+ public static function delete($url, $auth, $data = null, $headers = array())
117
+ {
118
+ $ch = Http::initHttp($url);
119
+ Http::setMethod($ch, 'DELETE');
120
+ Http::setAuth($ch, $auth);
121
+
122
+ if(!empty($data)) {
123
+ Http::setPostFields($ch, $data);
124
+ }
125
+
126
+ Http::setHeaders($ch, $headers);
127
+
128
+ $response = Http::execHttp($ch);
129
+
130
+ if(empty($response)){
131
+ throw new \Exception("Respuesta vacia");
132
+ }else{
133
+ return $response;
134
+ }
135
+ }
136
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/Validations.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+
23
+ namespace CompropagoSdk\Tools;
24
+
25
+
26
+ use CompropagoSdk\Client;
27
+ use CompropagoSdk\Factory\Factory;
28
+
29
+
30
+ /**
31
+ * Class Validations Contiene las validaciones generales para el uso de los servicios
32
+ * @package CompropagoSdk\Tools
33
+ */
34
+ class Validations
35
+ {
36
+
37
+ /**
38
+ * Evalua que el cliente pueda autentificarse correctamente
39
+ *
40
+ * @param Client $client
41
+ * @return \CompropagoSdk\Models\EvalAuthInfo
42
+ * @throws \Exception
43
+ */
44
+ public static function evalAuth( Client $client )
45
+ {
46
+ $response = Rest::get($client->getUri()."users/auth/", $client->getFullAuth());
47
+ $info = Factory::evalAuthInfo($response);
48
+
49
+ switch($info->code){
50
+ case '200':
51
+ return $info;
52
+ default:
53
+ throw new \Exception("CODE {$info->code}: ".$info->message,$info->code);
54
+ }
55
+ }
56
+
57
+ /**
58
+ * Valida que el cliente pueda realizar transacciones
59
+ *
60
+ * @param Client $client
61
+ * @return bool
62
+ * @throws \Exception
63
+ */
64
+ public static function validateGateway( Client $client )
65
+ {
66
+ if(empty($client)){
67
+ throw new \Exception("El objecto Client no es valido");
68
+ }
69
+
70
+ $clientMode = $client->getMode();
71
+
72
+ $authinfo = self::evalAuth($client);
73
+
74
+ if($authinfo->mode_key != $authinfo->livemode){
75
+ throw new \Exception("Las llaves no corresponden a modo de la tienda");
76
+ }
77
+
78
+ if($clientMode != $authinfo->livemode){
79
+ throw new \Exception("El modo del cliente no corresponde al de la tienda");
80
+ }
81
+
82
+ if($clientMode != $authinfo->mode_key){
83
+ throw new \Exception("El modo del cliente no corresponde al de las llaves");
84
+ }
85
+
86
+ return true;
87
+ }
88
+
89
+ }
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/Tools/cacerts.pem ADDED
@@ -0,0 +1,2183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Issuer: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.
2
+ # Subject: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.
3
+ # Label: "GTE CyberTrust Global Root"
4
+ # Serial: 421
5
+ # MD5 Fingerprint: ca:3d:d3:68:f1:03:5c:d0:32:fa:b8:2b:59:e8:5a:db
6
+ # SHA1 Fingerprint: 97:81:79:50:d8:1c:96:70:cc:34:d8:09:cf:79:44:31:36:7e:f4:74
7
+ # SHA256 Fingerprint: a5:31:25:18:8d:21:10:aa:96:4b:02:c7:b7:c6:da:32:03:17:08:94:e5:fb:71:ff:fb:66:67:d5:e6:81:0a:36
8
+ -----BEGIN CERTIFICATE-----
9
+ MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
10
+ VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
11
+ bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
12
+ b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
13
+ UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
14
+ cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
15
+ b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
16
+ iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
17
+ r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
18
+ 04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
19
+ GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
20
+ 3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
21
+ lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
22
+ -----END CERTIFICATE-----
23
+
24
+ # Issuer: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division
25
+ # Subject: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division
26
+ # Label: "Thawte Server CA"
27
+ # Serial: 1
28
+ # MD5 Fingerprint: c5:70:c4:a2:ed:53:78:0c:c8:10:53:81:64:cb:d0:1d
29
+ # SHA1 Fingerprint: 23:e5:94:94:51:95:f2:41:48:03:b4:d5:64:d2:a3:a3:f5:d8:8b:8c
30
+ # SHA256 Fingerprint: b4:41:0b:73:e2:e6:ea:ca:47:fb:c4:2f:8f:a4:01:8a:f4:38:1d:c5:4c:fa:a8:44:50:46:1e:ed:09:45:4d:e9
31
+ -----BEGIN CERTIFICATE-----
32
+ MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx
33
+ FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
34
+ VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
35
+ biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm
36
+ MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx
37
+ MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
38
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3
39
+ dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
40
+ cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3
41
+ DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
42
+ gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91
43
+ yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX
44
+ L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj
45
+ EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG
46
+ 7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e
47
+ QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ
48
+ qdq5snUb9kLy78fyGPmJvKP/iiMucEc=
49
+ -----END CERTIFICATE-----
50
+
51
+ # Issuer: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division
52
+ # Subject: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division
53
+ # Label: "Thawte Premium Server CA"
54
+ # Serial: 1
55
+ # MD5 Fingerprint: 06:9f:69:79:16:66:90:02:1b:8c:8c:a2:c3:07:6f:3a
56
+ # SHA1 Fingerprint: 62:7f:8d:78:27:65:63:99:d2:7d:7f:90:44:c9:fe:b3:f3:3e:fa:9a
57
+ # SHA256 Fingerprint: ab:70:36:36:5c:71:54:aa:29:c2:c2:9f:5d:41:91:16:3b:16:2a:22:25:01:13:57:d5:6d:07:ff:a7:bc:1f:72
58
+ -----BEGIN CERTIFICATE-----
59
+ MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
60
+ FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
61
+ VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
62
+ biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
63
+ dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
64
+ MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
65
+ MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
66
+ A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
67
+ b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
68
+ cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
69
+ bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
70
+ VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
71
+ ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
72
+ uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
73
+ 9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
74
+ hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
75
+ pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
76
+ -----END CERTIFICATE-----
77
+
78
+ # Issuer: O=Equifax OU=Equifax Secure Certificate Authority
79
+ # Subject: O=Equifax OU=Equifax Secure Certificate Authority
80
+ # Label: "Equifax Secure CA"
81
+ # Serial: 903804111
82
+ # MD5 Fingerprint: 67:cb:9d:c0:13:24:8a:82:9b:b2:17:1e:d1:1b:ec:d4
83
+ # SHA1 Fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a
84
+ # SHA256 Fingerprint: 08:29:7a:40:47:db:a2:36:80:c7:31:db:6e:31:76:53:ca:78:48:e1:be:bd:3a:0b:01:79:a7:07:f9:2c:f1:78
85
+ -----BEGIN CERTIFICATE-----
86
+ MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
87
+ UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
88
+ dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
89
+ MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
90
+ dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
91
+ AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
92
+ BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
93
+ cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
94
+ AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
95
+ MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
96
+ aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
97
+ ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
98
+ IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
99
+ MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
100
+ A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
101
+ 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
102
+ 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
103
+ -----END CERTIFICATE-----
104
+
105
+ # Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
106
+ # Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
107
+ # Label: "Verisign Class 3 Public Primary Certification Authority"
108
+ # Serial: 149843929435818692848040365716851702463
109
+ # MD5 Fingerprint: 10:fc:63:5d:f6:26:3e:0d:f3:25:be:5f:79:cd:67:67
110
+ # SHA1 Fingerprint: 74:2c:31:92:e6:07:e4:24:eb:45:49:54:2b:e1:bb:c5:3e:61:74:e2
111
+ # SHA256 Fingerprint: e7:68:56:34:ef:ac:f6:9a:ce:93:9a:6b:25:5b:7b:4f:ab:ef:42:93:5b:50:a2:65:ac:b5:cb:60:27:e4:4e:70
112
+ -----BEGIN CERTIFICATE-----
113
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
114
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
115
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
116
+ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
117
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
118
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
119
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
120
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
121
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
122
+ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
123
+ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
124
+ AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
125
+ -----END CERTIFICATE-----
126
+
127
+ # Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network
128
+ # Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network
129
+ # Label: "Verisign Class 3 Public Primary Certification Authority - G2"
130
+ # Serial: 167285380242319648451154478808036881606
131
+ # MD5 Fingerprint: a2:33:9b:4c:74:78:73:d4:6c:e7:c1:f3:8d:cb:5c:e9
132
+ # SHA1 Fingerprint: 85:37:1c:a6:e5:50:14:3d:ce:28:03:47:1b:de:3a:09:e8:f8:77:0f
133
+ # SHA256 Fingerprint: 83:ce:3c:12:29:68:8a:59:3d:48:5f:81:97:3c:0f:91:95:43:1e:da:37:cc:5e:36:43:0e:79:c7:a8:88:63:8b
134
+ -----BEGIN CERTIFICATE-----
135
+ MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
136
+ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
137
+ c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
138
+ MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
139
+ emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
140
+ DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
141
+ FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg
142
+ UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
143
+ YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
144
+ MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
145
+ AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4
146
+ pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0
147
+ 13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID
148
+ AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk
149
+ U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
150
+ F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY
151
+ oJ2daZH9
152
+ -----END CERTIFICATE-----
153
+
154
+ # Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
155
+ # Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
156
+ # Label: "GlobalSign Root CA"
157
+ # Serial: 4835703278459707669005204
158
+ # MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a
159
+ # SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c
160
+ # SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99
161
+ -----BEGIN CERTIFICATE-----
162
+ MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
163
+ A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
164
+ b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
165
+ MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
166
+ YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
167
+ aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
168
+ jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
169
+ xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
170
+ 1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
171
+ snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
172
+ U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
173
+ 9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
174
+ BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
175
+ AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
176
+ yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
177
+ 38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
178
+ AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
179
+ DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
180
+ HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
181
+ -----END CERTIFICATE-----
182
+
183
+ # Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
184
+ # Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
185
+ # Label: "GlobalSign Root CA - R2"
186
+ # Serial: 4835703278459682885658125
187
+ # MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30
188
+ # SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe
189
+ # SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e
190
+ -----BEGIN CERTIFICATE-----
191
+ MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
192
+ A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
193
+ Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
194
+ MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
195
+ A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
196
+ hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
197
+ v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
198
+ eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
199
+ tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
200
+ C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
201
+ zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
202
+ mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
203
+ V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
204
+ bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
205
+ 3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
206
+ J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
207
+ 291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
208
+ ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
209
+ AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
210
+ TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
211
+ -----END CERTIFICATE-----
212
+
213
+ # Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority
214
+ # Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority
215
+ # Label: "ValiCert Class 1 VA"
216
+ # Serial: 1
217
+ # MD5 Fingerprint: 65:58:ab:15:ad:57:6c:1e:a8:a7:b5:69:ac:bf:ff:eb
218
+ # SHA1 Fingerprint: e5:df:74:3c:b6:01:c4:9b:98:43:dc:ab:8c:e8:6a:81:10:9f:e4:8e
219
+ # SHA256 Fingerprint: f4:c1:49:55:1a:30:13:a3:5b:c7:bf:fe:17:a7:f3:44:9b:c1:ab:5b:5a:0a:e7:4b:06:c2:3b:90:00:4c:01:04
220
+ -----BEGIN CERTIFICATE-----
221
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
222
+ IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
223
+ BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
224
+ aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
225
+ 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy
226
+ NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
227
+ azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
228
+ YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
229
+ Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
230
+ cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y
231
+ LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+
232
+ TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y
233
+ TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0
234
+ LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW
235
+ I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw
236
+ nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI
237
+ -----END CERTIFICATE-----
238
+
239
+ # Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority
240
+ # Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority
241
+ # Label: "ValiCert Class 2 VA"
242
+ # Serial: 1
243
+ # MD5 Fingerprint: a9:23:75:9b:ba:49:36:6e:31:c2:db:f2:e7:66:ba:87
244
+ # SHA1 Fingerprint: 31:7a:2a:d0:7f:2b:33:5e:f5:a1:c3:4e:4b:57:e8:b7:d8:f1:fc:a6
245
+ # SHA256 Fingerprint: 58:d0:17:27:9c:d4:dc:63:ab:dd:b1:96:a6:c9:90:6c:30:c4:e0:87:83:ea:e8:c1:60:99:54:d6:93:55:59:6b
246
+ -----BEGIN CERTIFICATE-----
247
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
248
+ IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
249
+ BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
250
+ aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
251
+ 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy
252
+ NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
253
+ azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
254
+ YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
255
+ Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
256
+ cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY
257
+ dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9
258
+ WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS
259
+ v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v
260
+ UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu
261
+ IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC
262
+ W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd
263
+ -----END CERTIFICATE-----
264
+
265
+ # Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority
266
+ # Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority
267
+ # Label: "RSA Root Certificate 1"
268
+ # Serial: 1
269
+ # MD5 Fingerprint: a2:6f:53:b7:ee:40:db:4a:68:e7:fa:18:d9:10:4b:72
270
+ # SHA1 Fingerprint: 69:bd:8c:f4:9c:d3:00:fb:59:2e:17:93:ca:55:6a:f3:ec:aa:35:fb
271
+ # SHA256 Fingerprint: bc:23:f9:8a:31:3c:b9:2d:e3:bb:fc:3a:5a:9f:44:61:ac:39:49:4c:4a:e1:5a:9e:9d:f1:31:e9:9b:73:01:9a
272
+ -----BEGIN CERTIFICATE-----
273
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
274
+ IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
275
+ BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
276
+ aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
277
+ 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy
278
+ NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
279
+ azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
280
+ YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
281
+ Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
282
+ cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD
283
+ cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs
284
+ 2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY
285
+ JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE
286
+ Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ
287
+ n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A
288
+ PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
289
+ -----END CERTIFICATE-----
290
+
291
+ # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
292
+ # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
293
+ # Label: "Verisign Class 3 Public Primary Certification Authority - G3"
294
+ # Serial: 206684696279472310254277870180966723415
295
+ # MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09
296
+ # SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6
297
+ # SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44
298
+ -----BEGIN CERTIFICATE-----
299
+ MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
300
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
301
+ cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
302
+ LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
303
+ aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
304
+ dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
305
+ VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
306
+ aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
307
+ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
308
+ IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
309
+ LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
310
+ N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
311
+ KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
312
+ kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
313
+ CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
314
+ Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
315
+ imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
316
+ 2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
317
+ DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
318
+ /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
319
+ F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
320
+ TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
321
+ -----END CERTIFICATE-----
322
+
323
+ # Issuer: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
324
+ # Subject: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
325
+ # Label: "Verisign Class 4 Public Primary Certification Authority - G3"
326
+ # Serial: 314531972711909413743075096039378935511
327
+ # MD5 Fingerprint: db:c8:f2:27:2e:b1:ea:6a:29:23:5d:fe:56:3e:33:df
328
+ # SHA1 Fingerprint: c8:ec:8c:87:92:69:cb:4b:ab:39:e9:8d:7e:57:67:f3:14:95:73:9d
329
+ # SHA256 Fingerprint: e3:89:36:0d:0f:db:ae:b3:d2:50:58:4b:47:30:31:4e:22:2f:39:c1:56:a0:20:14:4e:8d:96:05:61:79:15:06
330
+ -----BEGIN CERTIFICATE-----
331
+ MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
332
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
333
+ cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
334
+ LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
335
+ aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
336
+ dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
337
+ VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
338
+ aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
339
+ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
340
+ IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
341
+ LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1
342
+ GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ
343
+ +mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd
344
+ U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm
345
+ NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY
346
+ ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/
347
+ ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1
348
+ CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq
349
+ g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
350
+ fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c
351
+ 2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/
352
+ bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
353
+ -----END CERTIFICATE-----
354
+
355
+ # Issuer: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
356
+ # Subject: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
357
+ # Label: "Entrust.net Secure Server CA"
358
+ # Serial: 927650371
359
+ # MD5 Fingerprint: df:f2:80:73:cc:f1:e6:61:73:fc:f5:42:e9:c5:7c:ee
360
+ # SHA1 Fingerprint: 99:a6:9b:e6:1a:fe:88:6b:4d:2b:82:00:7c:b8:54:fc:31:7e:15:39
361
+ # SHA256 Fingerprint: 62:f2:40:27:8c:56:4c:4d:d8:bf:7d:9d:4f:6f:36:6e:a8:94:d2:2f:5f:34:d9:89:a9:83:ac:ec:2f:ff:ed:50
362
+ -----BEGIN CERTIFICATE-----
363
+ MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
364
+ VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
365
+ ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
366
+ KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
367
+ ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
368
+ MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
369
+ ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
370
+ b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
371
+ bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
372
+ U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
373
+ A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
374
+ I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
375
+ wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
376
+ AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
377
+ oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
378
+ BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
379
+ dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
380
+ MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
381
+ b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
382
+ dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
383
+ MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
384
+ E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
385
+ MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
386
+ hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
387
+ 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
388
+ 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
389
+ -----END CERTIFICATE-----
390
+
391
+ # Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
392
+ # Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
393
+ # Label: "Entrust.net Premium 2048 Secure Server CA"
394
+ # Serial: 946059622
395
+ # MD5 Fingerprint: ba:21:ea:20:d6:dd:db:8f:c1:57:8b:40:ad:a1:fc:fc
396
+ # SHA1 Fingerprint: 80:1d:62:d0:7b:44:9d:5c:5c:03:5c:98:ea:61:fa:44:3c:2a:58:fe
397
+ # SHA256 Fingerprint: d1:c3:39:ea:27:84:eb:87:0f:93:4f:c5:63:4e:4a:a9:ad:55:05:01:64:01:f2:64:65:d3:7a:57:46:63:35:9f
398
+ -----BEGIN CERTIFICATE-----
399
+ MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
400
+ RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
401
+ bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
402
+ IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
403
+ ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0xOTEy
404
+ MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
405
+ LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
406
+ YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
407
+ A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
408
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
409
+ K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
410
+ sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
411
+ MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
412
+ XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
413
+ HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
414
+ 4QIDAQABo3QwcjARBglghkgBhvhCAQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGA
415
+ vtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdERgL7YibkIozH5oSQJFrlwMB0G
416
+ CSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEA
417
+ WUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
418
+ oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQ
419
+ h7A6tcOdBTcSo8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18
420
+ f3v/rxzP5tsHrV7bhZ3QKw0z2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfN
421
+ B/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjXOP/swNlQ8C5LWK5Gb9Auw2DaclVy
422
+ vUxFnmG6v4SBkgPR0ml8xQ==
423
+ -----END CERTIFICATE-----
424
+
425
+ # Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
426
+ # Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
427
+ # Label: "Baltimore CyberTrust Root"
428
+ # Serial: 33554617
429
+ # MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4
430
+ # SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
431
+ # SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb
432
+ -----BEGIN CERTIFICATE-----
433
+ MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
434
+ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
435
+ VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
436
+ DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
437
+ ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
438
+ VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
439
+ mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
440
+ IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
441
+ mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
442
+ XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
443
+ dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
444
+ jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
445
+ BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
446
+ DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
447
+ 9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
448
+ jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
449
+ Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
450
+ ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
451
+ R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
452
+ -----END CERTIFICATE-----
453
+
454
+ # Issuer: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.
455
+ # Subject: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.
456
+ # Label: "Equifax Secure Global eBusiness CA"
457
+ # Serial: 1
458
+ # MD5 Fingerprint: 8f:5d:77:06:27:c4:98:3c:5b:93:78:e7:d7:7d:9b:cc
459
+ # SHA1 Fingerprint: 7e:78:4a:10:1c:82:65:cc:2d:e1:f1:6d:47:b4:40:ca:d9:0a:19:45
460
+ # SHA256 Fingerprint: 5f:0b:62:ea:b5:e3:53:ea:65:21:65:16:58:fb:b6:53:59:f4:43:28:0a:4a:fb:d1:04:d7:7d:10:f9:f0:4c:07
461
+ -----BEGIN CERTIFICATE-----
462
+ MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc
463
+ MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT
464
+ ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw
465
+ MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj
466
+ dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l
467
+ c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC
468
+ UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc
469
+ 58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/
470
+ o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH
471
+ MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr
472
+ aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA
473
+ A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA
474
+ Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv
475
+ 8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
476
+ -----END CERTIFICATE-----
477
+
478
+ # Issuer: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.
479
+ # Subject: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.
480
+ # Label: "Equifax Secure eBusiness CA 1"
481
+ # Serial: 4
482
+ # MD5 Fingerprint: 64:9c:ef:2e:44:fc:c6:8f:52:07:d0:51:73:8f:cb:3d
483
+ # SHA1 Fingerprint: da:40:18:8b:91:89:a3:ed:ee:ae:da:97:fe:2f:9d:f5:b7:d1:8a:41
484
+ # SHA256 Fingerprint: cf:56:ff:46:a4:a1:86:10:9d:d9:65:84:b5:ee:b5:8a:51:0c:42:75:b0:e5:f9:4f:40:bb:ae:86:5e:19:f6:73
485
+ -----BEGIN CERTIFICATE-----
486
+ MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc
487
+ MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT
488
+ ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw
489
+ MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j
490
+ LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ
491
+ KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo
492
+ RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu
493
+ WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw
494
+ Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD
495
+ AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK
496
+ eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM
497
+ zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+
498
+ WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN
499
+ /Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ==
500
+ -----END CERTIFICATE-----
501
+
502
+ # Issuer: O=Equifax Secure OU=Equifax Secure eBusiness CA-2
503
+ # Subject: O=Equifax Secure OU=Equifax Secure eBusiness CA-2
504
+ # Label: "Equifax Secure eBusiness CA 2"
505
+ # Serial: 930140085
506
+ # MD5 Fingerprint: aa:bf:bf:64:97:da:98:1d:6f:c6:08:3a:95:70:33:ca
507
+ # SHA1 Fingerprint: 39:4f:f6:85:0b:06:be:52:e5:18:56:cc:10:e1:80:e8:82:b3:85:cc
508
+ # SHA256 Fingerprint: 2f:27:4e:48:ab:a4:ac:7b:76:59:33:10:17:75:50:6d:c3:0e:e3:8e:f6:ac:d5:c0:49:32:cf:e0:41:23:42:20
509
+ -----BEGIN CERTIFICATE-----
510
+ MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
511
+ UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj
512
+ dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0
513
+ NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD
514
+ VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B
515
+ AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G
516
+ vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/
517
+ BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C
518
+ AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX
519
+ MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl
520
+ IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw
521
+ NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq
522
+ y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF
523
+ MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
524
+ A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy
525
+ 0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1
526
+ E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN
527
+ -----END CERTIFICATE-----
528
+
529
+ # Issuer: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
530
+ # Subject: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
531
+ # Label: "AddTrust Low-Value Services Root"
532
+ # Serial: 1
533
+ # MD5 Fingerprint: 1e:42:95:02:33:92:6b:b9:5f:c0:7f:da:d6:b2:4b:fc
534
+ # SHA1 Fingerprint: cc:ab:0e:a0:4c:23:01:d6:69:7b:dd:37:9f:cd:12:eb:24:e3:94:9d
535
+ # SHA256 Fingerprint: 8c:72:09:27:9a:c0:4e:27:5e:16:d0:7f:d3:b7:75:e8:01:54:b5:96:80:46:e3:1f:52:dd:25:76:63:24:e9:a7
536
+ -----BEGIN CERTIFICATE-----
537
+ MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
538
+ MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
539
+ b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
540
+ MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
541
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
542
+ VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
543
+ A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
544
+ CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
545
+ tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
546
+ dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
547
+ PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
548
+ +Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
549
+ BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
550
+ BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
551
+ MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
552
+ ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
553
+ IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
554
+ 7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
555
+ 43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
556
+ eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
557
+ pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
558
+ WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
559
+ -----END CERTIFICATE-----
560
+
561
+ # Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
562
+ # Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
563
+ # Label: "AddTrust External Root"
564
+ # Serial: 1
565
+ # MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f
566
+ # SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68
567
+ # SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2
568
+ -----BEGIN CERTIFICATE-----
569
+ MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
570
+ MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
571
+ IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
572
+ MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
573
+ FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
574
+ bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
575
+ dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
576
+ H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
577
+ uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
578
+ mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
579
+ a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
580
+ E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
581
+ WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
582
+ VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
583
+ Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
584
+ cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
585
+ IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
586
+ AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
587
+ YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
588
+ 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
589
+ Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
590
+ c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
591
+ mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
592
+ -----END CERTIFICATE-----
593
+
594
+ # Issuer: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
595
+ # Subject: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
596
+ # Label: "AddTrust Public Services Root"
597
+ # Serial: 1
598
+ # MD5 Fingerprint: c1:62:3e:23:c5:82:73:9c:03:59:4b:2b:e9:77:49:7f
599
+ # SHA1 Fingerprint: 2a:b6:28:48:5e:78:fb:f3:ad:9e:79:10:dd:6b:df:99:72:2c:96:e5
600
+ # SHA256 Fingerprint: 07:91:ca:07:49:b2:07:82:aa:d3:c7:d7:bd:0c:df:c9:48:58:35:84:3e:b2:d7:99:60:09:ce:43:ab:6c:69:27
601
+ -----BEGIN CERTIFICATE-----
602
+ MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU
603
+ MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
604
+ b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx
605
+ MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB
606
+ ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV
607
+ BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC
608
+ AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV
609
+ 6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX
610
+ GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP
611
+ dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH
612
+ 1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF
613
+ 62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW
614
+ BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw
615
+ AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL
616
+ MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU
617
+ cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv
618
+ b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6
619
+ IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/
620
+ iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
621
+ GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh
622
+ 4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm
623
+ XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
624
+ -----END CERTIFICATE-----
625
+
626
+ # Issuer: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
627
+ # Subject: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
628
+ # Label: "AddTrust Qualified Certificates Root"
629
+ # Serial: 1
630
+ # MD5 Fingerprint: 27:ec:39:47:cd:da:5a:af:e2:9a:01:65:21:a9:4c:bb
631
+ # SHA1 Fingerprint: 4d:23:78:ec:91:95:39:b5:00:7f:75:8f:03:3b:21:1e:c5:4d:8b:cf
632
+ # SHA256 Fingerprint: 80:95:21:08:05:db:4b:bc:35:5e:44:28:d8:fd:6e:c2:cd:e3:ab:5f:b9:7a:99:42:98:8e:b8:f4:dc:d0:60:16
633
+ -----BEGIN CERTIFICATE-----
634
+ MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU
635
+ MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
636
+ b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1
637
+ MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK
638
+ EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh
639
+ BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B
640
+ AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq
641
+ xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G
642
+ 87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i
643
+ 2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U
644
+ WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1
645
+ 0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G
646
+ A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T
647
+ AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr
648
+ pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL
649
+ ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm
650
+ aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv
651
+ hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm
652
+ hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
653
+ dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3
654
+ P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y
655
+ iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no
656
+ xqE=
657
+ -----END CERTIFICATE-----
658
+
659
+ # Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
660
+ # Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
661
+ # Label: "Entrust Root Certification Authority"
662
+ # Serial: 1164660820
663
+ # MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4
664
+ # SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9
665
+ # SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c
666
+ -----BEGIN CERTIFICATE-----
667
+ MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
668
+ VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
669
+ Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
670
+ KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
671
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
672
+ NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
673
+ NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
674
+ ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
675
+ BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
676
+ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
677
+ Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
678
+ 4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
679
+ KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
680
+ rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
681
+ 94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
682
+ sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
683
+ gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
684
+ kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
685
+ vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
686
+ A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
687
+ O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
688
+ AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
689
+ 9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
690
+ eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
691
+ 0vdXcDazv/wor3ElhVsT/h5/WrQ8
692
+ -----END CERTIFICATE-----
693
+
694
+ # Issuer: CN=GeoTrust Global CA O=GeoTrust Inc.
695
+ # Subject: CN=GeoTrust Global CA O=GeoTrust Inc.
696
+ # Label: "GeoTrust Global CA"
697
+ # Serial: 144470
698
+ # MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5
699
+ # SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12
700
+ # SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a
701
+ -----BEGIN CERTIFICATE-----
702
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
703
+ MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
704
+ YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
705
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
706
+ R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
707
+ 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
708
+ fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
709
+ iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
710
+ 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
711
+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
712
+ MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
713
+ ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
714
+ uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
715
+ Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
716
+ tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
717
+ PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
718
+ hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
719
+ 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
720
+ -----END CERTIFICATE-----
721
+
722
+ # Issuer: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
723
+ # Subject: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
724
+ # Label: "GeoTrust Global CA 2"
725
+ # Serial: 1
726
+ # MD5 Fingerprint: 0e:40:a7:6c:de:03:5d:8f:d1:0f:e4:d1:8d:f9:6c:a9
727
+ # SHA1 Fingerprint: a9:e9:78:08:14:37:58:88:f2:05:19:b0:6d:2b:0d:2b:60:16:90:7d
728
+ # SHA256 Fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85
729
+ -----BEGIN CERTIFICATE-----
730
+ MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW
731
+ MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs
732
+ IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG
733
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
734
+ R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A
735
+ PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8
736
+ Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL
737
+ TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL
738
+ 5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7
739
+ S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe
740
+ 2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
741
+ FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap
742
+ EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td
743
+ EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv
744
+ /NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN
745
+ A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0
746
+ abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF
747
+ I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz
748
+ 4iIprn2DQKi6bA==
749
+ -----END CERTIFICATE-----
750
+
751
+ # Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc.
752
+ # Subject: CN=GeoTrust Universal CA O=GeoTrust Inc.
753
+ # Label: "GeoTrust Universal CA"
754
+ # Serial: 1
755
+ # MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48
756
+ # SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79
757
+ # SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12
758
+ -----BEGIN CERTIFICATE-----
759
+ MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW
760
+ MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy
761
+ c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE
762
+ BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0
763
+ IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV
764
+ VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8
765
+ cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT
766
+ QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh
767
+ F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v
768
+ c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w
769
+ mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd
770
+ VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX
771
+ teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ
772
+ f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe
773
+ Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+
774
+ nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB
775
+ /wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY
776
+ MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG
777
+ 9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
778
+ aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX
779
+ IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn
780
+ ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z
781
+ uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN
782
+ Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja
783
+ QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW
784
+ koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9
785
+ ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt
786
+ DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm
787
+ bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=
788
+ -----END CERTIFICATE-----
789
+
790
+ # Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
791
+ # Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
792
+ # Label: "GeoTrust Universal CA 2"
793
+ # Serial: 1
794
+ # MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7
795
+ # SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79
796
+ # SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b
797
+ -----BEGIN CERTIFICATE-----
798
+ MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
799
+ MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
800
+ c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
801
+ VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
802
+ c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
803
+ AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
804
+ WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
805
+ FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
806
+ XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
807
+ se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
808
+ KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
809
+ IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
810
+ y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
811
+ hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
812
+ QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
813
+ Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
814
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
815
+ HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
816
+ KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
817
+ dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
818
+ L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
819
+ Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
820
+ ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
821
+ T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
822
+ GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
823
+ 1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
824
+ OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
825
+ 6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
826
+ QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
827
+ -----END CERTIFICATE-----
828
+
829
+ # Issuer: CN=America Online Root Certification Authority 1 O=America Online Inc.
830
+ # Subject: CN=America Online Root Certification Authority 1 O=America Online Inc.
831
+ # Label: "America Online Root Certification Authority 1"
832
+ # Serial: 1
833
+ # MD5 Fingerprint: 14:f1:08:ad:9d:fa:64:e2:89:e7:1c:cf:a8:ad:7d:5e
834
+ # SHA1 Fingerprint: 39:21:c1:15:c1:5d:0e:ca:5c:cb:5b:c4:f0:7d:21:d8:05:0b:56:6a
835
+ # SHA256 Fingerprint: 77:40:73:12:c6:3a:15:3d:5b:c0:0b:4e:51:75:9c:df:da:c2:37:dc:2a:33:b6:79:46:e9:8e:9b:fa:68:0a:e3
836
+ -----BEGIN CERTIFICATE-----
837
+ MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
838
+ MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
839
+ bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2
840
+ MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
841
+ ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
842
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
843
+ ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk
844
+ hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym
845
+ 1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW
846
+ OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb
847
+ 2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko
848
+ O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
849
+ AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU
850
+ AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
851
+ BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF
852
+ Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb
853
+ LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir
854
+ oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C
855
+ MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
856
+ sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
857
+ -----END CERTIFICATE-----
858
+
859
+ # Issuer: CN=America Online Root Certification Authority 2 O=America Online Inc.
860
+ # Subject: CN=America Online Root Certification Authority 2 O=America Online Inc.
861
+ # Label: "America Online Root Certification Authority 2"
862
+ # Serial: 1
863
+ # MD5 Fingerprint: d6:ed:3c:ca:e2:66:0f:af:10:43:0d:77:9b:04:09:bf
864
+ # SHA1 Fingerprint: 85:b5:ff:67:9b:0c:79:96:1f:c8:6e:44:22:00:46:13:db:17:92:84
865
+ # SHA256 Fingerprint: 7d:3b:46:5a:60:14:e5:26:c0:af:fc:ee:21:27:d2:31:17:27:ad:81:1c:26:84:2d:00:6a:f3:73:06:cc:80:bd
866
+ -----BEGIN CERTIFICATE-----
867
+ MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
868
+ MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
869
+ bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2
870
+ MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
871
+ ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
872
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
873
+ ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC
874
+ 206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci
875
+ KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2
876
+ JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9
877
+ BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e
878
+ Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B
879
+ PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67
880
+ Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq
881
+ Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ
882
+ o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3
883
+ +L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj
884
+ YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj
885
+ FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
886
+ AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn
887
+ xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2
888
+ LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc
889
+ obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8
890
+ CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe
891
+ IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA
892
+ DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F
893
+ AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX
894
+ Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb
895
+ AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl
896
+ Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw
897
+ RY8mkaKO/qk=
898
+ -----END CERTIFICATE-----
899
+
900
+ # Issuer: CN=AAA Certificate Services O=Comodo CA Limited
901
+ # Subject: CN=AAA Certificate Services O=Comodo CA Limited
902
+ # Label: "Comodo AAA Services root"
903
+ # Serial: 1
904
+ # MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0
905
+ # SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49
906
+ # SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4
907
+ -----BEGIN CERTIFICATE-----
908
+ MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
909
+ MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
910
+ GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
911
+ YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
912
+ MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
913
+ BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
914
+ GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
915
+ ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
916
+ BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
917
+ 3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
918
+ YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
919
+ rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
920
+ ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
921
+ oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
922
+ MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
923
+ QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
924
+ b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
925
+ AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
926
+ GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
927
+ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
928
+ G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
929
+ l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
930
+ smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
931
+ -----END CERTIFICATE-----
932
+
933
+ # Issuer: CN=Secure Certificate Services O=Comodo CA Limited
934
+ # Subject: CN=Secure Certificate Services O=Comodo CA Limited
935
+ # Label: "Comodo Secure Services root"
936
+ # Serial: 1
937
+ # MD5 Fingerprint: d3:d9:bd:ae:9f:ac:67:24:b3:c8:1b:52:e1:b9:a9:bd
938
+ # SHA1 Fingerprint: 4a:65:d5:f4:1d:ef:39:b8:b8:90:4a:4a:d3:64:81:33:cf:c7:a1:d1
939
+ # SHA256 Fingerprint: bd:81:ce:3b:4f:65:91:d1:1a:67:b5:fc:7a:47:fd:ef:25:52:1b:f9:aa:4e:18:b9:e3:df:2e:34:a7:80:3b:e8
940
+ -----BEGIN CERTIFICATE-----
941
+ MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb
942
+ MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
943
+ GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp
944
+ ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow
945
+ fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
946
+ A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV
947
+ BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB
948
+ BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM
949
+ cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S
950
+ HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996
951
+ CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk
952
+ 3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz
953
+ 6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV
954
+ HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
955
+ EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv
956
+ Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw
957
+ Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww
958
+ DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0
959
+ 5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
960
+ Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI
961
+ gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ
962
+ aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl
963
+ izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
964
+ -----END CERTIFICATE-----
965
+
966
+ # Issuer: CN=Trusted Certificate Services O=Comodo CA Limited
967
+ # Subject: CN=Trusted Certificate Services O=Comodo CA Limited
968
+ # Label: "Comodo Trusted Services root"
969
+ # Serial: 1
970
+ # MD5 Fingerprint: 91:1b:3f:6e:cd:9e:ab:ee:07:fe:1f:71:d2:b3:61:27
971
+ # SHA1 Fingerprint: e1:9f:e3:0e:8b:84:60:9e:80:9b:17:0d:72:a8:c5:ba:6e:14:09:bd
972
+ # SHA256 Fingerprint: 3f:06:e5:56:81:d4:96:f5:be:16:9e:b5:38:9f:9f:2b:8f:f6:1e:17:08:df:68:81:72:48:49:cd:5d:27:cb:69
973
+ -----BEGIN CERTIFICATE-----
974
+ MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb
975
+ MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
976
+ GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0
977
+ aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla
978
+ MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
979
+ BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD
980
+ VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B
981
+ AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW
982
+ fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt
983
+ TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL
984
+ fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW
985
+ 1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7
986
+ kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G
987
+ A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD
988
+ VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v
989
+ ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo
990
+ dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu
991
+ Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/
992
+ HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
993
+ pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS
994
+ jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+
995
+ xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn
996
+ dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
997
+ -----END CERTIFICATE-----
998
+
999
+ # Issuer: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
1000
+ # Subject: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
1001
+ # Label: "UTN DATACorp SGC Root CA"
1002
+ # Serial: 91374294542884689855167577680241077609
1003
+ # MD5 Fingerprint: b3:a5:3e:77:21:6d:ac:4a:c0:c9:fb:d5:41:3d:ca:06
1004
+ # SHA1 Fingerprint: 58:11:9f:0e:12:82:87:ea:50:fd:d9:87:45:6f:4f:78:dc:fa:d6:d4
1005
+ # SHA256 Fingerprint: 85:fb:2f:91:dd:12:27:5a:01:45:b6:36:53:4f:84:02:4a:d6:8b:69:b8:ee:88:68:4f:f7:11:37:58:05:b3:48
1006
+ -----BEGIN CERTIFICATE-----
1007
+ MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
1008
+ kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
1009
+ Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
1010
+ dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
1011
+ IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
1012
+ EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
1013
+ VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
1014
+ dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
1015
+ BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
1016
+ E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
1017
+ D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
1018
+ 4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
1019
+ lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
1020
+ bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
1021
+ o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
1022
+ MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
1023
+ LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
1024
+ BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
1025
+ AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
1026
+ Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
1027
+ j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
1028
+ KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
1029
+ 2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
1030
+ mfnGV/TJVTl4uix5yaaIK/QI
1031
+ -----END CERTIFICATE-----
1032
+
1033
+ # Issuer: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
1034
+ # Subject: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
1035
+ # Label: "UTN USERFirst Hardware Root CA"
1036
+ # Serial: 91374294542884704022267039221184531197
1037
+ # MD5 Fingerprint: 4c:56:41:e5:0d:bb:2b:e8:ca:a3:ed:18:08:ad:43:39
1038
+ # SHA1 Fingerprint: 04:83:ed:33:99:ac:36:08:05:87:22:ed:bc:5e:46:00:e3:be:f9:d7
1039
+ # SHA256 Fingerprint: 6e:a5:47:41:d0:04:66:7e:ed:1b:48:16:63:4a:a3:a7:9e:6e:4b:96:95:0f:82:79:da:fc:8d:9b:d8:81:21:37
1040
+ -----BEGIN CERTIFICATE-----
1041
+ MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
1042
+ lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
1043
+ Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
1044
+ dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
1045
+ SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
1046
+ A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
1047
+ MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
1048
+ d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
1049
+ cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
1050
+ 0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
1051
+ M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
1052
+ MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
1053
+ oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
1054
+ DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
1055
+ oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
1056
+ VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
1057
+ dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
1058
+ bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
1059
+ BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
1060
+ //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
1061
+ CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
1062
+ CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
1063
+ 3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
1064
+ KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
1065
+ -----END CERTIFICATE-----
1066
+
1067
+ # Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
1068
+ # Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
1069
+ # Label: "XRamp Global CA Root"
1070
+ # Serial: 107108908803651509692980124233745014957
1071
+ # MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1
1072
+ # SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6
1073
+ # SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2
1074
+ -----BEGIN CERTIFICATE-----
1075
+ MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
1076
+ gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
1077
+ MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
1078
+ UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
1079
+ NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
1080
+ dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
1081
+ dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
1082
+ dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
1083
+ 38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
1084
+ KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
1085
+ DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
1086
+ qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
1087
+ JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
1088
+ PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
1089
+ BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
1090
+ jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
1091
+ eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
1092
+ ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
1093
+ vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
1094
+ qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
1095
+ IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
1096
+ i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
1097
+ O+7ETPTsJ3xCwnR8gooJybQDJbw=
1098
+ -----END CERTIFICATE-----
1099
+
1100
+ # Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
1101
+ # Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
1102
+ # Label: "Go Daddy Class 2 CA"
1103
+ # Serial: 0
1104
+ # MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67
1105
+ # SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4
1106
+ # SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4
1107
+ -----BEGIN CERTIFICATE-----
1108
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
1109
+ MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
1110
+ YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
1111
+ MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
1112
+ ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
1113
+ MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
1114
+ ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
1115
+ PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
1116
+ wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
1117
+ EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
1118
+ avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
1119
+ YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
1120
+ sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
1121
+ /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
1122
+ IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
1123
+ YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
1124
+ ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
1125
+ OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
1126
+ TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
1127
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
1128
+ dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
1129
+ ReYNnyicsbkqWletNw+vHX/bvZ8=
1130
+ -----END CERTIFICATE-----
1131
+
1132
+ # Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
1133
+ # Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
1134
+ # Label: "Starfield Class 2 CA"
1135
+ # Serial: 0
1136
+ # MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24
1137
+ # SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a
1138
+ # SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58
1139
+ -----BEGIN CERTIFICATE-----
1140
+ MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
1141
+ MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
1142
+ U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
1143
+ NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
1144
+ ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
1145
+ ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
1146
+ DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
1147
+ 8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
1148
+ +lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
1149
+ X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
1150
+ K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
1151
+ 1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
1152
+ A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
1153
+ zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
1154
+ YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
1155
+ bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
1156
+ DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
1157
+ L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
1158
+ eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
1159
+ xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
1160
+ VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
1161
+ WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
1162
+ -----END CERTIFICATE-----
1163
+
1164
+ # Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
1165
+ # Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
1166
+ # Label: "StartCom Certification Authority"
1167
+ # Serial: 1
1168
+ # MD5 Fingerprint: 22:4d:8f:8a:fc:f7:35:c2:bb:57:34:90:7b:8b:22:16
1169
+ # SHA1 Fingerprint: 3e:2b:f7:f2:03:1b:96:f3:8c:e6:c4:d8:a8:5d:3e:2d:58:47:6a:0f
1170
+ # SHA256 Fingerprint: c7:66:a9:be:f2:d4:07:1c:86:3a:31:aa:49:20:e8:13:b2:d1:98:60:8c:b7:b7:cf:e2:11:43:b8:36:df:09:ea
1171
+ -----BEGIN CERTIFICATE-----
1172
+ MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
1173
+ MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
1174
+ Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
1175
+ dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9
1176
+ MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
1177
+ U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
1178
+ cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
1179
+ A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
1180
+ pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
1181
+ OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
1182
+ Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
1183
+ Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
1184
+ HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
1185
+ Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
1186
+ +2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
1187
+ Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
1188
+ Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
1189
+ 26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
1190
+ AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
1191
+ FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j
1192
+ ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js
1193
+ LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM
1194
+ BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0
1195
+ Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy
1196
+ dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh
1197
+ cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh
1198
+ YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
1199
+ dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
1200
+ bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ
1201
+ YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT
1202
+ TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ
1203
+ 9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8
1204
+ jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW
1205
+ FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz
1206
+ ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1
1207
+ ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L
1208
+ EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu
1209
+ L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
1210
+ yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC
1211
+ O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
1212
+ um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
1213
+ NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
1214
+ -----END CERTIFICATE-----
1215
+
1216
+ # Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
1217
+ # Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
1218
+ # Label: "DigiCert Assured ID Root CA"
1219
+ # Serial: 17154717934120587862167794914071425081
1220
+ # MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72
1221
+ # SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43
1222
+ # SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c
1223
+ -----BEGIN CERTIFICATE-----
1224
+ MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
1225
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
1226
+ d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
1227
+ b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
1228
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
1229
+ cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
1230
+ MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
1231
+ JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
1232
+ mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
1233
+ wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
1234
+ VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
1235
+ AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
1236
+ AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
1237
+ BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
1238
+ pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
1239
+ dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
1240
+ fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
1241
+ NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
1242
+ H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
1243
+ +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
1244
+ -----END CERTIFICATE-----
1245
+
1246
+ # Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
1247
+ # Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
1248
+ # Label: "DigiCert Global Root CA"
1249
+ # Serial: 10944719598952040374951832963794454346
1250
+ # MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e
1251
+ # SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36
1252
+ # SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61
1253
+ -----BEGIN CERTIFICATE-----
1254
+ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
1255
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
1256
+ d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
1257
+ QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
1258
+ MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
1259
+ b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
1260
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
1261
+ CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
1262
+ nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
1263
+ 43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
1264
+ T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
1265
+ gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
1266
+ BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
1267
+ TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
1268
+ DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
1269
+ hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
1270
+ 06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
1271
+ PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
1272
+ YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
1273
+ CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
1274
+ -----END CERTIFICATE-----
1275
+
1276
+ # Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
1277
+ # Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
1278
+ # Label: "DigiCert High Assurance EV Root CA"
1279
+ # Serial: 3553400076410547919724730734378100087
1280
+ # MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a
1281
+ # SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25
1282
+ # SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf
1283
+ -----BEGIN CERTIFICATE-----
1284
+ MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
1285
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
1286
+ d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
1287
+ ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
1288
+ MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
1289
+ LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
1290
+ RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
1291
+ +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
1292
+ PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
1293
+ xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
1294
+ Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
1295
+ hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
1296
+ EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
1297
+ MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
1298
+ FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
1299
+ nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
1300
+ eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
1301
+ hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
1302
+ Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
1303
+ vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
1304
+ +OkuE6N36B9K
1305
+ -----END CERTIFICATE-----
1306
+
1307
+ # Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
1308
+ # Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
1309
+ # Label: "GeoTrust Primary Certification Authority"
1310
+ # Serial: 32798226551256963324313806436981982369
1311
+ # MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf
1312
+ # SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96
1313
+ # SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c
1314
+ -----BEGIN CERTIFICATE-----
1315
+ MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
1316
+ MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
1317
+ R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
1318
+ MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
1319
+ Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
1320
+ ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1321
+ AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
1322
+ AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
1323
+ ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
1324
+ 7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
1325
+ kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
1326
+ mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
1327
+ A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
1328
+ KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
1329
+ 6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
1330
+ 4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
1331
+ oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
1332
+ UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
1333
+ AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
1334
+ -----END CERTIFICATE-----
1335
+
1336
+ # Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
1337
+ # Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
1338
+ # Label: "thawte Primary Root CA"
1339
+ # Serial: 69529181992039203566298953787712940909
1340
+ # MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12
1341
+ # SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81
1342
+ # SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f
1343
+ -----BEGIN CERTIFICATE-----
1344
+ MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
1345
+ qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
1346
+ Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
1347
+ MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
1348
+ BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
1349
+ NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
1350
+ LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
1351
+ A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
1352
+ IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
1353
+ SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
1354
+ W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
1355
+ 3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
1356
+ 6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
1357
+ Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
1358
+ NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
1359
+ MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
1360
+ r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
1361
+ DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
1362
+ YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
1363
+ xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
1364
+ /qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
1365
+ LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
1366
+ jVaMaA==
1367
+ -----END CERTIFICATE-----
1368
+
1369
+ # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
1370
+ # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
1371
+ # Label: "VeriSign Class 3 Public Primary Certification Authority - G5"
1372
+ # Serial: 33037644167568058970164719475676101450
1373
+ # MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c
1374
+ # SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5
1375
+ # SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df
1376
+ -----BEGIN CERTIFICATE-----
1377
+ MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
1378
+ yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
1379
+ ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
1380
+ U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
1381
+ ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
1382
+ aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL
1383
+ MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
1384
+ ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln
1385
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
1386
+ U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
1387
+ aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1
1388
+ nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex
1389
+ t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz
1390
+ SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG
1391
+ BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+
1392
+ rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/
1393
+ NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
1394
+ BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
1395
+ BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
1396
+ aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv
1397
+ MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE
1398
+ p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y
1399
+ 5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK
1400
+ WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ
1401
+ 4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N
1402
+ hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
1403
+ -----END CERTIFICATE-----
1404
+
1405
+ # Issuer: CN=COMODO Certification Authority O=COMODO CA Limited
1406
+ # Subject: CN=COMODO Certification Authority O=COMODO CA Limited
1407
+ # Label: "COMODO Certification Authority"
1408
+ # Serial: 104350513648249232941998508985834464573
1409
+ # MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75
1410
+ # SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b
1411
+ # SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66
1412
+ -----BEGIN CERTIFICATE-----
1413
+ MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB
1414
+ gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
1415
+ A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
1416
+ BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
1417
+ MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
1418
+ YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
1419
+ RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0
1420
+ aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3
1421
+ UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI
1422
+ 2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8
1423
+ Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp
1424
+ +2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+
1425
+ DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O
1426
+ nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW
1427
+ /zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g
1428
+ PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u
1429
+ QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY
1430
+ SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv
1431
+ IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
1432
+ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
1433
+ zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd
1434
+ BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB
1435
+ ZQ==
1436
+ -----END CERTIFICATE-----
1437
+
1438
+ # Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
1439
+ # Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
1440
+ # Label: "Network Solutions Certificate Authority"
1441
+ # Serial: 116697915152937497490437556386812487904
1442
+ # MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e
1443
+ # SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce
1444
+ # SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c
1445
+ -----BEGIN CERTIFICATE-----
1446
+ MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi
1447
+ MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
1448
+ MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp
1449
+ dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV
1450
+ UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO
1451
+ ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
1452
+ SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz
1453
+ c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP
1454
+ OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl
1455
+ mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF
1456
+ BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4
1457
+ qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw
1458
+ gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB
1459
+ BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu
1460
+ bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp
1461
+ dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8
1462
+ 6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/
1463
+ h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH
1464
+ /nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
1465
+ wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN
1466
+ pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
1467
+ -----END CERTIFICATE-----
1468
+
1469
+ # Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited
1470
+ # Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited
1471
+ # Label: "COMODO ECC Certification Authority"
1472
+ # Serial: 41578283867086692638256921589707938090
1473
+ # MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23
1474
+ # SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11
1475
+ # SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7
1476
+ -----BEGIN CERTIFICATE-----
1477
+ MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
1478
+ MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
1479
+ BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
1480
+ IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
1481
+ MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
1482
+ ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
1483
+ T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
1484
+ biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
1485
+ FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
1486
+ cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
1487
+ BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
1488
+ BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
1489
+ fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
1490
+ GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
1491
+ -----END CERTIFICATE-----
1492
+
1493
+ # Issuer: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA
1494
+ # Subject: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA
1495
+ # Label: "TC TrustCenter Class 2 CA II"
1496
+ # Serial: 941389028203453866782103406992443
1497
+ # MD5 Fingerprint: ce:78:33:5c:59:78:01:6e:18:ea:b9:36:a0:b9:2e:23
1498
+ # SHA1 Fingerprint: ae:50:83:ed:7c:f4:5c:bc:8f:61:c6:21:fe:68:5d:79:42:21:15:6e
1499
+ # SHA256 Fingerprint: e6:b8:f8:76:64:85:f8:07:ae:7f:8d:ac:16:70:46:1f:07:c0:a1:3e:ef:3a:1f:f7:17:53:8d:7a:ba:d3:91:b4
1500
+ -----BEGIN CERTIFICATE-----
1501
+ MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjEL
1502
+ MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNV
1503
+ BAsTGVRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0
1504
+ Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYwMTEyMTQzODQzWhcNMjUxMjMxMjI1
1505
+ OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i
1506
+ SDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UEAxMc
1507
+ VEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQAD
1508
+ ggEPADCCAQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jf
1509
+ tMjWQ+nEdVl//OEd+DFwIxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKg
1510
+ uNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2J
1511
+ XjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQXa7pIXSSTYtZgo+U4+lK
1512
+ 8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7uSNQZu+99
1513
+ 5OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1Ud
1514
+ EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3
1515
+ kUrL84J6E1wIqzCB7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRy
1516
+ dXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6
1517
+ Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUyMENsYXNz
1518
+ JTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290
1519
+ Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
1520
+ TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iS
1521
+ GNn3Bzn1LL4GdXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprt
1522
+ ZjluS5TmVfwLG4t3wVMTZonZKNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8
1523
+ au0WOB9/WIFaGusyiC2y8zl3gK9etmF1KdsjTYjKUCjLhdLTEKJZbtOTVAB6okaV
1524
+ hgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kPJOzHdiEoZa5X6AeI
1525
+ dUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfkvQ==
1526
+ -----END CERTIFICATE-----
1527
+
1528
+ # Issuer: CN=TC TrustCenter Class 3 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 3 CA
1529
+ # Subject: CN=TC TrustCenter Class 3 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 3 CA
1530
+ # Label: "TC TrustCenter Class 3 CA II"
1531
+ # Serial: 1506523511417715638772220530020799
1532
+ # MD5 Fingerprint: 56:5f:aa:80:61:12:17:f6:67:21:e6:2b:6d:61:56:8e
1533
+ # SHA1 Fingerprint: 80:25:ef:f4:6e:70:c8:d4:72:24:65:84:fe:40:3b:8a:8d:6a:db:f5
1534
+ # SHA256 Fingerprint: 8d:a0:84:fc:f9:9c:e0:77:22:f8:9b:32:05:93:98:06:fa:5c:b8:11:e1:c8:13:f6:a1:08:c7:d3:36:b3:40:8e
1535
+ -----BEGIN CERTIFICATE-----
1536
+ MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjEL
1537
+ MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNV
1538
+ BAsTGVRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0
1539
+ Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYwMTEyMTQ0MTU3WhcNMjUxMjMxMjI1
1540
+ OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i
1541
+ SDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UEAxMc
1542
+ VEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQAD
1543
+ ggEPADCCAQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJW
1544
+ Ht4bNwcwIi9v8Qbxq63WyKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+Q
1545
+ Vl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo6SI7dYnWRBpl8huXJh0obazovVkdKyT2
1546
+ 1oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZuV3bOx4a+9P/FRQI2Alq
1547
+ ukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk2ZyqBwi1
1548
+ Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1Ud
1549
+ EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NX
1550
+ XAek0CSnwPIA1DCB7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRy
1551
+ dXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6
1552
+ Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUyMENsYXNz
1553
+ JTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290
1554
+ Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
1555
+ TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlN
1556
+ irTzwppVMXzEO2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8
1557
+ TtXqluJucsG7Kv5sbviRmEb8yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6
1558
+ g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9IJqDnxrcOfHFcqMRA/07QlIp2+gB
1559
+ 95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal092Y+tTmBvTwtiBj
1560
+ S+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc5A==
1561
+ -----END CERTIFICATE-----
1562
+
1563
+ # Issuer: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
1564
+ # Subject: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
1565
+ # Label: "TC TrustCenter Universal CA I"
1566
+ # Serial: 601024842042189035295619584734726
1567
+ # MD5 Fingerprint: 45:e1:a5:72:c5:a9:36:64:40:9e:f5:e4:58:84:67:8c
1568
+ # SHA1 Fingerprint: 6b:2f:34:ad:89:58:be:62:fd:b0:6b:5c:ce:bb:9d:d9:4f:4e:39:f3
1569
+ # SHA256 Fingerprint: eb:f3:c0:2a:87:89:b1:fb:7d:51:19:95:d6:63:b7:29:06:d9:13:ce:0d:5e:10:56:8a:8a:77:e2:58:61:67:e7
1570
+ -----BEGIN CERTIFICATE-----
1571
+ MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTEL
1572
+ MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNV
1573
+ BAsTG1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1
1574
+ c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcNMDYwMzIyMTU1NDI4WhcNMjUxMjMx
1575
+ MjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIg
1576
+ R21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYwJAYD
1577
+ VQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcN
1578
+ AQEBBQADggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSR
1579
+ JJZ4Hgmgm5qVSkr1YnwCqMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3T
1580
+ fCZdzHd55yx4Oagmcw6iXSVphU9VDprvxrlE4Vc93x9UIuVvZaozhDrzznq+VZeu
1581
+ jRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtwag+1m7Z3W0hZneTvWq3z
1582
+ wZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9OgdwZu5GQ
1583
+ fezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYD
1584
+ VR0jBBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAO
1585
+ BgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0G
1586
+ CSqGSIb3DQEBBQUAA4IBAQAo0uCG1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X1
1587
+ 7caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/CyvwbZ71q+s2IhtNerNXxTPqYn
1588
+ 8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3ghUJGooWMNjs
1589
+ ydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
1590
+ ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/
1591
+ 2TYcuiUaUj0a7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
1592
+ -----END CERTIFICATE-----
1593
+
1594
+ # Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc
1595
+ # Subject: CN=Cybertrust Global Root O=Cybertrust, Inc
1596
+ # Label: "Cybertrust Global Root"
1597
+ # Serial: 4835703278459682877484360
1598
+ # MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1
1599
+ # SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6
1600
+ # SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3
1601
+ -----BEGIN CERTIFICATE-----
1602
+ MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG
1603
+ A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh
1604
+ bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE
1605
+ ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS
1606
+ b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5
1607
+ 7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS
1608
+ J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y
1609
+ HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP
1610
+ t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz
1611
+ FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY
1612
+ XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
1613
+ MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw
1614
+ hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js
1615
+ MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA
1616
+ A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj
1617
+ Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx
1618
+ XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o
1619
+ omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc
1620
+ A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
1621
+ WL1WMRJOEcgh4LMRkWXbtKaIOM5V
1622
+ -----END CERTIFICATE-----
1623
+
1624
+ # Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
1625
+ # Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
1626
+ # Label: "GeoTrust Primary Certification Authority - G3"
1627
+ # Serial: 28809105769928564313984085209975885599
1628
+ # MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05
1629
+ # SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd
1630
+ # SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4
1631
+ -----BEGIN CERTIFICATE-----
1632
+ MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
1633
+ mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
1634
+ MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
1635
+ eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
1636
+ cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
1637
+ BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
1638
+ MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
1639
+ BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
1640
+ LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
1641
+ +uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
1642
+ hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
1643
+ 5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
1644
+ JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
1645
+ DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
1646
+ huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
1647
+ HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
1648
+ AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
1649
+ zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
1650
+ kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
1651
+ AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
1652
+ SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
1653
+ spki4cErx5z481+oghLrGREt
1654
+ -----END CERTIFICATE-----
1655
+
1656
+ # Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
1657
+ # Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
1658
+ # Label: "thawte Primary Root CA - G2"
1659
+ # Serial: 71758320672825410020661621085256472406
1660
+ # MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f
1661
+ # SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12
1662
+ # SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57
1663
+ -----BEGIN CERTIFICATE-----
1664
+ MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
1665
+ MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
1666
+ IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
1667
+ BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
1668
+ MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
1669
+ d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
1670
+ YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
1671
+ dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
1672
+ BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
1673
+ papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
1674
+ BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
1675
+ DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
1676
+ KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
1677
+ XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
1678
+ -----END CERTIFICATE-----
1679
+
1680
+ # Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
1681
+ # Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
1682
+ # Label: "thawte Primary Root CA - G3"
1683
+ # Serial: 127614157056681299805556476275995414779
1684
+ # MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31
1685
+ # SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2
1686
+ # SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c
1687
+ -----BEGIN CERTIFICATE-----
1688
+ MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
1689
+ rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
1690
+ Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
1691
+ MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
1692
+ BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
1693
+ Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
1694
+ LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
1695
+ MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
1696
+ ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
1697
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
1698
+ gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
1699
+ YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
1700
+ b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
1701
+ 9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
1702
+ zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
1703
+ OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
1704
+ HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
1705
+ 2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
1706
+ oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
1707
+ t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
1708
+ KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
1709
+ m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
1710
+ MdRAGmI0Nj81Aa6sY6A=
1711
+ -----END CERTIFICATE-----
1712
+
1713
+ # Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
1714
+ # Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
1715
+ # Label: "GeoTrust Primary Certification Authority - G2"
1716
+ # Serial: 80682863203381065782177908751794619243
1717
+ # MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a
1718
+ # SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0
1719
+ # SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66
1720
+ -----BEGIN CERTIFICATE-----
1721
+ MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
1722
+ MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
1723
+ KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
1724
+ MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1725
+ eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
1726
+ BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
1727
+ NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
1728
+ BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
1729
+ MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
1730
+ So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
1731
+ tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
1732
+ BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
1733
+ CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
1734
+ qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
1735
+ rD6ogRLQy7rQkgu2npaqBA+K
1736
+ -----END CERTIFICATE-----
1737
+
1738
+ # Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
1739
+ # Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
1740
+ # Label: "VeriSign Universal Root Certification Authority"
1741
+ # Serial: 85209574734084581917763752644031726877
1742
+ # MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19
1743
+ # SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54
1744
+ # SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c
1745
+ -----BEGIN CERTIFICATE-----
1746
+ MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB
1747
+ vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
1748
+ ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp
1749
+ U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W
1750
+ ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
1751
+ Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX
1752
+ MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0
1753
+ IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y
1754
+ IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh
1755
+ bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
1756
+ AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF
1757
+ 9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH
1758
+ H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H
1759
+ LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN
1760
+ /BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT
1761
+ rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud
1762
+ EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw
1763
+ WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs
1764
+ exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
1765
+ DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4
1766
+ sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+
1767
+ seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz
1768
+ 4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+
1769
+ BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR
1770
+ lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3
1771
+ 7M2CYfE45k+XmCpajQ==
1772
+ -----END CERTIFICATE-----
1773
+
1774
+ # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
1775
+ # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
1776
+ # Label: "VeriSign Class 3 Public Primary Certification Authority - G4"
1777
+ # Serial: 63143484348153506665311985501458640051
1778
+ # MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41
1779
+ # SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a
1780
+ # SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79
1781
+ -----BEGIN CERTIFICATE-----
1782
+ MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL
1783
+ MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
1784
+ ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln
1785
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
1786
+ U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
1787
+ aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG
1788
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp
1789
+ U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg
1790
+ SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln
1791
+ biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
1792
+ IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm
1793
+ GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve
1794
+ fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw
1795
+ AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ
1796
+ aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj
1797
+ aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW
1798
+ kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC
1799
+ 4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga
1800
+ FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
1801
+ -----END CERTIFICATE-----
1802
+
1803
+ # Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
1804
+ # Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
1805
+ # Label: "Verisign Class 3 Public Primary Certification Authority"
1806
+ # Serial: 80507572722862485515306429940691309246
1807
+ # MD5 Fingerprint: ef:5a:f1:33:ef:f1:cd:bb:51:02:ee:12:14:4b:96:c4
1808
+ # SHA1 Fingerprint: a1:db:63:93:91:6f:17:e4:18:55:09:40:04:15:c7:02:40:b0:ae:6b
1809
+ # SHA256 Fingerprint: a4:b6:b3:99:6f:c2:f3:06:b3:fd:86:81:bd:63:41:3d:8c:50:09:cc:4f:a3:29:c2:cc:f0:e2:fa:1b:14:03:05
1810
+ -----BEGIN CERTIFICATE-----
1811
+ MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG
1812
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
1813
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
1814
+ MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
1815
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
1816
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
1817
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
1818
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
1819
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
1820
+ CSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i
1821
+ 2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ
1822
+ 2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ
1823
+ -----END CERTIFICATE-----
1824
+
1825
+ # Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
1826
+ # Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
1827
+ # Label: "GlobalSign Root CA - R3"
1828
+ # Serial: 4835703278459759426209954
1829
+ # MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28
1830
+ # SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad
1831
+ # SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b
1832
+ -----BEGIN CERTIFICATE-----
1833
+ MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
1834
+ A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
1835
+ Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
1836
+ MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
1837
+ A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
1838
+ hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
1839
+ RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
1840
+ gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
1841
+ KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
1842
+ QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
1843
+ XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
1844
+ DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
1845
+ LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
1846
+ RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
1847
+ jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
1848
+ 6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
1849
+ mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
1850
+ Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
1851
+ WD9f
1852
+ -----END CERTIFICATE-----
1853
+
1854
+ # Issuer: CN=TC TrustCenter Universal CA III O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
1855
+ # Subject: CN=TC TrustCenter Universal CA III O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
1856
+ # Label: "TC TrustCenter Universal CA III"
1857
+ # Serial: 2010889993983507346460533407902964
1858
+ # MD5 Fingerprint: 9f:dd:db:ab:ff:8e:ff:45:21:5f:f0:6c:9d:8f:fe:2b
1859
+ # SHA1 Fingerprint: 96:56:cd:7b:57:96:98:95:d0:e1:41:46:68:06:fb:b8:c6:11:06:87
1860
+ # SHA256 Fingerprint: 30:9b:4a:87:f6:ca:56:c9:31:69:aa:a9:9c:6d:98:88:54:d7:89:2b:d5:43:7e:2d:07:b2:9c:be:da:55:d3:5d
1861
+ -----BEGIN CERTIFICATE-----
1862
+ MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezEL
1863
+ MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNV
1864
+ BAsTG1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1
1865
+ c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAeFw0wOTA5MDkwODE1MjdaFw0yOTEy
1866
+ MzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNUQyBUcnVzdENlbnRl
1867
+ ciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0ExKDAm
1868
+ BgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqG
1869
+ SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF
1870
+ 5+cvAqBNLaT6hdqbJYUtQCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYv
1871
+ DIRlzg9uwliT6CwLOunBjvvya8o84pxOjuT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8v
1872
+ zArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+EutCHnNaYlAJ/Uqwa1D7KRT
1873
+ yGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1M4BDj5yj
1874
+ dipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBh
1875
+ MB8GA1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMB
1876
+ Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI
1877
+ 4jANBgkqhkiG9w0BAQUFAAOCAQEAg8ev6n9NCjw5sWi+e22JLumzCecYV42Fmhfz
1878
+ dkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+KGwWaODIl0YgoGhnYIg5IFHY
1879
+ aAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhKBgePxLcHsU0G
1880
+ DeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
1881
+ CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPH
1882
+ LQNjO9Po5KIqwoIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
1883
+ -----END CERTIFICATE-----
1884
+
1885
+ # Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
1886
+ # Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
1887
+ # Label: "Go Daddy Root Certificate Authority - G2"
1888
+ # Serial: 0
1889
+ # MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01
1890
+ # SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b
1891
+ # SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da
1892
+ -----BEGIN CERTIFICATE-----
1893
+ MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
1894
+ EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
1895
+ EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
1896
+ ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
1897
+ NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
1898
+ EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
1899
+ AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
1900
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
1901
+ E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
1902
+ /PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
1903
+ DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
1904
+ GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
1905
+ tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
1906
+ AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
1907
+ FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
1908
+ WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
1909
+ 9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
1910
+ gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
1911
+ 2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
1912
+ LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
1913
+ 4uJEvlz36hz1
1914
+ -----END CERTIFICATE-----
1915
+
1916
+ # Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
1917
+ # Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
1918
+ # Label: "Starfield Root Certificate Authority - G2"
1919
+ # Serial: 0
1920
+ # MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96
1921
+ # SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e
1922
+ # SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5
1923
+ -----BEGIN CERTIFICATE-----
1924
+ MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx
1925
+ EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
1926
+ HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs
1927
+ ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
1928
+ MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
1929
+ b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj
1930
+ aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp
1931
+ Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
1932
+ ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg
1933
+ nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1
1934
+ HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N
1935
+ Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN
1936
+ dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
1937
+ HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
1938
+ BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
1939
+ CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU
1940
+ sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3
1941
+ 4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg
1942
+ 8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
1943
+ pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1
1944
+ mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
1945
+ -----END CERTIFICATE-----
1946
+
1947
+ # Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
1948
+ # Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
1949
+ # Label: "Starfield Services Root Certificate Authority - G2"
1950
+ # Serial: 0
1951
+ # MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2
1952
+ # SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f
1953
+ # SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5
1954
+ -----BEGIN CERTIFICATE-----
1955
+ MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx
1956
+ EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
1957
+ HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs
1958
+ ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
1959
+ MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD
1960
+ VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy
1961
+ ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy
1962
+ dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
1963
+ hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p
1964
+ OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2
1965
+ 8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K
1966
+ Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe
1967
+ hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk
1968
+ 6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw
1969
+ DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q
1970
+ AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI
1971
+ bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB
1972
+ ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z
1973
+ qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
1974
+ iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn
1975
+ 0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN
1976
+ sSi6
1977
+ -----END CERTIFICATE-----
1978
+
1979
+ # Issuer: CN=AffirmTrust Commercial O=AffirmTrust
1980
+ # Subject: CN=AffirmTrust Commercial O=AffirmTrust
1981
+ # Label: "AffirmTrust Commercial"
1982
+ # Serial: 8608355977964138876
1983
+ # MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7
1984
+ # SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7
1985
+ # SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7
1986
+ -----BEGIN CERTIFICATE-----
1987
+ MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE
1988
+ BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
1989
+ dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL
1990
+ MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
1991
+ cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1992
+ AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP
1993
+ Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr
1994
+ ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL
1995
+ MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1
1996
+ yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr
1997
+ VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/
1998
+ nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
1999
+ KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG
2000
+ XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj
2001
+ vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt
2002
+ Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
2003
+ N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC
2004
+ nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
2005
+ -----END CERTIFICATE-----
2006
+
2007
+ # Issuer: CN=AffirmTrust Networking O=AffirmTrust
2008
+ # Subject: CN=AffirmTrust Networking O=AffirmTrust
2009
+ # Label: "AffirmTrust Networking"
2010
+ # Serial: 8957382827206547757
2011
+ # MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f
2012
+ # SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f
2013
+ # SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b
2014
+ -----BEGIN CERTIFICATE-----
2015
+ MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE
2016
+ BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
2017
+ dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL
2018
+ MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
2019
+ cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
2020
+ AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y
2021
+ YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua
2022
+ kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL
2023
+ QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp
2024
+ 6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG
2025
+ yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i
2026
+ QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
2027
+ KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO
2028
+ tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu
2029
+ QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ
2030
+ Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
2031
+ olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48
2032
+ x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
2033
+ -----END CERTIFICATE-----
2034
+
2035
+ # Issuer: CN=AffirmTrust Premium O=AffirmTrust
2036
+ # Subject: CN=AffirmTrust Premium O=AffirmTrust
2037
+ # Label: "AffirmTrust Premium"
2038
+ # Serial: 7893706540734352110
2039
+ # MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57
2040
+ # SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27
2041
+ # SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a
2042
+ -----BEGIN CERTIFICATE-----
2043
+ MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE
2044
+ BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz
2045
+ dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG
2046
+ A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U
2047
+ cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf
2048
+ qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ
2049
+ JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ
2050
+ +jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS
2051
+ s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5
2052
+ HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7
2053
+ 70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG
2054
+ V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S
2055
+ qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S
2056
+ 5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia
2057
+ C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX
2058
+ OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE
2059
+ FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
2060
+ BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2
2061
+ KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
2062
+ Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B
2063
+ 8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ
2064
+ MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc
2065
+ 0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ
2066
+ u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF
2067
+ u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH
2068
+ YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8
2069
+ GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO
2070
+ RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e
2071
+ KeC2uAloGRwYQw==
2072
+ -----END CERTIFICATE-----
2073
+
2074
+ # Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust
2075
+ # Subject: CN=AffirmTrust Premium ECC O=AffirmTrust
2076
+ # Label: "AffirmTrust Premium ECC"
2077
+ # Serial: 8401224907861490260
2078
+ # MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d
2079
+ # SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb
2080
+ # SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23
2081
+ -----BEGIN CERTIFICATE-----
2082
+ MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC
2083
+ VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ
2084
+ cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ
2085
+ BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt
2086
+ VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D
2087
+ 0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9
2088
+ ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G
2089
+ A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G
2090
+ A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs
2091
+ aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I
2092
+ flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==
2093
+ -----END CERTIFICATE-----
2094
+
2095
+ # Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
2096
+ # Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
2097
+ # Label: "StartCom Certification Authority"
2098
+ # Serial: 45
2099
+ # MD5 Fingerprint: c9:3b:0d:84:41:fc:a4:76:79:23:08:57:de:10:19:16
2100
+ # SHA1 Fingerprint: a3:f1:33:3f:e2:42:bf:cf:c5:d1:4e:8f:39:42:98:40:68:10:d1:a0
2101
+ # SHA256 Fingerprint: e1:78:90:ee:09:a3:fb:f4:f4:8b:9c:41:4a:17:d6:37:b7:a5:06:47:e9:bc:75:23:22:72:7f:cc:17:42:a9:11
2102
+ -----BEGIN CERTIFICATE-----
2103
+ MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEW
2104
+ MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
2105
+ Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
2106
+ dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM3WhcNMzYwOTE3MTk0NjM2WjB9
2107
+ MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
2108
+ U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
2109
+ cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
2110
+ A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
2111
+ pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
2112
+ OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
2113
+ Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
2114
+ Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
2115
+ HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
2116
+ Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
2117
+ +2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
2118
+ Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
2119
+ Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
2120
+ 26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
2121
+ AQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
2122
+ VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFul
2123
+ F2mHMMo0aEPQQa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCC
2124
+ ATgwLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5w
2125
+ ZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVk
2126
+ aWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENvbW1lcmNpYWwgKFN0
2127
+ YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0aGUg
2128
+ c2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0
2129
+ aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
2130
+ d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgG
2131
+ CWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1
2132
+ dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5fPGFf59Jb2vKXfuM/gTF
2133
+ wWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWmN3PH/UvS
2134
+ Ta0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst
2135
+ 0OcNOrg+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNc
2136
+ pRJvkrKTlMeIFw6Ttn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKl
2137
+ CcWw0bdT82AUuoVpaiF8H3VhFyAXe2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVF
2138
+ P0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA2MFrLH9ZXF2RsXAiV+uKa0hK
2139
+ 1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBsHvUwyKMQ5bLm
2140
+ KhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
2141
+ JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ
2142
+ 8dCAWZvLMdibD4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnm
2143
+ fyWl8kgAwKQB2j8=
2144
+ -----END CERTIFICATE-----
2145
+
2146
+ # Issuer: CN=StartCom Certification Authority G2 O=StartCom Ltd.
2147
+ # Subject: CN=StartCom Certification Authority G2 O=StartCom Ltd.
2148
+ # Label: "StartCom Certification Authority G2"
2149
+ # Serial: 59
2150
+ # MD5 Fingerprint: 78:4b:fb:9e:64:82:0a:d3:b8:4c:62:f3:64:f2:90:64
2151
+ # SHA1 Fingerprint: 31:f1:fd:68:22:63:20:ee:c6:3b:3f:9d:ea:4a:3e:53:7c:7c:39:17
2152
+ # SHA256 Fingerprint: c7:ba:65:67:de:93:a7:98:ae:1f:aa:79:1e:71:2d:37:8f:ae:1f:93:c4:39:7f:ea:44:1b:b7:cb:e6:fd:59:95
2153
+ -----BEGIN CERTIFICATE-----
2154
+ MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEW
2155
+ MBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlm
2156
+ aWNhdGlvbiBBdXRob3JpdHkgRzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1
2157
+ OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoG
2158
+ A1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRzIwggIiMA0G
2159
+ CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8Oo1XJ
2160
+ JZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsD
2161
+ vfOpL9HG4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnoo
2162
+ D/Uefyf3lLE3PbfHkffiAez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/
2163
+ Q0kGi4xDuFby2X8hQxfqp0iVAXV16iulQ5XqFYSdCI0mblWbq9zSOdIxHWDirMxW
2164
+ RST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbsO+wmETRIjfaAKxojAuuK
2165
+ HDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8HvKTlXcxN
2166
+ nw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM
2167
+ 0D4LnMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/i
2168
+ UUjXuG+v+E5+M5iSFGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9
2169
+ Ha90OrInwMEePnWjFqmveiJdnxMaz6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHg
2170
+ TuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
2171
+ AwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJKoZIhvcNAQEL
2172
+ BQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
2173
+ 2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfX
2174
+ UfEpY9Z1zRbkJ4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl
2175
+ 6/2o1PXWT6RbdejF0mCy2wl+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK
2176
+ 9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG/+gyRr61M3Z3qAFdlsHB1b6uJcDJ
2177
+ HgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTcnIhT76IxW1hPkWLI
2178
+ wpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/XldblhY
2179
+ XzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5l
2180
+ IxKVCCIcl85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoo
2181
+ hdVddLHRDiBYmxOlsGOm7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulr
2182
+ so8uBtjRkcfGEvRM/TAXw8HaOFvjqermobp573PYtlNXLfbQ4ddI
2183
+ -----END CERTIFICATE-----
lib/Compropago/vendor/compropago/php-sdk/CompropagoSdk/UnitTest/Test.php ADDED
@@ -0,0 +1,422 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2015 Compropago.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Compropago php-sdk
19
+ * @author Eduardo Aguilar <eduardo.aguilar@compropago.com>
20
+ */
21
+
22
+ namespace CompropagoSdk\UnitTest;
23
+
24
+ require_once __DIR__. "/../../../../autoload.php";
25
+
26
+ use CompropagoSdk\Client;
27
+ use CompropagoSdk\Factory\Abs\CpOrderInfo;
28
+ use CompropagoSdk\Factory\Abs\NewOrderInfo;
29
+ use CompropagoSdk\Factory\Abs\SmsInfo;
30
+ use CompropagoSdk\Models\PlaceOrderInfo;
31
+ use CompropagoSdk\Models\Webhook;
32
+ use CompropagoSdk\Tools\Validations;
33
+
34
+ class Test extends \PHPUnit_Framework_TestCase
35
+ {
36
+ private $publickey = "pk_test_5989d8209974e2d62";
37
+ private $privatekey = "sk_test_6ff4e982253c44c42";
38
+ private $mode = false;
39
+
40
+ private $phonenumber = "5561463627";
41
+
42
+ public function testCreateClient()
43
+ {
44
+ $client = null;
45
+ try{
46
+ $client = new Client(
47
+ $this->publickey,
48
+ $this->privatekey,
49
+ $this->mode
50
+ );
51
+ $this->assertTrue(!empty($client));
52
+ }catch(\Exception $e){
53
+ $this->assertTrue(!empty($client));
54
+ echo "\n".$e->getMessage()."\n";
55
+ }
56
+
57
+ return $client;
58
+ }
59
+
60
+ /**
61
+ * @depends testCreateClient
62
+ * @param Client $client
63
+ * @return \CompropagoSdk\Models\EvalAuthInfo|null
64
+ */
65
+ public function testEvalAuth(Client $client)
66
+ {
67
+ $res = null;
68
+ try{
69
+ $res = Validations::evalAuth($client);
70
+ }catch(\Exception $e){
71
+ echo "\n".$e->getMessage()."\n";
72
+ }
73
+
74
+ $this->assertTrue(!empty($res));
75
+
76
+ return $res;
77
+ }
78
+
79
+ /**
80
+ * @depends testEvalAuth
81
+ * @param $info
82
+ */
83
+ public function testEvalAuthClass($info)
84
+ {
85
+ $this->assertTrue(
86
+ (get_class($info) == "CompropagoSdk\\Models\\EvalAuthInfo")
87
+ );
88
+ }
89
+
90
+
91
+ /**
92
+ * @depends testCreateClient
93
+ * @param Client $client
94
+ * @return array
95
+ */
96
+ public function testServiceProviders(Client $client)
97
+ {
98
+ try{
99
+ $res = $client->api->listProviders();
100
+ }catch(\Exception $e){
101
+ $res = array();
102
+ echo "\n".$e->getMessage()."\n";
103
+ }
104
+
105
+ $this->assertTrue(is_array($res) && !empty($res));
106
+
107
+ return $res;
108
+ }
109
+
110
+ /**
111
+ * @depends testCreateClient
112
+ * @param Client $client
113
+ */
114
+ public function testServiceProvidersLimit(Client $client)
115
+ {
116
+ try{
117
+ $res = $client->api->listProviders(false, 15000);
118
+
119
+ $flag = true;
120
+ foreach ($res as $provider){
121
+ if($provider->transaction_limit < 15000){
122
+ $flag = false;
123
+ break;
124
+ }
125
+ }
126
+ }catch(\Exception $e){
127
+ echo "\n".$e->getMessage()."\n";
128
+ }
129
+
130
+ $this->assertTrue(isset($flag) && $flag);
131
+ }
132
+
133
+ /**
134
+ * @depends testCreateClient
135
+ * @param Client $client
136
+ */
137
+ public function testServiceProviderAuth(Client $client)
138
+ {
139
+ try{
140
+ $res = $client->api->listProviders(true);
141
+
142
+ if($res){
143
+ $res = $client->api->listProviders(true);
144
+ }
145
+ }catch(\Exception $e){
146
+ echo "\n".$e->getMessage()."\n";
147
+ }
148
+
149
+ $this->assertTrue(isset($res) && is_array($res) && !empty($res));
150
+ }
151
+
152
+
153
+ /**
154
+ * @depends testCreateClient
155
+ * @param Client $client
156
+ */
157
+ public function testServiceProviderAuthLimit(Client $client)
158
+ {
159
+ try{
160
+ $res = $client->api->listProviders(true, 15000);
161
+
162
+ $flag = true;
163
+ foreach ($res as $provider){
164
+ if($provider->transaction_limit < 15000){
165
+ $flag = false;
166
+ break;
167
+ }
168
+ }
169
+ }catch(\Exception $e){
170
+ echo "\n".$e->getMessage()."\n";
171
+ }
172
+
173
+ $this->assertTrue(isset($flag) && $flag);
174
+ }
175
+
176
+ /**
177
+ * @depends testCreateClient
178
+ * @param Client $client
179
+ */
180
+ public function testServiceProvidersAuthFetch(Client $client)
181
+ {
182
+ try{
183
+ $res = $client->api->listProviders(true, 15000, true);
184
+
185
+ $flag = true;
186
+ foreach ($res as $provider){
187
+ if($provider->transaction_limit < 15000){
188
+ $flag = false;
189
+ break;
190
+ }
191
+ }
192
+ }catch(\Exception $e){
193
+ echo "\n".$e->getMessage()."\n";
194
+ }
195
+
196
+ $this->assertTrue(isset($flag) && $flag);
197
+ }
198
+
199
+
200
+ /**
201
+ * @depends testServiceProviders
202
+ * @param array $providers
203
+ * @return array
204
+ */
205
+ public function testEmptyArrayProviders(array $providers)
206
+ {
207
+ $this->assertTrue(!empty($providers));
208
+ return $providers;
209
+ }
210
+
211
+ /**
212
+ * @depends testEmptyArrayProviders
213
+ * @param array $providers
214
+ */
215
+ public function testTypeArrayProviders(array $providers)
216
+ {
217
+ $flag = true;
218
+ foreach($providers as $key => $value){
219
+ $flag = (get_class($value) == "CompropagoSdk\\Models\\Provider") ? $flag : false;
220
+ if(!$flag)
221
+ break;
222
+ }
223
+
224
+ $this->assertTrue($flag);
225
+ }
226
+
227
+ /**
228
+ * @depends testCreateClient
229
+ * @param Client $client
230
+ * @return NewOrderInfo
231
+ */
232
+ public function testServicePlaceOrder(Client $client)
233
+ {
234
+ try{
235
+ $order = new PlaceOrderInfo("12","M4 Style",180,"Eduardo Aguilar","eduardo.aguilar@compropago.com");
236
+ $res = $client->api->placeOrder($order);
237
+ }catch(\Exception $e){
238
+ $res = null;
239
+ echo "\n".$e->getMessage()."\n";
240
+ }
241
+
242
+ $this->assertTrue(!empty($res));
243
+
244
+ return $res;
245
+ }
246
+
247
+ /**
248
+ * @depends testServicePlaceOrder
249
+ * @param $neworder
250
+ */
251
+ public function testTypeServicePlaceOrder($neworder)
252
+ {
253
+ $this->assertTrue((get_parent_class($neworder) == "CompropagoSdk\\Factory\\Abs\\NewOrderInfo"));
254
+ }
255
+
256
+ /**
257
+ * @depends testServicePlaceOrder
258
+ * @param NewOrderInfo $order
259
+ * @return CpOrderInfo
260
+ */
261
+ public function testServiceVerifyOrder(NewOrderInfo $order)
262
+ {
263
+ try {
264
+ $client = new Client(
265
+ $this->publickey,
266
+ $this->privatekey,
267
+ $this->mode
268
+ );
269
+ $res = $client->api->verifyOrder($order->getId());
270
+ } catch (\Exception $e) {
271
+ $res = null;
272
+ echo "\n".$e->getMessage()."\n";
273
+ }
274
+
275
+ $this->assertTrue(!empty($res));
276
+ return $res;
277
+ }
278
+
279
+ /**
280
+ * @depends testServiceVerifyOrder
281
+ * @param CpOrderInfo $order
282
+ */
283
+ public function testTypeServiceVerifyOrder(CpOrderInfo $order)
284
+ {
285
+ $this->assertTrue((get_parent_class($order) == "CompropagoSdk\\Factory\\Abs\\CpOrderInfo"));
286
+ }
287
+
288
+ /**
289
+ * @depends testServicePlaceOrder
290
+ * @param NewOrderInfo $order
291
+ * @return SmsInfo
292
+ */
293
+ public function testServiceSms(NewOrderInfo $order)
294
+ {
295
+ try{
296
+ $client = new Client(
297
+ $this->publickey,
298
+ $this->privatekey,
299
+ $this->mode
300
+ );
301
+
302
+ $res = $client->api->sendSmsInstructions($this->phonenumber, $order->getId());
303
+ }catch(\Exception $e){
304
+ $res = null;
305
+ echo "\n".$e->getMessage()."\n";
306
+ }
307
+
308
+ $this->assertTrue(!empty($res));
309
+ return $res;
310
+ }
311
+
312
+ /**
313
+ * @depends testServiceSms
314
+ * @param SmsInfo $info
315
+ */
316
+ public function testTypeServiceSms(SmsInfo $info)
317
+ {
318
+ $this->assertTrue((get_parent_class($info) == "CompropagoSdk\\Factory\\Abs\\SmsInfo"));
319
+ }
320
+
321
+ /**
322
+ * @depends testCreateClient
323
+ * @param Client $client
324
+ */
325
+ public function testGetWebhooks(Client $client)
326
+ {
327
+ try{
328
+ $res = $client->api->listWebhooks();
329
+ if(is_array($res)){
330
+ if(count($res) > 0 && get_class($res[0]) == "CompropagoSdk\\Models\\Webhook"){
331
+ $flag = true;
332
+ }else{
333
+ $flag = false;
334
+ }
335
+ }else{
336
+ $flag = false;
337
+ }
338
+ }catch(\Exception $e){
339
+ echo "\n".$e->getMessage()."\n";
340
+ $flag = false;
341
+ }
342
+
343
+ $this->assertTrue($flag);
344
+ }
345
+
346
+ /**
347
+ * @depends testCreateClient
348
+ * @param Client $client
349
+ * @return Webhook | null
350
+ */
351
+ public function testCreateWebhook(Client $client)
352
+ {
353
+ $flag = false;
354
+ $res = null;
355
+ try{
356
+ $res = $client->api->createWebhook("http://prueba.com");
357
+ if(get_class($res) == "CompropagoSdk\\Models\\Webhook" &&
358
+ ($res->status == 'new' || $res->status == 'exists')){
359
+ $flag = true;
360
+ }
361
+ }catch(\Exception $e){
362
+ echo "\n".$e->getMessage()."\n";
363
+ }
364
+
365
+ $this->assertTrue($flag);
366
+ return $res;
367
+ }
368
+
369
+ /**
370
+ * @depends testCreateWebhook
371
+ * @param Webhook $webhook
372
+ */
373
+ public function testUpdateWebhook(Webhook $webhook)
374
+ {
375
+ $flag = false;
376
+ $res = null;
377
+ try{
378
+ $client = new Client(
379
+ $this->publickey,
380
+ $this->privatekey,
381
+ $this->mode
382
+ );
383
+
384
+ $res = $client->api->updateWebhook($webhook->id, "prueba2.com");
385
+
386
+ if(get_class($res) == "CompropagoSdk\\Models\\Webhook" && $res->status == 'updated'){
387
+ $flag = true;
388
+ }
389
+ }catch(\Exception $e){
390
+ echo "\n".$e->getMessage()."\n";
391
+ }
392
+
393
+ $this->assertTrue($flag);
394
+ }
395
+
396
+ /**
397
+ * @depends testCreateWebhook
398
+ * @param Webhook $webhook
399
+ */
400
+ public function testDeleteWebhook(Webhook $webhook)
401
+ {
402
+ $flag = false;
403
+ $res = null;
404
+ try{
405
+ $client = new Client(
406
+ $this->publickey,
407
+ $this->privatekey,
408
+ $this->mode
409
+ );
410
+
411
+ $res = $client->api->deleteWebhook($webhook->id);
412
+
413
+ if(get_class($res) == "CompropagoSdk\\Models\\Webhook" && $res->status == 'deleted'){
414
+ $flag = true;
415
+ }
416
+ }catch(\Exception $e){
417
+ echo "\n".$e->getMessage()."\n";
418
+ }
419
+
420
+ $this->assertTrue($flag);
421
+ }
422
+ }
lib/Compropago/vendor/compropago/php-sdk/LICENSE ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
202
+
lib/Compropago/vendor/compropago/php-sdk/README.md ADDED
@@ -0,0 +1,381 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ComproPago PHP SDK v2.0.0
2
+
3
+ ## Descripción
4
+
5
+ La librería de `ComproPago PHP SDK` le permite interactuar con el API de ComproPago en su aplicación.
6
+ También cuenta con los métodos necesarios para facilitarle su desarrollo por medio de los servicios
7
+ más utilizados (SDK).
8
+
9
+ Con ComproPago puede recibir pagos en OXXO, 7Eleven y muchas tiendas más en todo México.
10
+
11
+ [Registrarse en ComproPago](https://compropago.com)
12
+
13
+ ## Índice de Contenidos
14
+
15
+ - [Ayuda y Soporte de ComproPago](#ayuda-y-soporte-de-compropago)
16
+ - [Requerimientos](#requerimientos)
17
+ - [Instalación ComproPago SDK](#instalación-compropago-sdk)
18
+ - [Documentación](#documentación)
19
+ - [Guía básica de Uso](#guía-básica-de-uso)
20
+ - [Guía de Versiones](#guía-de-versiones)
21
+
22
+
23
+ ## Ayuda y Soporte de ComproPago
24
+
25
+ - [Centro de ayuda y soporte](https://compropago.com/ayuda-y-soporte)
26
+ - [Solicitar Integración](https://compropago.com/integracion)
27
+ - [Guía para Empezar a usar ComproPago](https://compropago.com/ayuda-y-soporte/como-comenzar-a-usar-compropago)
28
+ - [Información de Contacto](https://compropago.com/contacto)
29
+
30
+ ## Requerimientos
31
+
32
+ * Composer
33
+ * PHP >= 5.5
34
+ * CURL Extension
35
+ * JSON Extension
36
+
37
+
38
+ ## Instalación ComproPago PHP SDK
39
+
40
+ ### Instalación por GitHub
41
+
42
+ Puede descargar alguna de las versiones que hemos publicado:
43
+
44
+ - [Consultar Versiones Publicadas en GitHub](https://github.com/compropago/compropago-php/releases)
45
+
46
+ O si o lo desea puede obtener el repositorio
47
+
48
+ ```bash
49
+ #repositorio en su estado actual (*puede no ser versón estable*)
50
+ git clone https://github.com/compropago/compropago-php.git
51
+ ```
52
+
53
+
54
+ ## Documentación
55
+
56
+ ### Documentación ComproPago PHP SDK
57
+
58
+ ### Documentación de ComproPago
59
+
60
+ **[API de ComproPago](https://compropago.com/documentacion/api)**
61
+
62
+ ComproPago te ofrece un API tipo REST para integrar pagos en efectivo en tu comercio electrónico o tus aplicaciones.
63
+
64
+ **[General](https://compropago.com/documentacion)**
65
+
66
+ Información de Comisiones y Horarios, como Transferir tu dinero y la Seguridad que proporciona ComproPAgo
67
+
68
+
69
+ **[Herramientas](https://compropago.com/documentacion/boton-pago)**
70
+
71
+ * Botón de pago
72
+ * Modo de pruebas/activo
73
+ * WebHooks
74
+ * Librerías y Plugins
75
+ * Shopify
76
+
77
+ ## Guía básica de Uso
78
+
79
+ Se debe contar con una cuenta activa de ComproPago. [Registrarse en ComproPago](https://compropago.com)
80
+
81
+ ### General
82
+
83
+ Para poder hacer uso de la librería es necesario incluir la libreria principales del SDK
84
+
85
+ ```php
86
+ <?php
87
+
88
+ require 'vendor/autoload.php';
89
+ ```
90
+
91
+ ### Configuración del Cliente
92
+
93
+ Para poder hacer uso de la gema y llamados al API es necesario que primero configure sus Llaves de conexión y crear
94
+ un instancia de Client.
95
+ *Sus llaves las encontrara en su Panel de ComproPago en el menú Configuración.*
96
+
97
+ [Consulte Aquí sus Llaves](https://compropago.com/panel/configuracion)
98
+
99
+ ```php
100
+ <?php
101
+ # @param string publickey Llave publica correspondiente al modo de la tienda
102
+ # @param string privatekey Llave privada correspondiente al modo de la tienda
103
+ # @param bool live Modo de la tienda (false = Test | true = Live)
104
+ # @param string contained (optional) App User agent
105
+
106
+ $client = new Client(
107
+ 'pk_test_5989d8209974e2d62', # publickey
108
+ 'sk_test_6ff4e982253c44c42', # privatekey
109
+ false, # live
110
+ null # contaiden
111
+ );
112
+ ```
113
+
114
+ ### Uso Básico de la gema
115
+
116
+ > Consulte la documentación de la librería PHP de ComproPago para conocer más de sus capacidades, configuraciones y métodos.
117
+
118
+
119
+ #### Llamados al los servicios por SDK
120
+
121
+ Para poder hacer uso de los servicos de ComproPago, solo debe de llamar a los metodos contenidos en la propiedad **api**
122
+ de la variable **client** como se muestra a continuación.
123
+
124
+
125
+ #### Métodos base del SDK
126
+
127
+ ##### Crear una nueva orden de Pago
128
+
129
+
130
+ ```php
131
+ <?php
132
+ # @param [String] order_id Id de la orden
133
+ # @param [String] order_name Nombre del producto o productos de la orden
134
+ # @param [Float] order_price Monto total de la orden
135
+ # @param [String] customer_name Nombre completo del cliente
136
+ # @param [String] customer_email Correo electronico del cliente
137
+ # @param [String] payment_type (default = OXXO) Valor del atributo internal_name' de un objeto 'Provider'
138
+ # @param [String] image_url (optional) Url a la imagen del producto
139
+
140
+ $order = new PlaceOrderInfo(
141
+ '123', # order_id
142
+ 'M4 Style Ruby', # order_name
143
+ 1000, # order_price
144
+ 'Eduardo Aguilar', # customer_name
145
+ 'eduardo.aguilar@compropago.com', # customer_email
146
+ 'OXXO', # payment_type
147
+ null # image_url
148
+ );
149
+
150
+
151
+ # Llamada al metodo 'place_order' del API para generar la orden
152
+
153
+ # @param [PlaceOrderInfo] order
154
+ # @return [NewOrderInfo]
155
+ $neworder = $client->api->placeOrder($order);
156
+ ```
157
+
158
+ ###### Prototipo del metodo placeOrder()
159
+
160
+ ```php
161
+ <?php
162
+ /**
163
+ * @param PlaceOrderInfo $neworder
164
+ * @return \CompropagoSdk\Factory\Abs\NewOrderInfo
165
+ * @throws \Exception
166
+ */
167
+ public function placeOrder(PlaceOrderInfo $neworder){}
168
+ ```
169
+
170
+ ##### Verificar el Estatus de una orden
171
+
172
+ Para verificar el estatus de una orden generada es necesario llamar al metodo **verifyOrder** que provee el atributo
173
+ **api** del objeto **Client** y el cual regresa una instancia **CpOrderInfo**. este metodo recibe como parametro el ID
174
+ generado por ComproPago para cada orden. Tambien puede obtener este ID desde un objeto **NewOrderInfo** accediendo al
175
+ metodo **getId**.
176
+
177
+ ```php
178
+ <?php
179
+ # Guardar el ID de la orden
180
+ $order_id = "ch_xxxx_xxx_xxx_xxxx";
181
+
182
+ # U obtenerlo de un objetdo NewOrderInfo
183
+ $order_id = $neworder->getId();
184
+
185
+
186
+ # Se manda llamar al metodo del API para recuperar la informacion de la orden
187
+ $info = $client->api->verifyOrder($order_id);
188
+ ```
189
+
190
+ ###### Prototipo del metodo verifyOrder()
191
+
192
+ ```php
193
+ <?php
194
+ /**
195
+ * @param $orderId
196
+ * @return \CompropagoSdk\Factory\Abs\CpOrderInfo
197
+ * @throws \Exception
198
+ */
199
+ public function verifyOrder( $orderId ){}
200
+ ```
201
+
202
+
203
+ ##### Obtener el listado de las tiendas donde se puede realizar el Pago
204
+
205
+ Para obtener el listado de Proveedores disponibles para realizar el pago de las ordenes es necesario consutar el metodo
206
+ **listProviders** que se encuentra alojado en el atributo **api** del objeto **Client** y el cual regresa una instancia
207
+ de tipo **Array** la cual contendra objetos de tipo **Provider**
208
+
209
+ ```php
210
+ <?php
211
+ $providers = $client->api->listProviders();
212
+ ```
213
+
214
+ ###### Prototipo del metodo listProviders()
215
+
216
+ ```php
217
+ <?php
218
+ /**
219
+ * @param bool $auth
220
+ * @param int $limit
221
+ * @param bool $fetch
222
+ * @return array
223
+ * @throws \Exception
224
+ */
225
+ public function listProviders($auth = false, $limit = 0, $fetch = false){}
226
+ ```
227
+
228
+ ##### Envio de instrucciones SMS
229
+
230
+ Para realizar el el envio de las instrucciones de compra via SMS es necesario llamar al metodo **sendSmsInstructions**
231
+ que se encuentra alojado en el atributo **api** del objeto **Client** y el cual regresa una instancia de tipo **SmsInfo**
232
+
233
+ ```php
234
+ <?php
235
+ # Numero al cual se enviaran las instrucciones
236
+ $phone_number = "55xxxxxxxx";
237
+
238
+ # Id de la orden de compra de cual se enviaran las instrucciones
239
+ $order_id = "ch_xxxxx-xxxxx-xxxxx-xxxxx";
240
+
241
+ # Llamada al metodo del API para envio de las instrucciones
242
+ $smsinfo = $client->api->sendSmsInstructions($phone_number , $order_id);
243
+ ```
244
+
245
+ ###### Prototipo del metodo sendSmsInstructions()
246
+
247
+ ```php
248
+ <?php
249
+ /**
250
+ * @param $number
251
+ * @param $orderId
252
+ * @return \CompropagoSdk\Factory\Abs\SmsInfo
253
+ * @throws \Exception
254
+ */
255
+ public function sendSmsInstructions($number,$orderId){}
256
+ ```
257
+
258
+ #### Webhooks
259
+
260
+ Los webhooks son de suma importancia para el proceso las ordenes de ComproPago, ya que estos se encargaran de recibir
261
+ las notificaciones de el cambio en los estatus de las ordenes de compra generadas, tambien deberan contener parte de la
262
+ logica de aprobacion en su tienda en linea. El proceso que siguenes el siguiente.
263
+
264
+ 1. Cuando una orden cambia su estatus, nuestra plataforma le notificara a cada una de las rutas registradas, dicho
265
+ cambio con la informacion de la orden modificada en formato JSON
266
+ 2. Debera de recuperar este JSON en una cadena de texto para posterior mente convertirla a un objeto de todpo
267
+ **CpOrderInfo** haciendo uso de la clase Factory que proporciona el SDK de la siguiente forma:
268
+
269
+ ```php
270
+ <?php
271
+ # $cadena_obtenida es un String
272
+ $info = Factory::cpOrderInfo($cadena_obtenida);
273
+ ```
274
+
275
+ 3. Generar la logica de aprovacion correspondiente al estatus de la orden.
276
+
277
+ ##### Crear un nuevo Webhook
278
+
279
+ Para crear un nuevo Webhook en la cuenta, se debe de llamar al metodo **createWebhook** que se encuentra alojado en el
280
+ atributo **api** del objeto **Client** y el cual regresa una instancia de tipo **Webhook**
281
+
282
+ ```php
283
+ <?php
284
+ # Se pasa como paramtro la URL al webhook
285
+ $webhook = $client->api->createWebhook('http://sitio.com/webhook');
286
+ ```
287
+
288
+ ###### Prototipo del metodo createWebhook()
289
+
290
+ ```php
291
+ <?php
292
+ /**
293
+ * @param $url
294
+ * @return \CompropagoSdk\Models\Webhook
295
+ * @throws \Exception
296
+ */
297
+ public function createWebhook($url){}
298
+ ```
299
+
300
+ ##### Actualizar un Webhook
301
+
302
+ Para actualizar la url de un webhoo, se debe de llamar al metodo **updateWebhook** que se encuentra alojado en el
303
+ atributo **api** del objeto **Client** y el cual regresa una instancia de tipo **Webhook**
304
+
305
+ ```php
306
+ <?php
307
+ $updated_webhook = $client->api->updateWebhook($webhook->getId(), 'http://sitio.com/nuevo_webhook');
308
+ ```
309
+
310
+ ###### Prototipo del metodo updateWebhook()
311
+
312
+ ```php
313
+ <?php
314
+ /**
315
+ * @param $webhookId
316
+ * @param $url
317
+ * @return \CompropagoSdk\Models\Webhook
318
+ * @throws \Exception
319
+ */
320
+ public function updateWebhook($webhookId, $url){}
321
+ ```
322
+
323
+ ##### Eliminar un Webhook
324
+
325
+ Para eliminar un webhook, se debe de llamar al metodo **deleteWebhook** que se encuentra alojado en el atributo **api**
326
+ del objeto **Client** y el cual regresa una instancia de tipo **Webhook**
327
+
328
+ ```php
329
+ <?php
330
+ $deleted_webhook = $client->api->deleteWebhook( $webhook->getId() );
331
+ ```
332
+
333
+ ###### Prototipo del metodo deleteWebhook()
334
+
335
+ ```php
336
+ <?php
337
+ /**
338
+ * @param $webhookId
339
+ * @return \CompropagoSdk\Models\Webhook
340
+ * @throws \Exception
341
+ */
342
+ public function deleteWebhook($webhookId){}
343
+ ```
344
+
345
+ ##### Obtener listado de Webhooks registrados
346
+
347
+ Para obtener la lista de webhooks registrados den una cuenta, se debe de llamar al metodo **listWebhook** que se
348
+ encuentra alojado en el atributo **api** del objeto **Client** y el cual regresa una instancia de tipo **Array** la cual
349
+ contiene objetos de tipo **Webhook**
350
+
351
+ ```php
352
+ <?php
353
+ $all_webhooks = $client->api->listWebhooks();
354
+ ```
355
+
356
+ ###### Prototipo del metodo listWebhook()
357
+
358
+ ```php
359
+ <?php
360
+ /**
361
+ * @return array
362
+ * @throws \Exception
363
+ */
364
+ public function listWebhooks(){}
365
+ ```
366
+
367
+
368
+ ## Guía de Versiones
369
+
370
+ | Version | Status | Packagist | Namespace | PHP | Repo | Docs |
371
+ |---------|-------------|----------------------|------------------|-------|---------------------------------|-------------------------|
372
+ | 1.0.x | Deprecated | `compropago/php-sdk` | `Compropago` | 5.3 + | v1.0.x | [v1][compropago-1-docs] |
373
+ | 1.1.x | Deprecated | `compropago/php-sdk` | `Compropago\Sdk` | 5.5 + | v1.1.x | [v1][compropago-1-docs] |
374
+ | 1.1.1 | Deprecated | `compropago/php-sdk` | `Compropago\Sdk` | 5.5 + | v1.1.x | [v1][compropago-1-docs] |
375
+ | 1.2.0 | Maintained | `compropago/php-sdk` | `Compropago\Sdk` | 5.5 + | v1.2.0 | [v1][compropago-1-docs] |
376
+ | 2.0.0 | Latest | `compropago/php-sdk` | `CompropagoSdk` | 5.5 + | [v2.0.0][latest-repo] | [v1][compropago-1-docs] |
377
+
378
+
379
+ [compropago-1-docs]: https://compropago.com/documentacion/api
380
+
381
+ [latest-repo]: http://github.com/compropago/compropago-php
lib/Compropago/vendor/compropago/php-sdk/composer.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "compropago/php-sdk",
3
+ "type": "library",
4
+ "description": "PHP SDK for Compropago API",
5
+ "keywords": ["pagos internet","payment gateway"],
6
+ "homepage": "https://compropago.com/documentacion/librerias",
7
+ "license": "Apache-2.0",
8
+ "authors": [
9
+ {
10
+ "name": "Eduardo Aguilar",
11
+ "email": "eduardo.aguilar@compropago.com"
12
+ }
13
+ ],
14
+ "require": {
15
+ "php": ">=5.5"
16
+ },
17
+ "require-dev":{
18
+ "phpunit/phpunit": ">=5.3"
19
+ },
20
+ "suggest":{
21
+ "compropago/views-sdk": "Permite la manipulacion de Listado de Proveedores, Recibos de compra y botones de pago dinamicos"
22
+ },
23
+ "autoload": {
24
+ "psr-4": {
25
+ "CompropagoSdk\\": "CompropagoSdk"
26
+ }
27
+ }
28
+ }
media/cppayment/compropago-logo.png ADDED
Binary file
media/cppayment/gitmerge.gif ADDED
Binary file
package.xml CHANGED
@@ -1,31 +1,26 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Compropago_Payment_Extension</name>
4
- <version>1.1.2</version>
5
  <stability>stable</stability>
6
- <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>This extension allows you to receive cash payments in the convenience store Mexico:OXXO, 7Eleven, Elektra....</summary>
10
- <description>ComproPago is the fastest and largest cash payments platform in Mexico. &#xD;
11
- &#xD;
12
- This extension allows you receive cash payments in Oxxo, 7eleven, Extra, Benavides, Coppel and other convenience stores across Mexico. &#xD;
13
- &#xD;
14
- Some of the benefits of adding ComproPago as a payment method in your online store are: The fastest confirmation time in the industry: less than 8 hours. &#xD;
15
- &#xD;
16
- The largest convenience store network in the whole country. &#xD;
17
- &#xD;
18
- The possibility of requesting your funds and receiving them in your bank account within 24 hours. &#xD;
19
- &#xD;
20
- Besides you will be able to: Automatically update your order status both in your online store and in ComproPago&#x2019;s account. &#xD;
21
- &#xD;
22
- Send email notifications for pending orders and reminder notifications to increase conversion rates.</description>
23
- <notes>## 7/07/2016 v1.1.2&#xD;
24
- * Feature: Auto restriccion de proveedores por monto de compra</notes>
25
- <authors><author><name>Oswaldo Lopez Garcia</name><user>waldix</user><email>waldix@compropago.com</email></author><author><name>Eduardo Aguilar</name><user>eduardoay</user><email>eduardo.aguilar@compropago.com</email></author></authors>
26
- <date>2016-07-07</date>
27
- <time>16:48:51</time>
28
- <contents><target name="mageetc"><dir name="modules"><file name="Compropago.xml" hash="884374bb8a46b5ac9a62cd8b9f351401"/></dir></target><target name="magecommunity"><dir name="Compropago"><dir><dir name="Block"><file name="Form.php" hash="3433488444c881f51228924453689c4a"/><file name="OnepageSuccess.php" hash="7873729a10083644d735ce193e2b1752"/></dir><dir name="Helper"><file name="Data.php" hash="5d3d5f4f86f2cec56315a1b02cc3d308"/></dir><dir name="Model"><file name="Api.php" hash="8070b909572fc67102f702c88190fb03"/><file name="Providers.php" hash="14a80d69659ee43913745a40c59c25cf"/><file name="Standard.php" hash="db4d2f563d8874c50b96b4634097dffb"/></dir><dir name="controllers"><file name="WebhookController.php" hash="b34aeec38ae45833c8adc57f1e94e624"/></dir><dir name="etc"><file name="config.xml" hash="26776d50679f9c07924f5ab0a7beeb76"/><file name="system.xml" hash="63d480092fa87465736d905668e3110a"/></dir></dir><file name=".DS_Store" hash="eb03774a462f5cc9f379a3cc14db34f0"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="compropago"><file name="cash.phtml" hash="50bde01c08c5016267078d42cafe72ed"/><file name="onepage_success.phtml" hash="b85d49f5e82ed292da8e0d7c555d0fc4"/></dir></dir><dir name="layout"><file name="compropago.xml" hash="b4c43eb397d0a9ce59b35377ef70e0ed"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="compropago"><file name="compropago.css" hash="c31f0093851df11b1782c68a81e9fa86"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="compropago"><file name="compropago.js" hash="a54eee5266f30f33c3355d0ac770e8f0"/></dir></dir></target></contents>
29
  <compatible/>
30
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
31
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Compropago_Payment_Extension</name>
4
+ <version>2.0.0</version>
5
  <stability>stable</stability>
6
+ <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Con ComproPago puede recibir pagos en OXXO, 7Eleven y muchas tiendas m&#xE1;s en todo M&#xE9;xico.</summary>
10
+ <description>Con ComproPago puede recibir pagos en OXXO, 7Eleven y muchas tiendas m&#xE1;s en todo M&#xE9;xico.</description>
11
+ <notes>* Feature: Auto register webhook&#xD;
12
+ * Feature: Error Message in admin configuration&#xD;
13
+ * Feature: Providers filter by amount&#xD;
14
+ * Feature: Restructure view styles&#xD;
15
+ * Feature: Add option for logo title&#xD;
16
+ * Feature: Add transaction tables for manage webhoo aprovations&#xD;
17
+ * Remove: Compropago_Model_Api file&#xD;
18
+ * Require: compropago/php-sdk == 2.0.0&#xD;
19
+ * Require: PHP &gt;= 5.5</notes>
20
+ <authors><author><name>Eduardo Aguilar</name><user>eduardoay</user><email>eduardo.aguilar@compropago.com</email></author></authors>
21
+ <date>2016-09-19</date>
22
+ <time>21:53:08</time>
23
+ <contents><target name="mageetc"><dir name="modules"><file name="Compropago_CpPayment.xml" hash="39b519aeecb171cb993e0ee4e064f29a"/></dir></target><target name="magecommunity"><dir name="Compropago"><dir name="CpPayment"><dir name="Block"><file name="Form.php" hash="fedfa50d8860395445eec7e4def4df7d"/><file name="Info.php" hash="d34706306b26afc91b7b0190edbe73a0"/></dir><dir name="Helper"><file name="Data.php" hash="0ae647f79d66d82cc976408c120fcbb6"/></dir><dir name="Model"><file name="Observer.php" hash="240cb5799b8ed42ff62f7f43e14c648f"/><file name="Providers.php" hash="57bbb11a08f26afa92a98ca0dd9f940b"/><file name="Standard.php" hash="286659ecd4d3885d1413c3f09cef24e2"/></dir><dir name="controllers"><file name="IndexController.php" hash="8af99d32644ec954a379d81ce83de40f"/></dir><dir name="etc"><file name="config.xml" hash="7622826b2a16b5c09a01892d06f11a91"/><file name="system.xml" hash="8a96aa67ae243dfb980fefb94066143a"/></dir><dir name="sql"><dir name="cppayment_setup"><file name="install-2.0.0.php" hash="3a1215b9adb72418e27ee6fffd604d73"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cppayment.xml" hash="aadfc4eed58b61274c257d022363e0bb"/></dir><dir name="template"><dir name="compropago"><dir name="cppayment"><file name="cash.phtml" hash="0e7120d90e0953f3f5082566117bc0c8"/><file name="info.phtml" hash="717385b1db73eed01c81e64e8dafb0a6"/><file name="mark.phtml" hash="4eb1668734994184ea2a2f10c9bf8e13"/><file name="success.phtml" hash="1292183b370d80bddf50b67b9b8f13f0"/><file name=".DS_Store" hash="6d26a77bb0aa1f0b0471ffbeb4126011"/></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Compropago"><file name="composer.json" hash="dab35a4840258d689c577eb8cf794d42"/><file name="composer.lock" hash="fdd74ce238a9714a54279d54dc0d2636"/><dir name="vendor"><file name="autoload.php" hash="c4fa9e42a8d841ae2cddcbcf89a446db"/><dir name="composer"><file name="ClassLoader.php" hash="c67ebce5ff31e99311ceb750202adf2e"/><file name="LICENSE" hash="9b01fc9e0129adc080344653fbcbbc0f"/><file name="autoload_classmap.php" hash="8ff8ebb2cf9435efd25aa5e5b169c2ce"/><file name="autoload_namespaces.php" hash="35e12c7d76c4a81633bcf547c0e229a9"/><file name="autoload_psr4.php" hash="94c7252625076c04000283666cfd7cc0"/><file name="autoload_real.php" hash="df81fdf7f6a94668dcd14ba4c5d3b008"/><file name="autoload_static.php" hash="e1591ba8ceab49896e43e946d5b00e2c"/><file name="installed.json" hash="3a67acfde9844ca6b08b47eae498179d"/></dir><dir name="compropago"><dir name="php-sdk"><file name="CHANGELOG.md" hash="7bc84067e94660d27d4acc1f6028b3aa"/><dir name="CompropagoSdk"><file name="Client.php" hash="9d318d40070a1e8cc7fff47801779af2"/><dir name="Extern"><file name="TransactTables.php" hash="c269cb4e56992a3679fdfa144646c209"/></dir><dir name="Factory"><dir name="Abs"><file name="CpOrderInfo.php" hash="2c07014273cb94f916e5bd24f04b456b"/><file name="FeeDetails.php" hash="470a7d254a7893de41e5a85d77680638"/><file name="InstrcutionDetails.php" hash="b403951cdc3992c33ef118d811315ab9"/><file name="Instructions.php" hash="8df175ea9cc84f432fc1a8a8c6884fe0"/><file name="NewOrderInfo.php" hash="b5e9edbc3b0fbbb841c1bf683effe056"/><file name="OrderInfo.php" hash="2e3615d2f9f44f82e2c3579b50c99463"/><file name="SmsInfo.php" hash="1de7ba73a2d94f9ab60117ff73d7f4e2"/></dir><file name="Factory.php" hash="d3c3a9880c9063c69449a350e0e6e796"/><dir name="Json"><file name="Serialize.php" hash="0c3068b84f4242d5e3318f07d678908b"/></dir><dir name="V10"><file name="CpObject.php" hash="aeab5d5b62b142537c338c4edf11b855"/><file name="CpOrderInfo10.php" hash="6ee8dba52eb288a6d00f1b98aa56521e"/><file name="Data.php" hash="16e9998838e08f7d66cf2a4875e76655"/><file name="FeeDetails10.php" hash="649dfd75195b07d4de4db39b2809c60a"/><file name="InstructionDetails10.php" hash="43c2fa8533dd921ba45023d966d3485e"/><file name="Instructions10.php" hash="39d9857eac6c8ee3d52aeb2335e17eef"/><file name="NewOrderInfo10.php" hash="724bc0bdf5e3df77d06cecf7f44fdabc"/><file name="OrderInfo10.php" hash="ff27c66305435fa1413505b6c63d877a"/><file name="PaymentDetails.php" hash="e5bd6a8644dea836d6ce661b58c7c291"/><file name="ProductInformation.php" hash="c63c71f33f5e82ac4136e43d126886b6"/><file name="SmsInfo10.php" hash="e336b1735000708b34ef069c307e21a5"/><file name="SmsPayment.php" hash="bb476340a02cd0d979d8c1ca9ed2671e"/></dir><dir name="V11"><file name="CpOrderInfo11.php" hash="37966497a5a0e98f77094f4570dab9e9"/><file name="FeeDetails11.php" hash="72784fe03e2df00ade0440a814e2f031"/><file name="InstructionDetails11.php" hash="6b544c61195feb3c83a195cd0436835d"/><file name="Instructions11.php" hash="6e777291658e22eecd6e1521287763cc"/><file name="NewOrderInfo11.php" hash="80b2320107ae4c89d14516a62f4503ec"/><file name="OrderInfo11.php" hash="dacab3cf478582d45254064badb7c801"/><file name="SmsData.php" hash="1fbd65a4f8ea70be3a7844509deb1fb2"/><file name="SmsInfo11.php" hash="79ce17cad0a8870c7948214d1ea6a9b9"/><file name="SmsObject.php" hash="a2493d08bbdfe962ae61144716e6b433"/></dir></dir><dir name="Models"><file name="Customer.php" hash="949b434172aa9efd028101767ad96575"/><file name="EvalAuthInfo.php" hash="8f9c57b28515ec30a57ff26f94b9136b"/><file name="PlaceOrderInfo.php" hash="afccd7fa2297f0cfe96cdd1252050551"/><file name="Provider.php" hash="f07d2287187bb45ed79dded7492d5a29"/><file name="Webhook.php" hash="5ddc7281b09b168ffae75a7845a11b6c"/><file name="WebhookError.php" hash="738c1eb4586224eaa65195b229f90fe3"/></dir><file name="Service.php" hash="359985d2695d0db44a83cf25b7d4557d"/><dir name="Tools"><file name="Http.php" hash="19f223dc631cf9bba116d1ee5fe132ff"/><file name="Rest.php" hash="9cadea65cb89c33c7fd5a08f445949cf"/><file name="Validations.php" hash="c454beb05f2f1bd584f82e94c767703e"/><file name="cacerts.pem" hash="a527b93e71b94759d99643641ff3b531"/></dir><dir name="UnitTest"><file name="Test.php" hash="8238cd3a10ad81c7170563ae602a80cb"/></dir></dir><file name="LICENSE" hash="abac77493634e3d1c15493847c602b03"/><file name="README.md" hash="9dbf37e3538be36082c2f0c8dcd4fcea"/><file name="composer.json" hash="acbda0f6db41070fe890eeb26686fbbf"/><file name=".gitignore" hash="736ed715b5cef5267757d98de045d736"/></dir></dir></dir></dir></target><target name="magemedia"><dir name="cppayment"><file name="compropago-logo.png" hash="2a3e98095b5c9df0669b7dc70f0682cd"/><file name="gitmerge.gif" hash="31c57faf2960d93d98e9d39bd71df00b"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="compropago"><file name="compropago.css" hash="5a4b5271ef09e42b63eaeabb73d7d9e8"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="compropago"><file name="compropago.js" hash="ffdf6e940b91554944656fff2cbdb6c5"/></dir></dir></target></contents>
 
 
 
 
 
24
  <compatible/>
25
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><extension><name>curl</name><min>5.0.0</min><max>8.0.0</max></extension><extension><name>json</name><min>1.0.0</min><max>1.3.9</max></extension></required></dependencies>
26
  </package>
skin/frontend/base/default/compropago/compropago.css ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #cppayment_store {
2
+ background: url(https://compropago.com/assets/terminal/select-input.png) no-repeat;
3
+ width: 298px;
4
+ height: 39px;
5
+ position: relative;
6
+ background-size: 100% auto;
7
+ max-width: 100%
8
+ }
9
+ #cppayment_store .provider-select {
10
+ -webkit-appearance: none;
11
+ -moz-appearance: none;
12
+ outline: 0;
13
+ border: 0;
14
+ background: none;
15
+ height: 100%;
16
+ width: 100%;
17
+ padding-left: 62px;
18
+ box-sizing: border-box;
19
+ text-transform: uppercase;
20
+ font-size: 14px;
21
+ background-size: auto 70%;
22
+ background-position: 2px 6px;
23
+ background-repeat: no-repeat
24
+ }
25
+ #payment_form_cppayment h2 {
26
+ font-size: 16px;
27
+ margin: .5em 0
28
+ }
29
+ #cppayment_store.stores-compact {
30
+ background: none;
31
+ width: 100%;
32
+ display: -webkit-flex;
33
+ display: -ms-flexbox;
34
+ display: flex;
35
+ -webkit-flex-wrap: wrap;
36
+ -ms-flex-wrap: wrap;
37
+ flex-wrap: wrap;
38
+ height: auto
39
+ }
40
+ #cppayment_store.stores-compact .cp-provider {
41
+ display: block;
42
+ width: 75px;
43
+ margin-right: 12px;
44
+ margin-bottom: 12px;
45
+ border-radius: 3px;
46
+ position: relative;
47
+ transition: all .2s linear;
48
+ box-shadow: none
49
+ }
50
+ #cppayment_store.stores-compact .cp-provider.cp-selected {
51
+ box-shadow: 0 0 6px 3px #00aaef
52
+ }
53
+ #cppayment_store.stores-compact .cp-provider img {
54
+ display: block;
55
+ margin: 0 auto;
56
+ float: none;
57
+ width: 100%
58
+ }
skin/frontend/base/default/css/compropago/compropago.css DELETED
@@ -1,80 +0,0 @@
1
- #p_method_compropago input[type="radio"]:checked img{
2
- display: none;
3
- }
4
-
5
- .element-box label img{
6
- display:block;
7
- margin: 6px 6px 6px 6px;
8
- box-shadow:0px 1px 7px 2px rgba(0,0,0,0.18);
9
- border-radius:5px;
10
- -moz-border-radius:5px;
11
- -webkit-border-radius:5px;
12
- width: 60px;
13
- }
14
- .element-box input{
15
- left:-9999px;position:absolute
16
- }
17
- .element-box label{
18
- opacity:1;
19
- margin-bottom: 2px;
20
- /*margin-left:6px*/
21
- }
22
- .element-box label:hover{
23
- opacity:1;
24
- background:#40c4fa;
25
- border-radius:6px;
26
- -moz-border-radius:6px;
27
- -webkit-border-radius:6px;
28
- box-shadow:0px 1px 7px 2px rgba(0,0,0,0.18) inset
29
- }
30
- .element-box .seleccion_store{
31
- margin-bottom: 2px;
32
- opacity:1;
33
- background:#00aaef;
34
- border-radius:6px;
35
- -moz-border-radius:6px;
36
- -webkit-border-radius:6px;
37
- box-shadow:0px 1px 7px 2px rgba(0,0,0,0.18) inset
38
- }
39
- .element-box .seleccion_store img{
40
- display:block;
41
- margin: 6px 6px 6px 6px;
42
- box-shadow:none;
43
- border-radius:5px;
44
- -moz-border-radius:5px;
45
- -webkit-border-radius:5px;
46
- box-shadow:0px 1px 0px 0px rgba(0,0,0,0.18)
47
- }
48
- .provider-description{
49
- font-weight:bold;
50
- float:left;
51
- cursor:pointer;
52
- line-height:26px;
53
- font-size:10pt
54
- }
55
- .provider-description .note-s{
56
- float:right;
57
- color:#777;
58
- font-size:13px;
59
- margin-left:15px;
60
- text-align:left;
61
- font-weight:normal;
62
- width:480px;
63
- }
64
-
65
- .label-instructions{
66
- top: 5px;
67
- position: relative;
68
- }
69
-
70
- .logo-success{
71
- bottom: 12px;
72
- position: relative;
73
- display: none;
74
- }
75
- .image_providers_compropago{
76
- margin-left: 24px;
77
- }
78
- .checked_compropago{
79
- display: block !important;
80
- }