Gene_Braintree - Version 2.2.1

Version Notes

Connect your Magento store to Braintree to accept Credit Cards & PayPal using V.Zero SDK

Download this release

Release Info

Developer Dave Macaulay
Extension Gene_Braintree
Version 2.2.1
Comparing to
See all releases


Code changes from version 2.2.0 to 2.2.1

Files changed (168) hide show
  1. app/code/community/Gene/Braintree/Block/Adminhtml/Report/.DS_Store +0 -0
  2. app/code/community/Gene/Braintree/Block/Assets.php +1 -1
  3. app/code/community/Gene/Braintree/Model/.DS_Store +0 -0
  4. app/code/community/Gene/Braintree/Model/Paymentmethod/Creditcard.php +4 -1
  5. app/code/community/Gene/Braintree/Model/Wrapper/Braintree.php +1 -1
  6. app/code/community/Gene/Braintree/etc/config.xml +2 -2
  7. app/code/community/Gene/Braintree/etc/system.xml +1 -1
  8. app/design/frontend/base/default/layout/gene/braintree.xml +1 -0
  9. app/design/frontend/base/default/template/gene/braintree/.DS_Store +0 -0
  10. app/design/frontend/base/default/template/gene/braintree/express/cart.phtml +1 -1
  11. app/design/frontend/base/default/template/gene/braintree/express/catalog.phtml +1 -1
  12. app/design/frontend/base/default/template/gene/braintree/js/setup.phtml +1 -1
  13. js/gene/braintree/.DS_Store +0 -0
  14. js/gene/braintree/2.2.0/vzero-integration-min.js +0 -1
  15. js/gene/braintree/{2.2.0 → 2.2.1}/express/abstract-min.js +0 -0
  16. js/gene/braintree/{2.2.0 → 2.2.1}/express/paypal-min.js +0 -0
  17. js/gene/braintree/2.2.1/vzero-integration-min.js +1 -0
  18. js/gene/braintree/2.2.1/vzero-integration-min.js.map +1 -0
  19. js/gene/braintree/{2.2.0 → 2.2.1}/vzero-min.js +1 -1
  20. js/gene/braintree/2.2.1/vzero-min.js.map +1 -0
  21. js/gene/braintree/{2.2.0 → 2.2.1}/vzero-paypal-min.js +0 -0
  22. js/gene/braintree/2.2.1/vzero-paypal-min.js.map +1 -0
  23. js/gene/braintree/config.codekit +3 -3
  24. js/gene/braintree/express/abstract-min.js +0 -1
  25. js/gene/braintree/source/.DS_Store +0 -0
  26. js/gene/braintree/source/vzero-integration.js +16 -0
  27. js/gene/braintree/source/vzero.js +7 -1
  28. lib/Gene/.DS_Store +0 -0
  29. lib/Gene/Braintree/autoload.php +1 -1
  30. lib/Gene/Braintree/braintree/braintree_php/.github/ISSUE_TEMPLATE.md +9 -0
  31. lib/Gene/Braintree/braintree/braintree_php/CHANGELOG.md +10 -0
  32. lib/Gene/Braintree/braintree/braintree_php/LICENSE +1 -1
  33. lib/Gene/Braintree/braintree/braintree_php/README.md +11 -2
  34. lib/Gene/Braintree/braintree/braintree_php/Rakefile +1 -1
  35. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree.php +0 -2
  36. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AccountUpdaterDailyReport.php +0 -1
  37. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AchMandate.php +0 -1
  38. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Address.php +0 -1
  39. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AddressGateway.php +0 -1
  40. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AmexExpressCheckoutCard.php +0 -2
  41. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AndroidPayCard.php +0 -1
  42. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ApplePayCard.php +0 -1
  43. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Base.php +0 -2
  44. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CoinbaseAccount.php +0 -2
  45. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Collection.php +0 -1
  46. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Configuration.php +25 -1
  47. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ConnectedMerchantPayPalStatusChanged.php +36 -0
  48. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ConnectedMerchantStatusTransitioned.php +36 -0
  49. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CredentialsParser.php +0 -1
  50. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CreditCard.php +0 -1
  51. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CreditCardGateway.php +0 -1
  52. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Customer.php +20 -1
  53. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CustomerGateway.php +9 -4
  54. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Digest.php +0 -2
  55. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/DisbursementDetails.php +0 -1
  56. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Dispute.php +0 -1
  57. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Dispute/TransactionDetails.php +0 -2
  58. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/Codes.php +5 -1
  59. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/ErrorCollection.php +0 -1
  60. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/Validation.php +0 -1
  61. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/ValidationErrorCollection.php +0 -1
  62. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/EuropeBankAccount.php +0 -1
  63. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception.php +0 -1
  64. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Authentication.php +0 -1
  65. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Authorization.php +0 -1
  66. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/DownForMaintenance.php +0 -1
  67. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ForgedQueryString.php +0 -1
  68. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/NotFound.php +0 -1
  69. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/SSLCaFileNotFound.php +0 -1
  70. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/SSLCertificate.php +0 -1
  71. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ServerError.php +0 -1
  72. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/TestOperationPerformedInProduction.php +0 -1
  73. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Timeout.php +0 -1
  74. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/TooManyRequests.php +0 -1
  75. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Unexpected.php +0 -1
  76. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/UpgradeRequired.php +0 -1
  77. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ValidationsFailed.php +0 -1
  78. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Gateway.php +17 -1
  79. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Http.php +3 -3
  80. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IbanBankAccount.php +57 -0
  81. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IdealPayment.php +92 -0
  82. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IdealPaymentGateway.php +104 -0
  83. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Instance.php +0 -1
  84. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/MasterpassCard.php +141 -0
  85. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthCredentials.php +0 -2
  86. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthGateway.php +0 -1
  87. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthResult.php +0 -2
  88. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaginatedCollection.php +1 -2
  89. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PartnerMerchant.php +0 -1
  90. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PayPalAccount.php +0 -2
  91. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PayPalAccountGateway.php +0 -2
  92. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentInstrumentType.php +2 -0
  93. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethod.php +0 -3
  94. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodGateway.php +16 -4
  95. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodNonce.php +0 -3
  96. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodNonceGateway.php +0 -3
  97. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ResourceCollection.php +0 -1
  98. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/CreditCardVerification.php +2 -1
  99. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/Error.php +0 -1
  100. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/Successful.php +0 -1
  101. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Subscription.php +0 -1
  102. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Subscription/StatusDetails.php +0 -1
  103. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/SubscriptionGateway.php +0 -1
  104. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/CreditCardNumbers.php +0 -1
  105. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/MerchantAccount.php +0 -1
  106. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/Nonces.php +8 -2
  107. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/Transaction.php +0 -2
  108. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/TransactionAmounts.php +0 -1
  109. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/VenmoSdk.php +0 -1
  110. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction.php +29 -3
  111. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AddressDetails.php +0 -1
  112. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AmexExpressCheckoutCardDetails.php +0 -2
  113. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AndroidPayCardDetails.php +0 -2
  114. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/ApplePayCardDetails.php +0 -2
  115. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CoinbaseDetails.php +0 -2
  116. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CreditCardDetails.php +0 -1
  117. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CustomerDetails.php +0 -1
  118. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/EuropeBankAccountDetails.php +0 -1
  119. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/IdealPaymentDetails.php +23 -0
  120. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/MasterpassCardDetails.php +51 -0
  121. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/PayPalDetails.php +0 -2
  122. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/StatusDetails.php +0 -1
  123. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/SubscriptionDetails.php +0 -1
  124. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/UsBankAccountDetails.php +1 -2
  125. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/VenmoAccountDetails.php +0 -2
  126. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/VisaCheckoutCardDetails.php +52 -0
  127. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransactionGateway.php +2 -1
  128. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransparentRedirect.php +0 -1
  129. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransparentRedirectGateway.php +0 -1
  130. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UnknownPaymentMethod.php +0 -2
  131. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UsBankAccount.php +0 -2
  132. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UsBankAccountGateway.php +0 -2
  133. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Util.php +0 -2
  134. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/VenmoAccount.php +0 -1
  135. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Version.php +2 -4
  136. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/VisaCheckoutCard.php +154 -0
  137. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookNotification.php +14 -53
  138. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookNotificationGateway.php +69 -0
  139. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookTesting.php +28 -2
  140. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml.php +0 -2
  141. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml/Generator.php +0 -4
  142. lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml/Parser.php +0 -2
  143. lib/Gene/Braintree/braintree/braintree_php/tests/Helper.php +59 -1
  144. lib/Gene/Braintree/braintree/braintree_php/tests/integration/ClientTokenTest.php +3 -2
  145. lib/Gene/Braintree/braintree/braintree_php/tests/integration/CreditCardTest.php +2 -0
  146. lib/Gene/Braintree/braintree/braintree_php/tests/integration/CustomerTest.php +112 -0
  147. lib/Gene/Braintree/braintree/braintree_php/tests/integration/HttpClientApi.php +14 -0
  148. lib/Gene/Braintree/braintree/braintree_php/tests/integration/HttpTest.php +48 -0
  149. lib/Gene/Braintree/braintree/braintree_php/tests/integration/IdealPaymentTest.php +93 -0
  150. lib/Gene/Braintree/braintree/braintree_php/tests/integration/MasterpassCardTest.php +128 -0
  151. lib/Gene/Braintree/braintree/braintree_php/tests/integration/PaymentMethodTest.php +79 -0
  152. lib/Gene/Braintree/braintree/braintree_php/tests/integration/TransactionTest.php +61 -6
  153. lib/Gene/Braintree/braintree/braintree_php/tests/integration/VisaCheckoutCardTest.php +151 -0
  154. lib/Gene/Braintree/braintree/braintree_php/tests/unit/ConfigurationTest.php +12 -0
  155. lib/Gene/Braintree/braintree/braintree_php/tests/unit/MerchantAccountTest.php +0 -1
  156. lib/Gene/Braintree/braintree/braintree_php/tests/unit/PaginatedCollectionTest.php +106 -0
  157. lib/Gene/Braintree/braintree/braintree_php/tests/unit/PaymentMethodTest.php +3 -0
  158. lib/Gene/Braintree/braintree/braintree_php/tests/unit/WebhookNotificationTest.php +83 -0
  159. lib/Gene/Braintree/composer/ClassLoader.php +38 -8
  160. lib/Gene/Braintree/composer/LICENSE +1 -1
  161. lib/Gene/Braintree/composer/autoload_real.php +1 -1
  162. lib/Gene/Braintree/composer/installed.json +6 -6
  163. lib/Gene/composer.json +1 -1
  164. lib/Gene/composer.lock +6 -7
  165. package.xml +4 -4
  166. skin/adminhtml/default/default/css/gene/braintree/.DS_Store +0 -0
  167. skin/frontend/base/default/css/gene/braintree/.DS_Store +0 -0
  168. skin/frontend/base/default/css/gene/braintree/magestore.css +1 -1
app/code/community/Gene/Braintree/Block/Adminhtml/Report/.DS_Store ADDED
Binary file
app/code/community/Gene/Braintree/Block/Assets.php CHANGED
@@ -10,7 +10,7 @@ class Gene_Braintree_Block_Assets extends Mage_Core_Block_Template
10
  /**
11
  * Version of Braintree SDK to be included
12
  */
13
- const SDK_VERSION = '3.9.0';
14
 
15
  /**
16
  * Record the current version
10
  /**
11
  * Version of Braintree SDK to be included
12
  */
13
+ const SDK_VERSION = '3.14.0';
14
 
15
  /**
16
  * Record the current version
app/code/community/Gene/Braintree/Model/.DS_Store ADDED
Binary file
app/code/community/Gene/Braintree/Model/Paymentmethod/Creditcard.php CHANGED
@@ -354,7 +354,10 @@ class Gene_Braintree_Model_Paymentmethod_Creditcard extends Gene_Braintree_Model
354
  ) {
355
  switch ($this->_getConfig('threedsecure_failed_liability')) {
356
  case Gene_Braintree_Model_System_Config_Source_Payment_Liabilityaction::BLOCK:
357
- return $this->processFailedThreeDResult($result);
 
 
 
358
  break;
359
  case Gene_Braintree_Model_System_Config_Source_Payment_Liabilityaction::FRAUD:
360
  $payment->setIsTransactionPending(true);
354
  ) {
355
  switch ($this->_getConfig('threedsecure_failed_liability')) {
356
  case Gene_Braintree_Model_System_Config_Source_Payment_Liabilityaction::BLOCK:
357
+ // Don't fail american express cards
358
+ if ($result->transaction->creditCard['cardType'] != "American Express") {
359
+ return $this->processFailedThreeDResult($result);
360
+ }
361
  break;
362
  case Gene_Braintree_Model_System_Config_Source_Payment_Liabilityaction::FRAUD:
363
  $payment->setIsTransactionPending(true);
app/code/community/Gene/Braintree/Model/Wrapper/Braintree.php CHANGED
@@ -724,7 +724,7 @@ class Gene_Braintree_Model_Wrapper_Braintree extends Mage_Core_Model_Abstract
724
  $createdMethod = true;
725
  }
726
  } else {
727
- Mage::throwException($result->message . Mage::helper('gene_braintree')->__(' Please try again or attempt refreshing the page.'));
728
  }
729
  }
730
  }
724
  $createdMethod = true;
725
  }
726
  } else {
727
+ Mage::throwException(Mage::helper('gene_braintree')->__('%s Please try again or attempt refreshing the page.', $result->message));
728
  }
729
  }
730
  }
app/code/community/Gene/Braintree/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Gene_Braintree>
5
- <version>2.2.0</version>
6
  </Gene_Braintree>
7
  </modules>
8
  <global>
@@ -129,7 +129,7 @@
129
  <disable_auto_formatting>0</disable_auto_formatting>
130
  <use_vault>0</use_vault>
131
  <threedsecure>0</threedsecure>
132
- <threedsecure_failed_liability>1</threedsecure_failed_liability>
133
  <threedsecure_threshold>0</threedsecure_threshold>
134
  <useccv>1</useccv>
135
  <kount_ens_ips>209.81.12.0/24,64.128.91.0/24,64.128.87.0/24</kount_ens_ips>
2
  <config>
3
  <modules>
4
  <Gene_Braintree>
5
+ <version>2.2.1</version>
6
  </Gene_Braintree>
7
  </modules>
8
  <global>
129
  <disable_auto_formatting>0</disable_auto_formatting>
130
  <use_vault>0</use_vault>
131
  <threedsecure>0</threedsecure>
132
+ <threedsecure_failed_liability>3</threedsecure_failed_liability>
133
  <threedsecure_threshold>0</threedsecure_threshold>
134
  <useccv>1</useccv>
135
  <kount_ens_ips>209.81.12.0/24,64.128.91.0/24,64.128.87.0/24</kount_ens_ips>
app/code/community/Gene/Braintree/etc/system.xml CHANGED
@@ -776,7 +776,7 @@
776
  <show_in_store>1</show_in_store>
777
  <comment><![CDATA[
778
  Action to complete if the liability shift fails after the 3D secure. If the liability cannot be shifted the merchant is liable for charge backs.<br />
779
- <strong>Request Alternative Payment Method</strong> - Block the payment and inform the customer to choose a different payment method. This will also block any cards that do not support 3DSecure.<br />
780
  <strong>Accept & Mark as Fraud</strong> - Will accept the payment but mark as fraudulent within Magento for manual inspection.<br />
781
  <strong>Accept</strong> - Will accept the payment and be processed as a normal order (this setting is not recommended).
782
  ]]></comment>
776
  <show_in_store>1</show_in_store>
777
  <comment><![CDATA[
778
  Action to complete if the liability shift fails after the 3D secure. If the liability cannot be shifted the merchant is liable for charge backs.<br />
779
+ <strong>Request Alternative Payment Method</strong> - Block the payment and inform the customer to choose a different payment method. This will also block any cards that do not support 3DSecure excluding American Express.<br />
780
  <strong>Accept & Mark as Fraud</strong> - Will accept the payment but mark as fraudulent within Magento for manual inspection.<br />
781
  <strong>Accept</strong> - Will accept the payment and be processed as a normal order (this setting is not recommended).
782
  ]]></comment>
app/design/frontend/base/default/layout/gene/braintree.xml CHANGED
@@ -19,6 +19,7 @@
19
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-min.js</url></action>
20
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-paypal-min.js</url></action>
21
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-integration-min.js</url></action>
 
22
  </reference>
23
  <reference name="head">
24
  <!-- If Braintree_Payments is enabled remove their JS -->
19
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-min.js</url></action>
20
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-paypal-min.js</url></action>
21
  <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/vzero-integration-min.js</url></action>
22
+ <action method="addJs"><url>gene/braintree/{MODULE_VERSION}/express/abstract-min.js</url></action>
23
  </reference>
24
  <reference name="head">
25
  <!-- If Braintree_Payments is enabled remove their JS -->
app/design/frontend/base/default/template/gene/braintree/.DS_Store ADDED
Binary file
app/design/frontend/base/default/template/gene/braintree/express/cart.phtml CHANGED
@@ -20,7 +20,7 @@ if (!$this->isEnabledCart()) {
20
  document.observe("dom:loaded", function() {
21
  var express = new BraintreePayPalExpress(
22
  false,
23
- '<?php echo Mage::app()->getStore()->getFrontendName(); ?>',
24
  '<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>',
25
  'cart',
26
  {
20
  document.observe("dom:loaded", function() {
21
  var express = new BraintreePayPalExpress(
22
  false,
23
+ '<?php echo addslashes(Mage::app()->getStore()->getFrontendName()); ?>',
24
  '<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>',
25
  'cart',
26
  {
app/design/frontend/base/default/template/gene/braintree/express/catalog.phtml CHANGED
@@ -30,7 +30,7 @@ if (!$this->isEnabledPdp()) {
30
  document.observe("dom:loaded", function() {
31
  var express = new BraintreePayPalExpress(
32
  false,
33
- '<?php echo Mage::app()->getStore()->getFrontendName(); ?>',
34
  '<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>',
35
  'product',
36
  {
30
  document.observe("dom:loaded", function() {
31
  var express = new BraintreePayPalExpress(
32
  false,
33
+ '<?php echo addslashes(Mage::app()->getStore()->getFrontendName()); ?>',
34
  '<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>',
35
  'product',
36
  {
app/design/frontend/base/default/template/gene/braintree/js/setup.phtml CHANGED
@@ -40,7 +40,7 @@
40
  // Pass some data through to the PayPal integration
41
  var vzeroPaypal = new vZeroPayPalButton(
42
  false,
43
- '<?php echo Mage::app()->getStore()->getFrontendName(); ?>',
44
  <?php echo $this->getSingleUse(); ?>,
45
  '<?php echo $this->getLocale(); ?>',
46
  <?php echo $this->getSingleFutureUse(); ?>,
40
  // Pass some data through to the PayPal integration
41
  var vzeroPaypal = new vZeroPayPalButton(
42
  false,
43
+ '<?php echo addslashes(Mage::app()->getStore()->getFrontendName()); ?>',
44
  <?php echo $this->getSingleUse(); ?>,
45
  '<?php echo $this->getLocale(); ?>',
46
  <?php echo $this->getSingleFutureUse(); ?>,
js/gene/braintree/.DS_Store CHANGED
Binary file
js/gene/braintree/2.2.0/vzero-integration-min.js DELETED
@@ -1 +0,0 @@
1
- var vZeroIntegration=Class.create();vZeroIntegration.prototype={initialize:function(e,t,i,a,n,r,o){return vZeroIntegration.prototype.loaded?(console.error("Your checkout is including the Braintree resources multiple times, please resolve this."),!1):(vZeroIntegration.prototype.loaded=!0,this.vzero=e||!1,this.vzeroPaypal=t||!1,this.vzero===!1&&this.vzeroPaypal===!1?(console.warn("The vzero and vzeroPaypal objects are not initiated."),!1):(this.paypalWrapperMarkUp=i||!1,this.paypalButtonClass=a||!1,this.submitButtonClass=this.paypalButtonClass,this.isOnepage=n||!1,this.config=r||{},this.submitAfterPayment=o||!1,this._methodSwitchTimeout=!1,this._originalSubmitFn=!1,this.kountEnvironment=!1,this.kountId=!1,document.observe("dom:loaded",function(){this.captureOriginalSubmitFn()&&this.observeSubmissionOverride(),this.prepareSubmitObserver(),this.preparePaymentMethodSwitchObserver()}.bind(this)),this.hostedFieldsGenerated=!1,this.isOnepage&&(this.observeAjaxRequests(),document.observe("dom:loaded",function(){this.initSavedPayPal(),this.initDefaultMethod(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))),document.observe("dom:loaded",function(){this.initSavedMethods(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this)),this._deviceDataInit=!1,this.vzero.observeEvent(["onHandleAjaxRequest","integration.onInitSavedMethods"],this.initDeviceData,this),this.vzero.observeEvent("integration.onBeforeSubmit",function(){null!=$("braintree-device-data")&&$("braintree-device-data").writeAttribute("disabled",!1)},this),void this.vzero.fireEvent(this,"integration.onInit",{integration:this})))},initDeviceData:function(e,t){if(null!=$("credit-card-form")){var i=$("credit-card-form").up("form");if(void 0!=i&&0==i.select("#braintree-device-data").length){if(t._deviceDataInit===!0)return!1;t._deviceDataInit=!0;var a=new Element("input",{type:"hidden",name:"payment[device_data]",id:"braintree-device-data"});i.insert(a),t.populateDeviceData(a)}}},populateDeviceData:function(e){this.vzero.getClient(function(t){var i={client:t,kount:!0};this.vzeroPaypal!==!1&&(i.paypal=!0),braintree.dataCollector.create(i,function(t,i){return t?void("DATA_COLLECTOR_KOUNT_NOT_ENABLED"!=t.code&&"DATA_COLLECTOR_PAYPAL_NOT_ENABLED"!=t.code?console.error(t):(console.warn("A warning occurred whilst initialisation the Braintree data collector. This warning can be safely ignored."),console.warn(t))):(e.value=i.deviceData,e.writeAttribute("disabled",!1),void(this._deviceDataInit=!1))}.bind(this))}.bind(this))},initSavedMethods:function(){$$('#creditcard-saved-accounts input[type="radio"], #paypal-saved-accounts input[type="radio"]').each(function(e){var t="",i="";void 0!==e.up("#creditcard-saved-accounts")?(t="#creditcard-saved-accounts",i="#credit-card-form"):void 0!==e.up("#paypal-saved-accounts")&&(t="#paypal-saved-accounts",i=".paypal-info"),$(e).stopObserving("change").observe("change",function(e){return this.showHideOtherMethod(t,i)}.bind(this))}.bind(this)),this.vzero.fireEvent(this,"integration.onInitSavedMethods")},showHideOtherMethod:function(e,t){void 0!==$$(e+" input:checked[type=radio]").first()&&"other"==$$(e+" input:checked[type=radio]").first().value?void 0!==$$(t).first()&&($$(t).first().show(),$$(t+" input, "+t+" select").each(function(e){e.removeAttribute("disabled")})):void 0!==$$(e+" input:checked[type=radio]").first()&&void 0!==$$(t).first()&&($$(t).first().hide(),$$(t+" input, "+t+" select").each(function(e){e.setAttribute("disabled","disabled")})),this.vzero.fireEvent(this,"integration.onShowHideOtherMethod",{parentElement:e,targetElement:t})},checkSavedOther:function(){var e="",t="";"gene_braintree_creditcard"==this.getPaymentMethod()?(e="#creditcard-saved-accounts",t="#credit-card-form"):"gene_braintree_paypal"==this.getPaymentMethod()&&(e="#paypal-saved-accounts",t=".paypal-info"),void 0!==$$(e).first()&&this.showHideOtherMethod(e,t),this.vzero.fireEvent(this,"integration.onCheckSavedOther")},afterPaymentMethodSwitch:function(){return!0},initHostedFields:function(){this.vzero.hostedFields&&null!==$("braintree-hosted-submit")&&(void 0!==$("braintree-hosted-submit").up("form")?(this.form=$("braintree-hosted-submit").up("form"),this.vzero.initHostedFields(this)):console.error("Hosted Fields cannot be initialized as we're unable to locate the parent form."))},validateHostedFields:function(){if(!this.vzero.usingSavedCard()&&this.vzero._hostedIntegration){var e=this.vzero._hostedIntegration.getState(),t=[],i={number:Translator.translate("Card Number"),expirationMonth:Translator.translate("Expiry Month"),expirationYear:Translator.translate("Expiry Year"),cvv:Translator.translate("CVV"),postalCode:Translator.translate("Postal Code")};if($H(e.fields).each(function(e){0==e[1].isValid&&t.push(i[e[0]]+" "+Translator.translate("is invalid."))}.bind(this)),t.length>0)return alert(Translator.translate("There are a number of errors present with the credit card form:")+"\n"+t.join("\n")),!1;if(this.vzero.cardType&&this.vzero.supportedCards&&-1==this.vzero.supportedCards.indexOf(this.vzero.cardType))return alert(Translator.translate("We're currently unable to process this card type, please try another card or payment method.")),!1}return!0},initDefaultMethod:function(){this.shouldAddPayPalButton(!1)&&(this.setLoading(),this.vzero.updateData(function(){this.resetLoading(),this.updatePayPalButton("add")}.bind(this))),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onInitDefaultMethod")},observeAjaxRequests:function(){this.vzero.observeAjaxRequests(function(){this.vzero.updateData(function(){this.isOnepage&&(this.initSavedPayPal(),this.rebuildPayPalButton(),this.checkSavedOther(),this.vzero.hostedFields&&this.initHostedFields()),this.initSavedMethods(),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onObserveAjaxRequests")}.bind(this))}.bind(this),"undefined"!=typeof this.config.ignoreAjax?this.config.ignoreAjax:!1)},rebuildPayPalButton:function(){null==$("paypal-container")&&this.updatePayPalButton()},initSavedPayPal:function(){void 0!==$$("#paypal-saved-accounts input[type=radio]").first()&&$("paypal-saved-accounts").on("change","input[type=radio]",function(e){this.updatePayPalButton(!1,"gene_braintree_paypal")}.bind(this))},captureOriginalSubmitFn:function(){return!1},observeSubmissionOverride:function(){setInterval(function(){this._originalSubmitFn&&this.prepareSubmitObserver()}.bind(this),500)},prepareSubmitObserver:function(){return!1},beforeSubmit:function(e){return this._beforeSubmit(e)},_beforeSubmit:function(e){this.vzero.fireEvent(this,"integration.onBeforeSubmit"),this.submitAfterPayment&&$("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove(),e()},afterSubmit:function(){return this.vzero.fireEvent(this,"integration.onAfterSubmit"),!1},submit:function(e,t,i,a){this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.shouldInterceptSubmit(e)&&("creditcard"!=e||"creditcard"==e&&this.validateHostedFields())&&(this.validateAll()?(this.setLoading(),this.beforeSubmit(function(){void 0!=$$('[data-genebraintree-name="number"]').first()&&this.vzero.updateCardType($$('[data-genebraintree-name="number"]').first().value),this.vzero.updateData(function(){this.updateBilling(),this.vzero.process({onSuccess:function(){if(this.enableDeviceData(),this.resetLoading(),this.afterSubmit(),this.enableDisableNonce(),this.vzero._hostedFieldsTokenGenerated=!0,this.hostedFieldsGenerated=!0,"function"==typeof t)var e=t();return this.setLoading(),e}.bind(this),onFailure:function(){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,alert(Translator.translate("We're unable to process your payment, please try another card or payment method.")),this.resetLoading(),this.afterSubmit(),"function"==typeof i?i():void 0}.bind(this)})}.bind(this),this.getUpdateDataParams())}.bind(this))):(this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),"function"==typeof a&&a()))},submitCheckout:function(){window.review&&review.save()},submitPayment:function(){payment.save&&payment.save()},enableDisableNonce:function(){"gene_braintree_creditcard"==this.getPaymentMethod()?(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").removeAttribute("disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").setAttribute("disabled","disabled")):"gene_braintree_paypal"==this.getPaymentMethod()&&(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").setAttribute("disabled","disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").removeAttribute("disabled"))},preparePaymentMethodSwitchObserver:function(){return this.defaultPaymentMethodSwitch()},defaultPaymentMethodSwitch:function(){var e=this,t=Payment.prototype.switchMethod;Payment.prototype.switchMethod=function(i){return e.paymentMethodSwitch(i),t.apply(this,arguments)}},paymentMethodSwitch:function(e){clearTimeout(this._methodSwitchTimeout),this._methodSwitchTimeout=setTimeout(function(){this.shouldAddPayPalButton(e)?this.updatePayPalButton("add",e):this.updatePayPalButton("remove",e),"gene_braintree_creditcard"==(e?e:this.getPaymentMethod())&&this.initHostedFields(),this.checkSavedOther(),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onPaymentMethodSwitch",{method:e})}.bind(this),50)},completePayPal:function(e){return this.enableDisableNonce(),this.enableDeviceData(),e.nonce&&null!==$("paypal-payment-nonce")?($("paypal-payment-nonce").value=e.nonce,$("paypal-payment-nonce").setAttribute("value",e.nonce)):console.warn("Unable to update PayPal nonce, please verify that the nonce input field has the ID: paypal-payment-nonce"),this.afterPayPalComplete(),!1},afterPayPalComplete:function(){this.resetLoading();var e=$$(this.paypalButtonClass).first();return e?(e.stopObserving("click").observe("click",this.submitCheckout),this.updatePayPalButton("remove"),!0):this.submitCheckout()},getPayPalMarkUp:function(){return $("braintree-paypal-button").innerHTML},updatePayPalButton:function(e,t){if(this.paypalWrapperMarkUp===!1)return!1;if("refresh"==e)return!0;if(this.shouldAddPayPalButton(t)&&"remove"!=e||"add"==e)if(void 0!==$$(this.paypalButtonClass).first()){if($$(this.paypalButtonClass).first().hide(),void 0!==$$("#paypal-complete").first())return $$("#paypal-complete").first().show(),!0;$$(this.paypalButtonClass).first().insert({after:this.paypalWrapperMarkUp}),this.vzeroPaypal.addPayPalButton({validate:this.validateAll.bind(this),onSuccess:this.completePayPal.bind(this),onReady:this.paypalOnReady.bind(this)},this.getPayPalMarkUp(),"#paypal-container")}else console.warn("We're unable to find the element "+this.paypalButtonClass+". Please check your integration.");else void 0!==$$(this.paypalButtonClass).first()&&$$(this.paypalButtonClass).first().show(),void 0!==$$("#paypal-complete").first()&&$("paypal-complete").hide()},onReviewInit:function(){this.isOnepage||this.updatePayPalButton(),this.vzero.fireEvent(this,"integration.onReviewInit")},paypalOnReady:function(e){return!0},setLoading:function(){checkout.setLoadWaiting("payment")},resetLoading:function(){checkout.setLoadWaiting(!1)},enableDeviceData:function(){null!==$("device_data")&&$("device_data").removeAttribute("disabled")},updateBilling:function(){(null!==$("billing-address-select")&&""==$("billing-address-select").value||null===$("billing-address-select"))&&(null!==$("billing:firstname")&&null!==$("billing:lastname")&&this.vzero.setBillingName($("billing:firstname").value+" "+$("billing:lastname").value),null!==$("billing:postcode")&&this.vzero.setBillingPostcode($("billing:postcode").value))},getUpdateDataParams:function(){var e={};return null!==$("billing-address-select")&&""!=$("billing-address-select").value&&(e.addressId=$("billing-address-select").value),e},getPaymentMethod:function(){return payment.currentMethod},shouldInterceptSubmit:function(e){switch(e){case"creditcard":return"gene_braintree_creditcard"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard();break;case"paypal":return"gene_braintree_paypal"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard()}return!1},shouldAddPayPalButton:function(e){return"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&null===$("paypal-saved-accounts")||"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&void 0!==$$("#paypal-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#paypal-saved-accounts input:checked[type=radio]").first().value},threeDTokenizationComplete:function(){this.resetLoading()},validateAll:function(){return!0},disableCreditCardForm:function(){},enableCreditCardForm:function(){}};
 
js/gene/braintree/{2.2.0 → 2.2.1}/express/abstract-min.js RENAMED
File without changes
js/gene/braintree/{2.2.0 → 2.2.1}/express/paypal-min.js RENAMED
File without changes
js/gene/braintree/2.2.1/vzero-integration-min.js ADDED
@@ -0,0 +1 @@
 
1
+ var vZeroIntegration=Class.create();vZeroIntegration.prototype={dataCollectorInstance:null,initialize:function(t,e,i,a,n,r,o){return vZeroIntegration.prototype.loaded?(console.error("Your checkout is including the Braintree resources multiple times, please resolve this."),!1):(vZeroIntegration.prototype.loaded=!0,this.vzero=t||!1,this.vzeroPaypal=e||!1,this.vzero===!1&&this.vzeroPaypal===!1?(console.warn("The vzero and vzeroPaypal objects are not initiated."),!1):(this.paypalWrapperMarkUp=i||!1,this.paypalButtonClass=a||!1,this.submitButtonClass=this.paypalButtonClass,this.isOnepage=n||!1,this.config=r||{},this.submitAfterPayment=o||!1,this._methodSwitchTimeout=!1,this._originalSubmitFn=!1,this.kountEnvironment=!1,this.kountId=!1,document.observe("dom:loaded",function(){this.captureOriginalSubmitFn()&&this.observeSubmissionOverride(),this.prepareSubmitObserver(),this.preparePaymentMethodSwitchObserver()}.bind(this)),this.hostedFieldsGenerated=!1,this.isOnepage&&(this.observeAjaxRequests(),document.observe("dom:loaded",function(){this.initSavedPayPal(),this.initDefaultMethod(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))),document.observe("dom:loaded",function(){this.initSavedMethods(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this)),this._deviceDataInit=!1,this.vzero.observeEvent(["onHandleAjaxRequest","integration.onInitSavedMethods"],this.initDeviceData,this),this.vzero.observeEvent("integration.onBeforeSubmit",function(){null!=$("braintree-device-data")&&$("braintree-device-data").writeAttribute("disabled",!1)},this),void this.vzero.fireEvent(this,"integration.onInit",{integration:this})))},initDeviceData:function(t,e){if(null!=$("credit-card-form")){var i=$("credit-card-form").up("form");if(void 0!=i&&0==i.select("#braintree-device-data").length){if(e._deviceDataInit===!0)return!1;e._deviceDataInit=!0;var a=new Element("input",{type:"hidden",name:"payment[device_data]",id:"braintree-device-data"});i.insert(a),e.populateDeviceData(a)}}},populateDeviceData:function(t){return null!==this.dataCollectorInstance?void this.dataCollectorInstance.teardown(function(){return this.dataCollectorInstance=null,this.populateDeviceData(t)}.bind(this)):void this.vzero.getClient(function(e){var i={client:e,kount:!0};this.vzeroPaypal!==!1&&(i.paypal=!0),braintree.dataCollector.create(i,function(e,i){return e?void("DATA_COLLECTOR_KOUNT_NOT_ENABLED"!=e.code&&"DATA_COLLECTOR_PAYPAL_NOT_ENABLED"!=e.code?console.error(e):(console.warn("A warning occurred whilst initialisation the Braintree data collector. This warning can be safely ignored."),console.warn(e))):(this.dataCollectorInstance=i,t.value=i.deviceData,t.writeAttribute("disabled",!1),void(this._deviceDataInit=!1))}.bind(this))}.bind(this))},initSavedMethods:function(){$$('#creditcard-saved-accounts input[type="radio"], #paypal-saved-accounts input[type="radio"]').each(function(t){var e="",i="";void 0!==t.up("#creditcard-saved-accounts")?(e="#creditcard-saved-accounts",i="#credit-card-form"):void 0!==t.up("#paypal-saved-accounts")&&(e="#paypal-saved-accounts",i=".paypal-info"),$(t).stopObserving("change").observe("change",function(t){return this.showHideOtherMethod(e,i)}.bind(this))}.bind(this)),this.vzero.fireEvent(this,"integration.onInitSavedMethods")},showHideOtherMethod:function(t,e){void 0!==$$(t+" input:checked[type=radio]").first()&&"other"==$$(t+" input:checked[type=radio]").first().value?void 0!==$$(e).first()&&($$(e).first().show(),$$(e+" input, "+e+" select").each(function(t){t.removeAttribute("disabled")})):void 0!==$$(t+" input:checked[type=radio]").first()&&void 0!==$$(e).first()&&($$(e).first().hide(),$$(e+" input, "+e+" select").each(function(t){t.setAttribute("disabled","disabled")})),this.vzero.fireEvent(this,"integration.onShowHideOtherMethod",{parentElement:t,targetElement:e})},checkSavedOther:function(){var t="",e="";"gene_braintree_creditcard"==this.getPaymentMethod()?(t="#creditcard-saved-accounts",e="#credit-card-form"):"gene_braintree_paypal"==this.getPaymentMethod()&&(t="#paypal-saved-accounts",e=".paypal-info"),void 0!==$$(t).first()&&this.showHideOtherMethod(t,e),this.vzero.fireEvent(this,"integration.onCheckSavedOther")},afterPaymentMethodSwitch:function(){return!0},initHostedFields:function(){this.vzero.hostedFields&&null!==$("braintree-hosted-submit")&&(void 0!==$("braintree-hosted-submit").up("form")?(this.form=$("braintree-hosted-submit").up("form"),this.vzero.initHostedFields(this)):console.error("Hosted Fields cannot be initialized as we're unable to locate the parent form."))},validateHostedFields:function(){if(!this.vzero.usingSavedCard()&&this.vzero._hostedIntegration){var t=this.vzero._hostedIntegration.getState(),e=[],i={number:Translator.translate("Card Number"),expirationMonth:Translator.translate("Expiry Month"),expirationYear:Translator.translate("Expiry Year"),cvv:Translator.translate("CVV"),postalCode:Translator.translate("Postal Code")};if($H(t.fields).each(function(t){0==t[1].isValid&&e.push(i[t[0]]+" "+Translator.translate("is invalid."))}.bind(this)),e.length>0)return alert(Translator.translate("There are a number of errors present with the credit card form:")+"\n"+e.join("\n")),!1;if(this.vzero.cardType&&this.vzero.supportedCards&&-1==this.vzero.supportedCards.indexOf(this.vzero.cardType))return alert(Translator.translate("We're currently unable to process this card type, please try another card or payment method.")),!1}return!0},initDefaultMethod:function(){this.shouldAddPayPalButton(!1)&&(this.setLoading(),this.vzero.updateData(function(){this.resetLoading(),this.updatePayPalButton("add")}.bind(this))),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onInitDefaultMethod")},observeAjaxRequests:function(){this.vzero.observeAjaxRequests(function(){this.vzero.updateData(function(){this.isOnepage&&(this.initSavedPayPal(),this.rebuildPayPalButton(),this.checkSavedOther(),this.vzero.hostedFields&&this.initHostedFields()),this.initSavedMethods(),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onObserveAjaxRequests")}.bind(this))}.bind(this),"undefined"!=typeof this.config.ignoreAjax?this.config.ignoreAjax:!1)},rebuildPayPalButton:function(){null==$("paypal-container")&&this.updatePayPalButton()},initSavedPayPal:function(){void 0!==$$("#paypal-saved-accounts input[type=radio]").first()&&$("paypal-saved-accounts").on("change","input[type=radio]",function(t){this.updatePayPalButton(!1,"gene_braintree_paypal")}.bind(this))},captureOriginalSubmitFn:function(){return!1},observeSubmissionOverride:function(){setInterval(function(){this._originalSubmitFn&&this.prepareSubmitObserver()}.bind(this),500)},prepareSubmitObserver:function(){return!1},beforeSubmit:function(t){return this._beforeSubmit(t)},_beforeSubmit:function(t){this.vzero.fireEvent(this,"integration.onBeforeSubmit"),this.submitAfterPayment&&$("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove(),t()},afterSubmit:function(){return this.vzero.fireEvent(this,"integration.onAfterSubmit"),!1},submit:function(t,e,i,a){this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.shouldInterceptSubmit(t)&&("creditcard"!=t||"creditcard"==t&&this.validateHostedFields())&&(this.validateAll()?(this.setLoading(),this.beforeSubmit(function(){void 0!=$$('[data-genebraintree-name="number"]').first()&&this.vzero.updateCardType($$('[data-genebraintree-name="number"]').first().value),this.vzero.updateData(function(){this.updateBilling(),this.vzero.process({onSuccess:function(){if(this.enableDeviceData(),this.resetLoading(),this.afterSubmit(),this.enableDisableNonce(),this.vzero._hostedFieldsTokenGenerated=!0,this.hostedFieldsGenerated=!0,"function"==typeof e)var t=e();return this.setLoading(),t}.bind(this),onFailure:function(){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,alert(Translator.translate("We're unable to process your payment, please try another card or payment method.")),this.resetLoading(),this.afterSubmit(),"function"==typeof i?i():void 0}.bind(this)})}.bind(this),this.getUpdateDataParams())}.bind(this))):(this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),"function"==typeof a&&a()))},submitCheckout:function(){window.review&&review.save()},submitPayment:function(){payment.save&&payment.save()},enableDisableNonce:function(){"gene_braintree_creditcard"==this.getPaymentMethod()?(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").removeAttribute("disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").setAttribute("disabled","disabled")):"gene_braintree_paypal"==this.getPaymentMethod()&&(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").setAttribute("disabled","disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").removeAttribute("disabled"))},preparePaymentMethodSwitchObserver:function(){return this.defaultPaymentMethodSwitch()},defaultPaymentMethodSwitch:function(){var t=this,e=Payment.prototype.switchMethod;Payment.prototype.switchMethod=function(i){return t.paymentMethodSwitch(i),e.apply(this,arguments)}},paymentMethodSwitch:function(t){clearTimeout(this._methodSwitchTimeout),this._methodSwitchTimeout=setTimeout(function(){this.shouldAddPayPalButton(t)?this.updatePayPalButton("add",t):this.updatePayPalButton("remove",t),"gene_braintree_creditcard"==(t?t:this.getPaymentMethod())&&this.initHostedFields(),this.checkSavedOther(),this.afterPaymentMethodSwitch(),this.vzero.fireEvent(this,"integration.onPaymentMethodSwitch",{method:t})}.bind(this),50)},completePayPal:function(t){return this.enableDisableNonce(),this.enableDeviceData(),t.nonce&&null!==$("paypal-payment-nonce")?($("paypal-payment-nonce").value=t.nonce,$("paypal-payment-nonce").setAttribute("value",t.nonce)):console.warn("Unable to update PayPal nonce, please verify that the nonce input field has the ID: paypal-payment-nonce"),this.afterPayPalComplete(),!1},afterPayPalComplete:function(){this.resetLoading();var t=$$(this.paypalButtonClass).first();return t?(t.stopObserving("click").observe("click",this.submitCheckout),this.updatePayPalButton("remove"),!0):this.submitCheckout()},getPayPalMarkUp:function(){return $("braintree-paypal-button").innerHTML},updatePayPalButton:function(t,e){if(this.paypalWrapperMarkUp===!1)return!1;if("refresh"==t)return!0;if(this.shouldAddPayPalButton(e)&&"remove"!=t||"add"==t)if(void 0!==$$(this.paypalButtonClass).first()){if($$(this.paypalButtonClass).first().hide(),void 0!==$$("#paypal-complete").first())return $$("#paypal-complete").first().show(),!0;$$(this.paypalButtonClass).first().insert({after:this.paypalWrapperMarkUp}),this.vzeroPaypal.addPayPalButton({validate:this.validateAll.bind(this),onSuccess:this.completePayPal.bind(this),onReady:this.paypalOnReady.bind(this)},this.getPayPalMarkUp(),"#paypal-container")}else console.warn("We're unable to find the element "+this.paypalButtonClass+". Please check your integration.");else void 0!==$$(this.paypalButtonClass).first()&&$$(this.paypalButtonClass).first().show(),void 0!==$$("#paypal-complete").first()&&$("paypal-complete").hide()},onReviewInit:function(){this.isOnepage||this.updatePayPalButton(),this.vzero.fireEvent(this,"integration.onReviewInit")},paypalOnReady:function(t){return!0},setLoading:function(){checkout.setLoadWaiting("payment")},resetLoading:function(){checkout.setLoadWaiting(!1)},enableDeviceData:function(){null!==$("device_data")&&$("device_data").removeAttribute("disabled")},updateBilling:function(){(null!==$("billing-address-select")&&""==$("billing-address-select").value||null===$("billing-address-select"))&&(null!==$("billing:firstname")&&null!==$("billing:lastname")&&this.vzero.setBillingName($("billing:firstname").value+" "+$("billing:lastname").value),null!==$("billing:postcode")&&this.vzero.setBillingPostcode($("billing:postcode").value))},getUpdateDataParams:function(){var t={};return null!==$("billing-address-select")&&""!=$("billing-address-select").value&&(t.addressId=$("billing-address-select").value),t},getPaymentMethod:function(){return payment.currentMethod},shouldInterceptSubmit:function(t){switch(t){case"creditcard":return"gene_braintree_creditcard"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard();break;case"paypal":return"gene_braintree_paypal"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard()}return!1},shouldAddPayPalButton:function(t){return"gene_braintree_paypal"==(t?t:this.getPaymentMethod())&&null===$("paypal-saved-accounts")||"gene_braintree_paypal"==(t?t:this.getPaymentMethod())&&void 0!==$$("#paypal-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#paypal-saved-accounts input:checked[type=radio]").first().value},threeDTokenizationComplete:function(){this.resetLoading()},validateAll:function(){return!0},disableCreditCardForm:function(){},enableCreditCardForm:function(){}};
js/gene/braintree/2.2.1/vzero-integration-min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["../source/vzero-integration.js"],"names":["vZeroIntegration","Class","create","prototype","initialize","vzero","vzeroPaypal","paypalWrapperMarkUp","paypalButtonClass","isOnepage","config","submitAfterPayment","loaded","console","error","this","warn","submitButtonClass","_methodSwitchTimeout","_originalSubmitFn","kountEnvironment","kountId","document","observe","captureOriginalSubmitFn","observeSubmissionOverride","prepareSubmitObserver","preparePaymentMethodSwitchObserver","bind","hostedFieldsGenerated","observeAjaxRequests","initSavedPayPal","initDefaultMethod","$","initHostedFields","initSavedMethods","_deviceDataInit","observeEvent","initDeviceData","writeAttribute","fireEvent","integration","params","self","form","up","undefined","select","length","input","Element","type","name","id","insert","populateDeviceData","getClient","clientInstance","client","kount","paypal","braintree","dataCollector","err","dataCollectorInstance","code","value","deviceData","$$","each","element","parentElement","targetElement","stopObserving","event","showHideOtherMethod","first","show","formElement","removeAttribute","hide","setAttribute","checkSavedOther","getPaymentMethod","afterPaymentMethodSwitch","hostedFields","validateHostedFields","usingSavedCard","_hostedIntegration","state","getState","errorMsgs","translate","number","Translator","expirationMonth","expirationYear","cvv","postalCode","$H","fields","field","isValid","push","alert","join","cardType","supportedCards","indexOf","shouldAddPayPalButton","setLoading","updateData","resetLoading","updatePayPalButton","rebuildPayPalButton","ignoreAjax","on","setInterval","beforeSubmit","callback","_beforeSubmit","remove","afterSubmit","submit","successCallback","failedCallback","validateFailedCallback","_hostedFieldsTokenGenerated","shouldInterceptSubmit","validateAll","updateCardType","updateBilling","process","onSuccess","enableDeviceData","enableDisableNonce","response","onFailure","getUpdateDataParams","submitCheckout","window","review","save","submitPayment","payment","defaultPaymentMethodSwitch","vzeroIntegration","paymentSwitchOriginal","Payment","switchMethod","method","paymentMethodSwitch","apply","arguments","clearTimeout","setTimeout","completePayPal","obj","nonce","afterPayPalComplete","btn","getPayPalMarkUp","innerHTML","action","after","addPayPalButton","validate","onReady","paypalOnReady","onReviewInit","checkout","setLoadWaiting","setBillingName","setBillingPostcode","parameters","addressId","currentMethod","shouldInterceptCreditCard","threeDTokenizationComplete","disableCreditCardForm","enableCreditCardForm"],"mappings":"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","file":"vzero-integration-min.js"}
js/gene/braintree/{2.2.0 → 2.2.1}/vzero-min.js RENAMED
@@ -1 +1 @@
1
- var vZero=Class.create();vZero.prototype={initialize:function(e,t,i,n,r,o,s,a,d){this.code=e,this.clientToken=t||!1,this.clientTokenUrl=d,this.threeDSecure=i,this.hostedFields=n,r&&(this.billingName=r),o&&(this.billingPostcode=o),this.billingCountryId=!1,s&&(this.quoteUrl=s),a&&(this.tokenizeUrl=a),this._hostedFieldsTokenGenerated=!1,this.acceptedCards=!1,this._hostedFieldsTimeout=!1,this._updateDataCallbacks=[],this._updateDataTimeout=null,this.client=!1,this.threeDSpecificCountries=!1,this.threeDCountries=[],this.threeDSecureFailedAction=0,this.supportedCards=[],this.cardType=!1,this.initEvents()},initEvents:function(){this.events={onBeforeUpdateData:[],onAfterUpdateData:[],onHandleAjaxRequest:[],integration:{onInit:[],onInitDefaultMethod:[],onInitSavedMethods:[],onShowHideOtherMethod:[],onCheckSavedOther:[],onPaymentMethodSwitch:[],onReviewInit:[],onBeforeSubmit:[],onAfterSubmit:[],onObserveAjaxRequests:[]}}},setKount:function(e,t){this.kountEnvironment=e,""!=t&&(this.kountId=t)},setSupportedCards:function(e){"string"==typeof e&&(e=e.split(",")),this.supportedCards=e},setThreeDCountries:function(e){"string"==typeof e&&(e=e.split(",")),this.threeDSpecificCountries=!0,this.threeDCountries=e},setThreeDFailedAction:function(e){this.threeDSecureFailedAction=e},observeEvent:function(e,t,i){Array.isArray(e)||(e=[e]),e.each(function(e){var n=this._resolveEvent(e);void 0===n?console.warn("Event for "+e+" does not exist."):n.push({fn:t,params:i})}.bind(this))},fireEvent:function(e,t,i){var n=this._resolveEvent(t);void 0!==n&&n.length>0&&n.each(function(t){if("function"==typeof t.fn){var arguments=[i];"object"==typeof t.params&&arguments.push(t.params),t.fn.apply(e,arguments)}})},_resolveEvent:function(e){return e.split(".").reduce(function(e,t){return e?e[t]:void 0},this.events)},getClientToken:function(e){return this.clientToken!==!1?e(this.clientToken):window.braintreeClientToken?e(window.braintreeClientToken):void new Ajax.Request(this.clientTokenUrl,{method:"get",onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);if(1==i.success&&"string"==typeof i.client_token)return this.clientToken=i.client_token,window.braintreeClientToken=i.client_token,e(this.clientToken);console.error("We were unable to retrieve a client token from the server to initialize the Braintree flow."),i.error&&console.error(i.error)}}.bind(this),onFailure:function(){console.error("We were unable to retrieve a client token from the server to initialize the Braintree flow.")}.bind(this)})},getClient:function(e){this.client!==!1?"function"==typeof e&&e(this.client):this.getClientToken(function(t){braintree.client.create({authorization:t},function(t,i){return t?void console.error(t):(this.client=i,void e(this.client))}.bind(this))})},initHostedFields:function(e){return $$('iframe[name^="braintree-"]').length>0?!1:null===$("braintree-hosted-submit")?!1:(this.integration=e,this._hostedFieldsTokenGenerated=!1,clearTimeout(this._hostedFieldsTimeout),void(this._hostedFieldsTimeout=setTimeout(function(){if(this._hostedIntegration!==!1)try{this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,this.setupHostedFieldsClient()}.bind(this))}catch(e){this.setupHostedFieldsClient()}else this.setupHostedFieldsClient()}.bind(this),50)))},teardownHostedFields:function(e){"undefined"!=typeof this._hostedIntegration&&this._hostedIntegration!==!1?this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,"function"==typeof e&&e()}.bind(this)):"function"==typeof e&&e()},setupHostedFieldsClient:function(){return $$('iframe[name^="braintree-"]').length>0?!1:(this._hostedIntegration=!1,this.checkSubmitAfterPayment(),void this.getClient(function(e){var t={client:e,styles:this.getHostedFieldsStyles(),fields:{number:{selector:"#card-number",placeholder:"0000 0000 0000 0000"},expirationMonth:{selector:"#expiration-month",placeholder:"MM"},expirationYear:{selector:"#expiration-year",placeholder:"YY"}}};null!==$("cvv")&&(t.fields.cvv={selector:"#cvv"}),braintree.hostedFields.create(t,function(e,t){if(e){if("HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME"==e.code)return;return void console.error(e)}return this.hostedFieldsOnReady(t)}.bind(this))}.bind(this)))},hostedFieldsOnReady:function(e){this._hostedIntegration=e,$$("#credit-card-form.loading").length&&$$("#credit-card-form.loading").first().removeClassName("loading"),this.checkSubmitAfterPayment(),e.on("cardTypeChange",this.hostedFieldsCardTypeChange.bind(this))},checkSubmitAfterPayment:function(){if(this.integration.submitAfterPayment){if(null==$("braintree-submit-after-payment")){var e=new Element("input",{type:"hidden",name:"payment[submit_after_payment]",value:1,id:"braintree-submit-after-payment"});$("payment_form_gene_braintree_creditcard").insert(e)}}else $("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},getHostedFieldsStyles:function(){return"function"==typeof this.integration.getHostedFieldsStyles?this.integration.getHostedFieldsStyles():{input:{"font-size":"14pt",color:"#3A3A3A"},":focus":{color:"black"},".valid":{color:"green"},".invalid":{color:"red"}}},hostedFieldsCardTypeChange:function(e){if("undefined"!=typeof e.cards){var t={visa:"VI","american-express":"AE","master-card":"MC",discover:"DI",jcb:"JCB",maestro:"ME"};void 0!==typeof t[e.cards[0].type]?(this.cardType=t[e.cards[0].type],this.updateCardType(!1,this.cardType),-1==this.supportedCards.indexOf(this.cardType)?this.showCardUnsupported():this.removeCardUnsupported()):(this.removeCardUnsupported(),this.cardType=!1,this.updateCardType(!1,"card"))}},showCardUnsupported:function(){if($$(".braintree-card-input-field").length>0){var e=$$(".braintree-card-input-field").first().up();if(0==e.select(".braintree-card-unsupported").length){var t=new Element("div",{"class":"braintree-card-unsupported"}).update(Translator.translate("We're currently unable to process this card type, please try another card or payment method."));e.insert(t)}}},removeCardUnsupported:function(){$$(".braintree-card-unsupported").length>0&&$$(".braintree-card-unsupported").each(function(e){e.remove()})},getBillingCountryId:function(){if(null==$("billing-address-select")||""==$("billing-address-select").value){var e=this.getBillingAddress();if("undefined"!=typeof e["billing[country_id]"])return e["billing[country_id]"]}return this.billingCountryId?this.billingCountryId:!1},shouldInvokeThreeDSecure:function(){if(this.threeDSpecificCountries&&this.threeDCountries.length>0){var e;if(e=this.getBillingCountryId())return-1!==this.threeDCountries.indexOf(e)}return this.threeDSecure},hostedFieldsNonceReceived:function(e,t){this.shouldInvokeThreeDSecure()?("function"==typeof this.integration.setLoading&&this.integration.setLoading(),this.verify3dSecureNonce(e,{onSuccess:function(e){this.updateNonce(e.nonce),"function"==typeof t.onSuccess&&t.onSuccess()}.bind(this),onFailure:function(){"function"==typeof t.onFailure&&t.onFailure()}.bind(this)})):(this.updateNonce(e),"function"==typeof t.onSuccess&&t.onSuccess())},updateNonce:function(e){$("creditcard-payment-nonce").value=e,$("creditcard-payment-nonce").setAttribute("value",e),"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this._hostedFieldsTokenGenerated=!0},hostedFieldsError:function(e){return"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),"undefined"!=typeof e.message&&-1==e.message.indexOf("Cannot place two elements in")&&-1==e.message.indexOf("Unable to find element with selector")&&-1==e.message.indexOf("User did not enter a payment method")&&alert(e.message),this._hostedFieldsTokenGenerated=!1,"function"==typeof this.integration.afterHostedFieldsError&&this.integration.afterHostedFieldsError(e.message),!1},usingSavedCard:function(){return void 0!=$("creditcard-saved-accounts")&&void 0!=$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"!==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value},usingSavedThreeDCard:function(){return this.usingSavedCard()&&$$("#creditcard-saved-accounts input:checked[type=radio]").first().hasAttribute("data-threedsecure-nonce")},setThreeDSecure:function(e){this.threeDSecure=e},setAmount:function(e){this.amount=parseFloat(e)},setBillingName:function(e){this.billingName=e},getBillingName:function(){return"object"==typeof this.billingName?this.combineElementsValues(this.billingName):this.billingName},setBillingPostcode:function(e){this.billingPostcode=e},getBillingPostcode:function(){if("string"==typeof this.billingPostcode)return this.billingPostcode;if("object"==typeof this.billingPostcode)return this.combineElementsValues(this.billingPostcode);var e=this.getBillingAddress();return"undefined"!=typeof e["billing[postcode]"]?e["billing[postcode]"]:null},setAcceptedCards:function(e){this.acceptedCards=e},getBillingAddress:function(){if("function"==typeof this.integration.getBillingAddress)return this.integration.getBillingAddress();var e={};return null!==$("co-billing-form")?e="FORM"==$("co-billing-form").tagName?$("co-billing-form").serialize(!0):this.extractBilling($("co-billing-form").up("form").serialize(!0)):null!==$("billing:firstname")&&(e=this.extractBilling($("billing:firstname").up("form").serialize(!0))),e?e:void 0},extractBilling:function(e){var t={};return $H(e).each(function(e){0==e.key.indexOf("billing")&&-1==e.key.indexOf("password")&&(t[e.key]=e.value)}),t},getAcceptedCards:function(){return this.acceptedCards},combineElementsValues:function(e,t){t||(t=" ");var i=[];return e.each(function(e,t){void 0!==$(e)&&(i[t]=$(e).value)}),i.join(t)},updateCardType:function(e,t){if(void 0!=$("card-type-image")){var i=$("card-type-image").src.substring(0,$("card-type-image").src.lastIndexOf("/"));$("card-type-image").setAttribute("src",i+"/"+t+".png")}},observeAjaxRequests:function(e,t){return vZero.prototype.observingAjaxRequests?!1:(vZero.prototype.observingAjaxRequests=!0,Ajax.Responders.register({onComplete:function(i){return this.handleAjaxRequest(i.url,e,t)}.bind(this)}),void(window.jQuery&&jQuery(document).ajaxComplete(function(i,n,r){return this.handleAjaxRequest(r.url,e,t)}.bind(this))))},handleAjaxRequest:function(e,t,i){if("undefined"!=typeof i&&i instanceof Array&&i.length>0){var n=!1;if(i.each(function(t){e&&-1!=e.indexOf(t)&&(n=!0)}),n===!0)return!1}e&&-1==e.indexOf("/braintree/")&&(this.fireEvent(this,"onHandleAjaxRequest",{url:e}),t?t(e):this.updateData())},updateData:function(e,t){this._updateDataCallbacks.push(e),clearTimeout(this._updateDataTimeout),this._updateDataTimeout=setTimeout(function(){var e=this._updateDataCallbacks;this._updateDataCallbacks=[],this.fireEvent(this,"onBeforeUpdateData",{params:t}),new Ajax.Request(this.quoteUrl,{method:"post",parameters:t,onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);void 0!=i.billingName&&(this.billingName=i.billingName),void 0!=i.billingPostcode&&(this.billingPostcode=i.billingPostcode),void 0!=i.billingCountryId&&(this.billingCountryId=i.billingCountryId),void 0!=i.grandTotal&&(this.amount=i.grandTotal),void 0!=i.threeDSecure&&this.setThreeDSecure(i.threeDSecure),"undefined"!=typeof vzeroPaypal&&void 0!=i.grandTotal&&void 0!=i.currencyCode&&vzeroPaypal.setPricing(i.grandTotal,i.currencyCode),e.length>0&&e.each(function(e){e(i)}.bind(this)),this.fireEvent(this,"onAfterUpdateData",{response:i})}}.bind(this),onFailure:function(){}.bind(this)})}.bind(this),250)},tokenize3dSavedCards:function(e){if(this.threeDSecure)if(void 0!==$$("[data-token]").first()){var t=[];$$("[data-token]").each(function(e,i){t[i]=e.getAttribute("data-token")}),new Ajax.Request(this.tokenizeUrl,{method:"post",onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);i.success&&$H(i.tokens).each(function(e){void 0!=$$('[data-token="'+e.key+'"]').first()&&$$('[data-token="'+e.key+'"]').first().setAttribute("data-threedsecure-nonce",e.value)}),e&&e(i)}}.bind(this),parameters:{tokens:Object.toJSON(t)}})}else e();else e()},verify3dSecureNonce:function(e,t){this.getClient(function(i){braintree.threeDSecure.create({client:i},function(i,n){if(i)return void console.error(i);var r={amount:this.amount,nonce:e,addFrame:function(e,t){$$("#three-d-modal .bt-modal-body").first().insert(t),$("three-d-modal").removeClassName("hidden")},removeFrame:function(){$$("#three-d-modal .bt-modal-body iframe").first().remove(),$("three-d-modal").addClassName("hidden")}.bind(this)};n.verifyCard(r,function(e,i){e?t.onFailure&&t.onFailure(i,e):i.liabilityShifted?t.onSuccess&&t.onSuccess(i):1==this.threeDSecureFailedAction?t.onFailure&&t.onFailure(i,Translator.translate("Your payment has failed 3D secure verification, please try an alternate payment method.")):t.onSuccess&&t.onSuccess(i)}.bind(this))}.bind(this))}.bind(this))},verify3dSecureVault:function(e){var t=$$("#creditcard-saved-accounts input:checked[type=radio]").first().getAttribute("data-threedsecure-nonce");t?this.verify3dSecureNonce(t,{onSuccess:function(t){$("creditcard-payment-nonce").removeAttribute("disabled"),$("creditcard-payment-nonce").value=t.nonce,$("creditcard-payment-nonce").setAttribute("value",t.nonce),"function"==typeof e.onSuccess&&e.onSuccess()},onFailure:function(t,i){alert(i),"function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)}}):(alert("No payment nonce present."),"function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1))},processCard:function(e){var t=this.getBillingPostcode(),i={};t&&(i={billingAddress:{postalCode:t}}),this._hostedIntegration.tokenize(i,function(t,i){return t?("function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1),void("string"==typeof t.message&&alert(t.message))):this.hostedFieldsNonceReceived(i.nonce,e)}.bind(this))},shouldInterceptCreditCard:function(){return"0.00"!=this.amount},shouldInterceptPayPal:function(){return!0},process:function(e){return e=e||{},this._hostedFieldsTokenGenerated||this.usingSavedCard()&&!this.usingSavedThreeDCard()?void("function"==typeof e.onSuccess&&e.onSuccess()):this.usingSavedThreeDCard()?this.verify3dSecureVault(e):this.processCard(e)},creditCardLoaded:function(){return!1},paypalLoaded:function(){return!1},_parseTransportAsJson:function(transport){return transport.responseJSON&&"object"==typeof transport.responseJSON?transport.responseJSON:transport.responseText?"object"==typeof JSON&&"function"==typeof JSON.parse?JSON.parse(transport.responseText):eval("("+transport.responseText+")"):{}}},function(){for(var e,t=function(){},i=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],n=i.length,r=window.console=window.console||{};n--;)e=i[n],r[e]||(r[e]=t)}();
1
+ var vZero=Class.create();vZero.prototype={initialize:function(e,t,i,n,r,o,s,a,d){this.code=e,this.clientToken=t||!1,this.clientTokenUrl=d,this.threeDSecure=i,this.hostedFields=n,r&&(this.billingName=r),o&&(this.billingPostcode=o),this.billingCountryId=!1,s&&(this.quoteUrl=s),a&&(this.tokenizeUrl=a),this._hostedFieldsTokenGenerated=!1,this.acceptedCards=!1,this._hostedFieldsTimeout=!1,this._updateDataCallbacks=[],this._updateDataTimeout=null,this.client=!1,this.threeDSpecificCountries=!1,this.threeDCountries=[],this.threeDSecureFailedAction=0,this.supportedCards=[],this.cardType=!1,this.initEvents()},initEvents:function(){this.events={onBeforeUpdateData:[],onAfterUpdateData:[],onHandleAjaxRequest:[],integration:{onInit:[],onInitDefaultMethod:[],onInitSavedMethods:[],onShowHideOtherMethod:[],onCheckSavedOther:[],onPaymentMethodSwitch:[],onReviewInit:[],onBeforeSubmit:[],onAfterSubmit:[],onObserveAjaxRequests:[]}}},setKount:function(e,t){this.kountEnvironment=e,""!=t&&(this.kountId=t)},setSupportedCards:function(e){"string"==typeof e&&(e=e.split(",")),this.supportedCards=e},setThreeDCountries:function(e){"string"==typeof e&&(e=e.split(",")),this.threeDSpecificCountries=!0,this.threeDCountries=e},setThreeDFailedAction:function(e){this.threeDSecureFailedAction=e},observeEvent:function(e,t,i){Array.isArray(e)||(e=[e]),e.each(function(e){var n=this._resolveEvent(e);void 0===n?console.warn("Event for "+e+" does not exist."):n.push({fn:t,params:i})}.bind(this))},fireEvent:function(e,t,i){var n=this._resolveEvent(t);void 0!==n&&n.length>0&&n.each(function(t){if("function"==typeof t.fn){var arguments=[i];"object"==typeof t.params&&arguments.push(t.params),t.fn.apply(e,arguments)}})},_resolveEvent:function(e){return e.split(".").reduce(function(e,t){return e?e[t]:void 0},this.events)},getClientToken:function(e){return this.clientToken!==!1?e(this.clientToken):window.braintreeClientToken?e(window.braintreeClientToken):void new Ajax.Request(this.clientTokenUrl,{method:"get",onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);if(1==i.success&&"string"==typeof i.client_token)return this.clientToken=i.client_token,window.braintreeClientToken=i.client_token,e(this.clientToken);console.error("We were unable to retrieve a client token from the server to initialize the Braintree flow."),i.error&&console.error(i.error)}}.bind(this),onFailure:function(){console.error("We were unable to retrieve a client token from the server to initialize the Braintree flow.")}.bind(this)})},getClient:function(e){this.client!==!1?"function"==typeof e&&e(this.client):this.getClientToken(function(t){braintree.client.create({authorization:t},function(t,i){return t?void console.error(t):(this.client=i,void e(this.client))}.bind(this))})},initHostedFields:function(e){return $$('iframe[name^="braintree-"]').length>0?!1:null===$("braintree-hosted-submit")?!1:(this.integration=e,this._hostedFieldsTokenGenerated=!1,clearTimeout(this._hostedFieldsTimeout),void(this._hostedFieldsTimeout=setTimeout(function(){if(this._hostedIntegration!==!1)try{this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,this.setupHostedFieldsClient()}.bind(this))}catch(e){this.setupHostedFieldsClient()}else this.setupHostedFieldsClient()}.bind(this),50)))},teardownHostedFields:function(e){"undefined"!=typeof this._hostedIntegration&&this._hostedIntegration!==!1?this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,"function"==typeof e&&e()}.bind(this)):"function"==typeof e&&e()},setupHostedFieldsClient:function(){return $$('iframe[name^="braintree-"]').length>0?!1:(this._hostedIntegration=!1,this.checkSubmitAfterPayment(),void this.getClient(function(e){var t={client:e,styles:this.getHostedFieldsStyles(),fields:{number:{selector:"#card-number",placeholder:"0000 0000 0000 0000"},expirationMonth:{selector:"#expiration-month",placeholder:"MM"},expirationYear:{selector:"#expiration-year",placeholder:"YY"}}};null!==$("cvv")&&(t.fields.cvv={selector:"#cvv"}),braintree.hostedFields.create(t,function(e,t){if(e){if("HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME"==e.code)return;return void console.error(e)}return this.hostedFieldsOnReady(t)}.bind(this))}.bind(this)))},hostedFieldsOnReady:function(e){this._hostedIntegration=e,$$("#credit-card-form.loading").length&&$$("#credit-card-form.loading").first().removeClassName("loading"),this.checkSubmitAfterPayment(),e.on("cardTypeChange",this.hostedFieldsCardTypeChange.bind(this))},checkSubmitAfterPayment:function(){if(this.integration.submitAfterPayment){if(null==$("braintree-submit-after-payment")){var e=new Element("input",{type:"hidden",name:"payment[submit_after_payment]",value:1,id:"braintree-submit-after-payment"});$("payment_form_gene_braintree_creditcard").insert(e)}}else $("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},getHostedFieldsStyles:function(){return"function"==typeof this.integration.getHostedFieldsStyles?this.integration.getHostedFieldsStyles():{input:{"font-size":"14pt",color:"#3A3A3A"},":focus":{color:"black"},".valid":{color:"green"},".invalid":{color:"red"}}},hostedFieldsCardTypeChange:function(e){if("undefined"!=typeof e.cards){var t={visa:"VI","american-express":"AE","master-card":"MC",discover:"DI",jcb:"JCB",maestro:"ME"};void 0!==typeof t[e.cards[0].type]?(this.cardType=t[e.cards[0].type],this.updateCardType(!1,this.cardType),-1==this.supportedCards.indexOf(this.cardType)?this.showCardUnsupported():this.removeCardUnsupported()):(this.removeCardUnsupported(),this.cardType=!1,this.updateCardType(!1,"card"))}},showCardUnsupported:function(){if($$(".braintree-card-input-field").length>0){var e=$$(".braintree-card-input-field").first().up();if(0==e.select(".braintree-card-unsupported").length){var t=new Element("div",{"class":"braintree-card-unsupported"}).update(Translator.translate("We're currently unable to process this card type, please try another card or payment method."));e.insert(t)}}},removeCardUnsupported:function(){$$(".braintree-card-unsupported").length>0&&$$(".braintree-card-unsupported").each(function(e){e.remove()})},getBillingCountryId:function(){if(null==$("billing-address-select")||""==$("billing-address-select").value){var e=this.getBillingAddress();if("undefined"!=typeof e["billing[country_id]"])return e["billing[country_id]"]}return this.billingCountryId?this.billingCountryId:!1},shouldInvokeThreeDSecure:function(){if(this.threeDSpecificCountries&&this.threeDCountries.length>0){var e;if(e=this.getBillingCountryId())return-1!==this.threeDCountries.indexOf(e)}return this.threeDSecure},hostedFieldsNonceReceived:function(e,t){this.shouldInvokeThreeDSecure()?("function"==typeof this.integration.setLoading&&this.integration.setLoading(),this.verify3dSecureNonce(e,{onSuccess:function(e){this.updateNonce(e.nonce),"function"==typeof t.onSuccess&&t.onSuccess()}.bind(this),onFailure:function(){"function"==typeof t.onFailure&&t.onFailure()}.bind(this)})):(this.updateNonce(e),"function"==typeof t.onSuccess&&t.onSuccess())},updateNonce:function(e){$("creditcard-payment-nonce").value=e,$("creditcard-payment-nonce").setAttribute("value",e),"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this._hostedFieldsTokenGenerated=!0},hostedFieldsError:function(e){return"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),"undefined"!=typeof e.message&&-1==e.message.indexOf("Cannot place two elements in")&&-1==e.message.indexOf("Unable to find element with selector")&&-1==e.message.indexOf("User did not enter a payment method")&&alert(e.message),this._hostedFieldsTokenGenerated=!1,"function"==typeof this.integration.afterHostedFieldsError&&this.integration.afterHostedFieldsError(e.message),!1},usingSavedCard:function(){return void 0!=$("creditcard-saved-accounts")&&void 0!=$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"!==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value},usingSavedThreeDCard:function(){return this.usingSavedCard()&&$$("#creditcard-saved-accounts input:checked[type=radio]").first().hasAttribute("data-threedsecure-nonce")},setThreeDSecure:function(e){this.threeDSecure=e},setAmount:function(e){this.amount=parseFloat(e)},setBillingName:function(e){this.billingName=e},getBillingName:function(){return"object"==typeof this.billingName?this.combineElementsValues(this.billingName):this.billingName},setBillingPostcode:function(e){this.billingPostcode=e},getBillingPostcode:function(){if("string"==typeof this.billingPostcode)return this.billingPostcode;if("object"==typeof this.billingPostcode)return this.combineElementsValues(this.billingPostcode);var e=this.getBillingAddress();return"undefined"!=typeof e["billing[postcode]"]?e["billing[postcode]"]:null},setAcceptedCards:function(e){this.acceptedCards=e},getBillingAddress:function(){if("function"==typeof this.integration.getBillingAddress)return this.integration.getBillingAddress();var e={};return null!==$("co-billing-form")?e="FORM"==$("co-billing-form").tagName?$("co-billing-form").serialize(!0):this.extractBilling($("co-billing-form").up("form").serialize(!0)):null!==$("billing:firstname")&&(e=this.extractBilling($("billing:firstname").up("form").serialize(!0))),e?e:void 0},extractBilling:function(e){var t={};return $H(e).each(function(e){0==e.key.indexOf("billing")&&-1==e.key.indexOf("password")&&(t[e.key]=e.value)}),t},getAcceptedCards:function(){return this.acceptedCards},combineElementsValues:function(e,t){t||(t=" ");var i=[];return e.each(function(e,t){void 0!==$(e)&&(i[t]=$(e).value)}),i.join(t)},updateCardType:function(e,t){if(void 0!=$("card-type-image")){var i=$("card-type-image").src.substring(0,$("card-type-image").src.lastIndexOf("/"));$("card-type-image").setAttribute("src",i+"/"+t+".png")}},observeAjaxRequests:function(e,t){return vZero.prototype.observingAjaxRequests?!1:(vZero.prototype.observingAjaxRequests=!0,Ajax.Responders.register({onComplete:function(i){return this.handleAjaxRequest(i.url,e,t)}.bind(this)}),void(window.jQuery&&jQuery(document).ajaxComplete(function(i,n,r){return this.handleAjaxRequest(r.url,e,t)}.bind(this))))},handleAjaxRequest:function(e,t,i){if("undefined"!=typeof i&&i instanceof Array&&i.length>0){var n=!1;if(i.each(function(t){e&&-1!=e.indexOf(t)&&(n=!0)}),n===!0)return!1}e&&-1==e.indexOf("/braintree/")&&(this.fireEvent(this,"onHandleAjaxRequest",{url:e}),t?t(e):this.updateData())},updateData:function(e,t){this._updateDataCallbacks.push(e),clearTimeout(this._updateDataTimeout),this._updateDataTimeout=setTimeout(function(){var e=this._updateDataCallbacks;this._updateDataCallbacks=[],this.fireEvent(this,"onBeforeUpdateData",{params:t}),new Ajax.Request(this.quoteUrl,{method:"post",parameters:t,onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);void 0!=i.billingName&&(this.billingName=i.billingName),void 0!=i.billingPostcode&&(this.billingPostcode=i.billingPostcode),void 0!=i.billingCountryId&&(this.billingCountryId=i.billingCountryId),void 0!=i.grandTotal&&(this.amount=i.grandTotal),void 0!=i.threeDSecure&&this.setThreeDSecure(i.threeDSecure),"undefined"!=typeof vzeroPaypal&&void 0!=i.grandTotal&&void 0!=i.currencyCode&&vzeroPaypal.setPricing(i.grandTotal,i.currencyCode),e.length>0&&e.each(function(e){e(i)}.bind(this)),this.fireEvent(this,"onAfterUpdateData",{response:i})}}.bind(this),onFailure:function(){}.bind(this)})}.bind(this),250)},tokenize3dSavedCards:function(e){if(this.threeDSecure)if(void 0!==$$("[data-token]").first()){var t=[];$$("[data-token]").each(function(e,i){t[i]=e.getAttribute("data-token")}),new Ajax.Request(this.tokenizeUrl,{method:"post",onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);i.success&&$H(i.tokens).each(function(e){void 0!=$$('[data-token="'+e.key+'"]').first()&&$$('[data-token="'+e.key+'"]').first().setAttribute("data-threedsecure-nonce",e.value)}),e&&e(i)}}.bind(this),parameters:{tokens:Object.toJSON(t)}})}else e();else e()},verify3dSecureNonce:function(e,t){this.getClient(function(i){braintree.threeDSecure.create({client:i},function(i,n){if(i)return void console.error(i);var r={amount:this.amount,nonce:e,addFrame:function(e,t){$$("#three-d-modal .bt-modal-body").first().insert(t),$("three-d-modal").removeClassName("hidden")},removeFrame:function(){$$("#three-d-modal .bt-modal-body iframe").first().remove(),$("three-d-modal").addClassName("hidden")}.bind(this)};n.verifyCard(r,function(e,i){e?t.onFailure&&t.onFailure(i,e):i.liabilityShifted?t.onSuccess&&t.onSuccess(i):"AE"===this.cardType?t.onSuccess&&t.onSuccess(i):1==this.threeDSecureFailedAction?t.onFailure&&t.onFailure(i,Translator.translate("Your payment has failed 3D secure verification, please try an alternate payment method.")):t.onSuccess&&t.onSuccess(i)}.bind(this))}.bind(this))}.bind(this))},verify3dSecureVault:function(e){var t=$$("#creditcard-saved-accounts input:checked[type=radio]").first().getAttribute("data-threedsecure-nonce");t?this.verify3dSecureNonce(t,{onSuccess:function(t){$("creditcard-payment-nonce").removeAttribute("disabled"),$("creditcard-payment-nonce").value=t.nonce,$("creditcard-payment-nonce").setAttribute("value",t.nonce),"function"==typeof e.onSuccess&&e.onSuccess()},onFailure:function(t,i){alert(i),"function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)}}):(alert("No payment nonce present."),"function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1))},processCard:function(e){var t=this.getBillingPostcode(),i={};t&&(i={billingAddress:{postalCode:t}}),this._hostedIntegration.tokenize(i,function(t,i){return t?("function"==typeof e.onFailure?e.onFailure():checkout.setLoadWaiting(!1),void("string"==typeof t.message&&alert(t.message))):this.hostedFieldsNonceReceived(i.nonce,e)}.bind(this))},shouldInterceptCreditCard:function(){return"0.00"!=this.amount},shouldInterceptPayPal:function(){return!0},process:function(e){return e=e||{},this._hostedFieldsTokenGenerated||this.usingSavedCard()&&!this.usingSavedThreeDCard()?void("function"==typeof e.onSuccess&&e.onSuccess()):this.usingSavedThreeDCard()?this.verify3dSecureVault(e):this.processCard(e)},creditCardLoaded:function(){return!1},paypalLoaded:function(){return!1},_parseTransportAsJson:function(transport){return transport.responseJSON&&"object"==typeof transport.responseJSON?transport.responseJSON:transport.responseText?"object"==typeof JSON&&"function"==typeof JSON.parse?JSON.parse(transport.responseText):eval("("+transport.responseText+")"):{}}},function(){for(var e,t=function(){},i=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],n=i.length,r=window.console=window.console||{};n--;)e=i[n],r[e]||(r[e]=t)}();
js/gene/braintree/2.2.1/vzero-min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["../source/vzero.js"],"names":["vZero","Class","create","prototype","initialize","code","clientToken","threeDSecure","hostedFields","billingName","billingPostcode","quoteUrl","tokenizeUrl","clientTokenUrl","this","billingCountryId","_hostedFieldsTokenGenerated","acceptedCards","_hostedFieldsTimeout","_updateDataCallbacks","_updateDataTimeout","client","threeDSpecificCountries","threeDCountries","threeDSecureFailedAction","supportedCards","cardType","initEvents","events","onBeforeUpdateData","onAfterUpdateData","onHandleAjaxRequest","integration","onInit","onInitDefaultMethod","onInitSavedMethods","onShowHideOtherMethod","onCheckSavedOther","onPaymentMethodSwitch","onReviewInit","onBeforeSubmit","onAfterSubmit","onObserveAjaxRequests","setKount","environment","kountId","kountEnvironment","setSupportedCards","cardTypes","split","setThreeDCountries","countries","setThreeDFailedAction","action","observeEvent","paths","eventFn","params","Array","isArray","each","path","event","_resolveEvent","undefined","console","warn","push","fn","bind","fireEvent","caller","length","arguments","apply","reduce","prev","curr","getClientToken","callbackFn","window","braintreeClientToken","Ajax","Request","method","onSuccess","transport","responseJSON","responseText","response","_parseTransportAsJson","success","client_token","error","onFailure","getClient","braintree","authorization","clientErr","clientInstance","initHostedFields","$$","$","clearTimeout","setTimeout","_hostedIntegration","teardown","setupHostedFieldsClient","e","teardownHostedFields","checkSubmitAfterPayment","options","styles","getHostedFieldsStyles","fields","number","selector","placeholder","expirationMonth","expirationYear","cvv","hostedFieldsErr","hostedFieldsInstance","hostedFieldsOnReady","first","removeClassName","on","hostedFieldsCardTypeChange","submitAfterPayment","input","Element","type","name","value","id","insert","remove","font-size","color",":focus",".valid",".invalid","cards","cardMapping","visa","american-express","master-card","discover","jcb","maestro","updateCardType","indexOf","showCardUnsupported","removeCardUnsupported","parentElement","up","select","class","update","Translator","translate","ele","getBillingCountryId","billing","getBillingAddress","shouldInvokeThreeDSecure","countryId","hostedFieldsNonceReceived","nonce","setLoading","verify3dSecureNonce","updateNonce","setAttribute","resetLoading","hostedFieldsError","message","alert","afterHostedFieldsError","usingSavedCard","usingSavedThreeDCard","hasAttribute","setThreeDSecure","flag","setAmount","amount","parseFloat","setBillingName","getBillingName","combineElementsValues","setBillingPostcode","getBillingPostcode","setAcceptedCards","billingAddress","tagName","serialize","extractBilling","formData","$H","data","key","getAcceptedCards","elements","seperator","element","index","join","cardNumber","skinImageUrl","src","substring","lastIndexOf","observeAjaxRequests","callback","ignore","observingAjaxRequests","Responders","register","onComplete","handleAjaxRequest","url","jQuery","document","ajaxComplete","xhr","settings","shouldIgnore","updateData","callbacks","parameters","grandTotal","vzeroPaypal","currencyCode","setPricing","tokenize3dSavedCards","tokens","getAttribute","Object","toJSON","threeDSecureError","threeDSecureInstance","verifyOptions","addFrame","err","iframe","removeFrame","addClassName","verifyCard","verifyError","payload","log","liabilityShifted","verify3dSecureVault","paymentNonce","removeAttribute","checkout","setLoadWaiting","processCard","postcode","opt","postalCode","tokenize","tokenizeErr","shouldInterceptCreditCard","shouldInterceptPayPal","process","creditCardLoaded","paypalLoaded","JSON","parse","eval","noop","methods"],"mappings":"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","file":"vzero-min.js"}
js/gene/braintree/{2.2.0 → 2.2.1}/vzero-paypal-min.js RENAMED
File without changes
js/gene/braintree/2.2.1/vzero-paypal-min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["../source/vzero-paypal.js"],"names":["vZeroPayPalButton","Class","create","prototype","initialize","clientToken","storeFrontName","singleUse","locale","futureSingleUse","onlyVaultOnVault","clientTokenUrl","this","amount","currency","client","getClientToken","callbackFn","window","braintreeClientToken","Ajax","Request","method","onSuccess","transport","responseJSON","responseText","response","_parseTransportAsJson","success","client_token","console","error","bind","onFailure","getClient","braintree","authorization","clientErr","clientInstance","log","setPricing","parseFloat","rebuildButton","addPayPalButton","options","buttonHtml","containerQuery","append","container","$","innerHTML","$$","first","warn","insert","update","select","length","button","addClassName","setAttribute","attachPayPalButtonEvent","buttons","paypal","paypalErr","paypalInstance","onReady","_attachPayPalButtonEvent","Array","isArray","each","removeClassName","removeAttribute","Event","stopObserving","observe","event","stop","alert","Translator","translate","message","validate","_tokenizePayPal","tokenizeOptions","_buildOptions","tokenizeRequest","Object","extend","tokenize","tokenizeErr","payload","type","displayName","useraction","flow","_getFlow","checked","JSON","parse","eval"],"mappings":"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","file":"vzero-paypal-min.js"}
js/gene/braintree/config.codekit CHANGED
@@ -48,7 +48,7 @@
48
  },
49
  "\/2.2.0\/vzero-paypal-min.js": {
50
  "fileType": 64,
51
- "ignore": 0,
52
  "ignoreWasSetByUser": 0,
53
  "inputAbbreviatedPath": "\/2.2.0\/vzero-paypal-min.js",
54
  "outputAbbreviatedPath": "\/2.2.0\/min\/vzero-paypal-min-min.js",
@@ -95,9 +95,9 @@
95
  "ignore": 0,
96
  "ignoreWasSetByUser": 0,
97
  "inputAbbreviatedPath": "\/source\/vzero-paypal.js",
98
- "outputAbbreviatedPath": "\/source\/min\/vzero-paypal-min.js",
99
  "outputPathIsOutsideProject": 0,
100
- "outputPathIsSetByUser": 0,
101
  "outputStyle": 1,
102
  "syntaxCheckerStyle": 1
103
  },
48
  },
49
  "\/2.2.0\/vzero-paypal-min.js": {
50
  "fileType": 64,
51
+ "ignore": 1,
52
  "ignoreWasSetByUser": 0,
53
  "inputAbbreviatedPath": "\/2.2.0\/vzero-paypal-min.js",
54
  "outputAbbreviatedPath": "\/2.2.0\/min\/vzero-paypal-min-min.js",
95
  "ignore": 0,
96
  "ignoreWasSetByUser": 0,
97
  "inputAbbreviatedPath": "\/source\/vzero-paypal.js",
98
+ "outputAbbreviatedPath": "\/2.2.0\/vzero-paypal-min.js",
99
  "outputPathIsOutsideProject": 0,
100
+ "outputPathIsSetByUser": 1,
101
  "outputStyle": 1,
102
  "syntaxCheckerStyle": 1
103
  },
js/gene/braintree/express/abstract-min.js DELETED
@@ -1 +0,0 @@
1
- var BraintreeExpressAbstract=Class.create();BraintreeExpressAbstract.prototype={initialize:function(e,t,o,s,a,n){this.clientToken=e||!1,this.storeFrontName=t,this.formKey=o,this.source=s,this.urls=a,this.config=n||{},this._init(),this.insertDom()},_init:function(){return!1},insertDom:function(){this.getModal()||$$("body").first().insert('<div id="pp-express-overlay"></div><div id="pp-express-modal"></div><div id="pp-express-container"></div>')},getOverlay:function(){return document.getElementById("pp-express-overlay")},getModal:function(){return document.getElementById("pp-express-modal")},hideModal:function(){this.getOverlay().style.display="none",this.getModal().style.display="none",this.getModal().innerHTML=""},showModal:function(){this.getModal().innerHTML="",this.getModal().classList.add("loading"),this.getOverlay().style.display="block",this.getModal().style.display="block"},initModal:function(e){"undefined"==typeof e.form_key&&(e.form_key=this.formKey),"undefined"==typeof e.source&&(e.source=this.source),this.showModal(),new Ajax.Request(this.urls.authUrl,{method:"POST",parameters:e,onSuccess:function(e){this.getModal().classList.remove("loading"),this.getModal().innerHTML=e.responseText,this.prepareCoupon(),this.ajaxHandler()}.bind(this),onFailure:function(){this.hideModal(),alert("object"==typeof Translator?Translator.translate("We were unable to complete the request. Please try again."):"We were unable to complete the request. Please try again.")}.bind(this)})},updateShipping:function(e){this._setLoading($("paypal-express-submit")),new Ajax.Request(this.urls.shippingSaveUrl,{method:"POST",parameters:{submit_shipping:!0,shipping_method:e},onSuccess:function(e){var t=this._getJson(e);this._unsetLoading($("paypal-express-submit")),this._updateTotals(t)}.bind(this),onFailure:function(){this._unsetLoading($("paypal-express-submit")),api.hideModal(),alert("object"==typeof Translator?Translator.translate("We were unable to complete the request. Please try again."):"We were unable to complete the request. Please try again.")}})},prepareCoupon:function(){$("paypal-express-coupon")&&$("paypal-express-coupon").observe("keypress",function(e){var t=e.which||e.keyCode;t==Event.KEY_RETURN&&(Event.stop(e),this.updateCoupon())}.bind(this))},updateCoupon:function(e){return $("paypal-express-coupon-error").hide(),!e&&$("paypal-express-coupon")&&(e=$("paypal-express-coupon").value),""==e?!1:(this._setLoading($("paypal-express-coupon-apply")),new Ajax.Request(this.urls.couponSaveUrl,{method:"POST",parameters:{coupon:e},onSuccess:function(e){var t=this._getJson(e);this._unsetLoading($("paypal-express-coupon-apply")),this._updateTotals(t),1==t.success?($("paypal-express-coupon-remove").show(),$("paypal-express-coupon-apply").hide()):t.message&&$("paypal-express-coupon-error").update(t.message).show()}.bind(this),onFailure:function(){this._unsetLoading($("paypal-express-coupon-submit")),api.hideModal(),alert("object"==typeof Translator?Translator.translate("We were unable to complete the request. Please try again."):"We were unable to complete the request. Please try again.")}}),!1)},removeCoupon:function(){$("paypal-express-coupon-error").hide(),this._setLoading($("paypal-express-coupon-remove")),new Ajax.Request(this.urls.couponSaveUrl,{method:"POST",parameters:{remove:!0},onSuccess:function(e){var t=this._getJson(e);this._unsetLoading($("paypal-express-coupon-remove")),this._updateTotals(t),1==t.success?($("paypal-express-coupon-remove").hide(),$("paypal-express-coupon-apply").show(),$("paypal-express-coupon").value="",$("paypal-express-coupon").focus()):t.message&&$("paypal-express-coupon-error").update(t.message).show()}.bind(this),onFailure:function(){this._unsetLoading($("paypal-express-coupon-submit")),api.hideModal(),alert("object"==typeof Translator?Translator.translate("We were unable to complete the request. Please try again."):"We were unable to complete the request. Please try again.")}})},_updateTotals:function(e){"undefined"!=typeof e.totals&&$("paypal-express-totals").update(e.totals)},_getJson:function(e){return"undefined"!=typeof e.responseJSON?e.responseJSON:"string"==typeof e.responseText?e.responseText.evalJSON():void 0},_setLoading:function(e){return e?(e.setAttribute("disabled","disabled"),void e.addClassName("loading")):!1},_unsetLoading:function(e){return e?(e.removeAttribute("disabled"),void e.removeClassName("loading")):!1},ajaxHandler:function(){var e=this.getModal().getElementsByTagName("form"),t=0;if(e.length>0)for(t=0;t<e.length;t++)Element.observe(e[t],"submit",function(e){return Event.stop(e),this.getModal().classList.add("loading"),this.getModal().innerHTML="",new Ajax.Request(e.target.getAttribute("action"),{method:"POST",parameters:$(e.target).serialize(!0),onSuccess:function(e){return"complete"==e.responseText?void(document.location=this.urls.successUrl):(this.getModal().classList.remove("loading"),this.getModal().innerHTML=e.responseText,void this.ajaxHandler())}.bind(this),onFailure:function(){this.hideModal(),alert("object"==typeof Translator?Translator.translate("We were unable to complete the request. Please try again."):"We were unable to complete the request. Please try again.")}.bind(this)}),!1}.bind(this))},validateForm:function(){if("object"==typeof productAddToCartForm&&productAddToCartForm.validator.validate()){if("object"==typeof productAddToCartFormOld&&productAddToCartFormOld.validator.validate())return!0;if("object"!=typeof productAddToCartFormOld)return!0}return"object"!=typeof productAddToCartForm&&"object"!=typeof productAddToCartFormOld},attachToButtons:function(e){console.warn("This method cannot be called directly.")}};
 
js/gene/braintree/source/.DS_Store ADDED
Binary file
js/gene/braintree/source/vzero-integration.js CHANGED
@@ -7,6 +7,11 @@
7
  var vZeroIntegration = Class.create();
8
  vZeroIntegration.prototype = {
9
 
 
 
 
 
 
10
  /**
11
  * Create an instance of the integration
12
  *
@@ -143,6 +148,15 @@ vZeroIntegration.prototype = {
143
  * @param input
144
  */
145
  populateDeviceData: function (input) {
 
 
 
 
 
 
 
 
 
146
  this.vzero.getClient(function (clientInstance) {
147
  var params = {
148
  client: clientInstance,
@@ -170,6 +184,8 @@ vZeroIntegration.prototype = {
170
  return;
171
  }
172
 
 
 
173
  input.value = dataCollectorInstance.deviceData;
174
  input.writeAttribute('disabled', false);
175
  this._deviceDataInit = false;
7
  var vZeroIntegration = Class.create();
8
  vZeroIntegration.prototype = {
9
 
10
+ /**
11
+ * Device Data instance from braintree
12
+ */
13
+ dataCollectorInstance: null,
14
+
15
  /**
16
  * Create an instance of the integration
17
  *
148
  * @param input
149
  */
150
  populateDeviceData: function (input) {
151
+ // Teardown if device data is already generated
152
+ if (this.dataCollectorInstance !== null) {
153
+ this.dataCollectorInstance.teardown(function () {
154
+ this.dataCollectorInstance = null;
155
+ return this.populateDeviceData(input);
156
+ }.bind(this));
157
+ return;
158
+ }
159
+
160
  this.vzero.getClient(function (clientInstance) {
161
  var params = {
162
  client: clientInstance,
184
  return;
185
  }
186
 
187
+ this.dataCollectorInstance = dataCollectorInstance;
188
+
189
  input.value = dataCollectorInstance.deviceData;
190
  input.writeAttribute('disabled', false);
191
  this._deviceDataInit = false;
js/gene/braintree/source/vzero.js CHANGED
@@ -1132,8 +1132,14 @@ vZero.prototype = {
1132
  options.onSuccess(payload);
1133
  }
1134
  } else {
 
 
 
 
 
 
1135
  // Block the payment
1136
- if (this.threeDSecureFailedAction == 1) {
1137
  if (options.onFailure) {
1138
  options.onFailure(
1139
  payload,
1132
  options.onSuccess(payload);
1133
  }
1134
  } else {
1135
+ // Allow the payment through if it's American Express
1136
+ if (this.cardType === "AE") {
1137
+ if (options.onSuccess) {
1138
+ options.onSuccess(payload);
1139
+ }
1140
+ }
1141
  // Block the payment
1142
+ else if (this.threeDSecureFailedAction == 1) {
1143
  if (options.onFailure) {
1144
  options.onFailure(
1145
  payload,
lib/Gene/.DS_Store ADDED
Binary file
lib/Gene/Braintree/autoload.php CHANGED
@@ -2,6 +2,6 @@
2
 
3
  // autoload.php @generated by Composer
4
 
5
- require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
  return ComposerAutoloaderInit7455c3ad034c8ce201482929f9f6ebca::getLoader();
2
 
3
  // autoload.php @generated by Composer
4
 
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
  return ComposerAutoloaderInit7455c3ad034c8ce201482929f9f6ebca::getLoader();
lib/Gene/Braintree/braintree/braintree_php/.github/ISSUE_TEMPLATE.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ ### General information
2
+
3
+ * SDK/Library version: <!-- Example: 4.7.2 -->
4
+ * Environment: <!-- Is this issue in Sandbox or Production? -->
5
+ * Language, language version, and OS: <!-- Example: Java 1.8.0_101-b13 on Ubuntu 16.10 -->
6
+
7
+ ### Issue description
8
+
9
+ <!-- To help us quickly reproduce your issue, include as many details as possible, such as logs, steps to reproduce, and so on. If the issue reports a new feature, follow the [user story](https://en.wikipedia.org/wiki/User_story) format to clearly describe the use case. -->
lib/Gene/Braintree/braintree/braintree_php/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
 
 
 
 
 
 
 
 
 
 
1
  ## 3.21.1
2
  * Add back in `options->three_d_secure` to transaction params that was accidentally removed in v3.14.0
3
 
1
+ ## 3.23.0
2
+ * Add Visa Checkout support
3
+ * Add ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
4
+ * Add new properties to `CreditCardVerification` and `Customer`
5
+ * Add SDK support for skip AVS and skip CVV
6
+
7
+ ## 3.22.0
8
+ * Add option to disable Accept-Encoding: gzip header for Google App Engine
9
+ * Fix a bug where `merchantAccount->all` would attempt to fetch too many pages of merchant accounts
10
+
11
  ## 3.21.1
12
  * Add back in `options->three_d_secure` to transaction params that was accidentally removed in v3.14.0
13
 
lib/Gene/Braintree/braintree/braintree_php/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Braintree, a division of PayPal, Inc.
2
 
3
  Permission is hereby granted, free of charge, to any person
4
  obtaining a copy of this software and associated documentation
1
+ Copyright (c) 2017 Braintree, a division of PayPal, Inc.
2
 
3
  Permission is hereby granted, free of charge, to any person
4
  obtaining a copy of this software and associated documentation
lib/Gene/Braintree/braintree/braintree_php/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Braintree PHP Server Library
2
 
3
  The Braintree PHP library provides integration access to the Braintree Gateway.
4
 
@@ -47,8 +47,9 @@ if ($result->success) {
47
  }
48
  ```
49
 
50
- Both PSR-0 and PSR-4 namespacing are supported. If you are using composer with `--classmap-authoritative` or
51
  `--optimize-autoloader` enabled, you'll have to reference classes using PSR-4 namespacing:
 
52
  ```php
53
  Braintree\Configuration::environment('sandbox');
54
  Braintree\Configuration::merchantId('your_merchant_id');
@@ -60,6 +61,14 @@ Braintree\Configuration::privateKey('your_private_key');
60
 
61
  The Braintree PHP library will run on HHVM >= 3.4.2.
62
 
 
 
 
 
 
 
 
 
63
  ## Legacy PHP Support
64
 
65
  Version [2.40.0](https://github.com/braintree/braintree_php/releases/tag/2.40.0) is compatible with PHP 5.2 and 5.3. You can find it on our releases page.
1
+ # Braintree PHP library
2
 
3
  The Braintree PHP library provides integration access to the Braintree Gateway.
4
 
47
  }
48
  ```
49
 
50
+ Both PSR-0 and PSR-4 namespacing are supported. If you are using composer with `--classmap-authoritative` or
51
  `--optimize-autoloader` enabled, you'll have to reference classes using PSR-4 namespacing:
52
+
53
  ```php
54
  Braintree\Configuration::environment('sandbox');
55
  Braintree\Configuration::merchantId('your_merchant_id');
61
 
62
  The Braintree PHP library will run on HHVM >= 3.4.2.
63
 
64
+ ## Google App Engine
65
+
66
+ If you use Google App Engine, you'll have to turn off accepting gzip responses.
67
+
68
+ ```php
69
+ Braintree\Configuration::acceptGzipEncoding(false);
70
+ ```
71
+
72
  ## Legacy PHP Support
73
 
74
  Version [2.40.0](https://github.com/braintree/braintree_php/releases/tag/2.40.0) is compatible with PHP 5.2 and 5.3. You can find it on our releases page.
lib/Gene/Braintree/braintree/braintree_php/Rakefile CHANGED
@@ -53,7 +53,7 @@ namespace :test do
53
  run_php_test_file(args[:file_path])
54
  end
55
 
56
- desc "run a single test"
57
  task :single, :test_name do |t, args|
58
  run_php_test(args[:test_name])
59
  end
53
  run_php_test_file(args[:file_path])
54
  end
55
 
56
+ desc "run single test (e.g. rake test:single[GatewayTest::testConfigGetsAssertedValid])"
57
  task :single, :test_name do |t, args|
58
  run_php_test(args[:test_name])
59
  end
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree.php CHANGED
@@ -2,8 +2,6 @@
2
  /**
3
  * Braintree PHP Library
4
  * Creates class_aliases for old class names replaced by PSR-4 Namespaces
5
- *
6
- * @copyright 2015 Braintree, a division of PayPal, Inc.
7
  */
8
 
9
  require_once(__DIR__ . DIRECTORY_SEPARATOR . 'autoload.php');
2
  /**
3
  * Braintree PHP Library
4
  * Creates class_aliases for old class names replaced by PSR-4 Namespaces
 
 
5
  */
6
 
7
  require_once(__DIR__ . DIRECTORY_SEPARATOR . 'autoload.php');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AccountUpdaterDailyReport.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  *
8
  * @package Braintree
9
- * @copyright 2016 Braintree, a division of PayPal, Inc.
10
  *
11
  * @property-read string $reportUrl
12
  * @property-read date $reportDate
6
  *
7
  *
8
  * @package Braintree
 
9
  *
10
  * @property-read string $reportUrl
11
  * @property-read date $reportDate
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AchMandate.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  * PHP Version 5
7
  *
8
  * @package Braintree
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  *
11
  * @property-read string $text
12
  * @property-read string $acceptedAt
6
  * PHP Version 5
7
  *
8
  * @package Braintree
 
9
  *
10
  * @property-read string $text
11
  * @property-read string $acceptedAt
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Address.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  * as the shipping address when creating a Transaction.
12
  *
13
  * @package Braintree
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $company
17
  * @property-read string $countryName
11
  * as the shipping address when creating a Transaction.
12
  *
13
  * @package Braintree
 
14
  *
15
  * @property-read string $company
16
  * @property-read string $countryName
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AddressGateway.php CHANGED
@@ -13,7 +13,6 @@ use InvalidArgumentException;
13
  * as the shipping address when creating a Transaction.
14
  *
15
  * @package Braintree
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  */
18
  class AddressGateway
19
  {
13
  * as the shipping address when creating a Transaction.
14
  *
15
  * @package Braintree
 
16
  */
17
  class AddressGateway
18
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AmexExpressCheckoutCard.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $createdAt
17
  * @property-read string $default
@@ -21,7 +20,6 @@ namespace Braintree;
21
  * @property-read string $bin
22
  * @property-read string $cardMemberExpiryDate
23
  * @property-read string $cardMemberNumber
24
- * @property-read string $cardType
25
  * @property-read string $sourceDescription
26
  * @property-read string $token
27
  * @property-read string $imageUrl
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read string $createdAt
16
  * @property-read string $default
20
  * @property-read string $bin
21
  * @property-read string $cardMemberExpiryDate
22
  * @property-read string $cardMemberNumber
 
23
  * @property-read string $sourceDescription
24
  * @property-read string $token
25
  * @property-read string $imageUrl
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/AndroidPayCard.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $bin
17
  * @property-read string $cardType
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read string $bin
16
  * @property-read string $cardType
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ApplePayCard.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $cardType
17
  * @property-read string $createdAt
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read string $cardType
16
  * @property-read string $createdAt
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Base.php CHANGED
@@ -8,8 +8,6 @@ namespace Braintree;
8
  * Provides methods to child classes. This class cannot be instantiated.
9
  *
10
  * PHP version 5
11
- *
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
  abstract class Base
15
  {
8
  * Provides methods to child classes. This class cannot be instantiated.
9
  *
10
  * PHP version 5
 
 
11
  */
12
  abstract class Base
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CoinbaseAccount.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,7 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $customerId
23
  * @property-read string $token
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
19
  *
20
  * @property-read string $customerId
21
  * @property-read string $token
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Collection.php CHANGED
@@ -17,7 +17,6 @@ use ArrayIterator;
17
  *
18
  * @package Braintree
19
  * @subpackage Utility
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  */
22
 
23
  class Collection implements Countable, IteratorAggregate, ArrayAccess
17
  *
18
  * @package Braintree
19
  * @subpackage Utility
 
20
  */
21
 
22
  class Collection implements Countable, IteratorAggregate, ArrayAccess
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Configuration.php CHANGED
@@ -7,7 +7,6 @@ namespace Braintree;
7
  *
8
  * @package Braintree
9
  * @subpackage Utility
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  */
12
 
13
  class Configuration
@@ -28,6 +27,7 @@ class Configuration
28
  private $_proxyPassword = null;
29
  private $_timeout = 60;
30
  private $_sslVersion = null;
 
31
 
32
  /**
33
  * Braintree API version to use
@@ -228,6 +228,20 @@ class Configuration
228
  return !empty($proxyUser) && !empty($proxyPwd);
229
  }
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  public static function assertGlobalHasAccessTokenOrKeys()
232
  {
233
  self::$global->assertHasAccessTokenOrKeys();
@@ -400,6 +414,16 @@ class Configuration
400
  return $this->_sslVersion;
401
  }
402
 
 
 
 
 
 
 
 
 
 
 
403
  public function getAccessToken()
404
  {
405
  return $this->_accessToken;
7
  *
8
  * @package Braintree
9
  * @subpackage Utility
 
10
  */
11
 
12
  class Configuration
27
  private $_proxyPassword = null;
28
  private $_timeout = 60;
29
  private $_sslVersion = null;
30
+ private $_acceptGzipEncoding = true;
31
 
32
  /**
33
  * Braintree API version to use
228
  return !empty($proxyUser) && !empty($proxyPwd);
229
  }
230
 
231
+ /**
232
+ * Specify if the HTTP client is able to decode gzipped responses.
233
+ *
234
+ * @param bool $value If true, will send an Accept-Encoding header with a gzip value. If false, will not send an Accept-Encoding header with a gzip value.
235
+ * @return bool true if an Accept-Encoding header with a gzip value will be sent, false if not
236
+ */
237
+ public static function acceptGzipEncoding($value = null)
238
+ {
239
+ if (is_null($value)) {
240
+ return self::$global->getAcceptGzipEncoding();
241
+ }
242
+ self::$global->setAcceptGzipEncoding($value);
243
+ }
244
+
245
  public static function assertGlobalHasAccessTokenOrKeys()
246
  {
247
  self::$global->assertHasAccessTokenOrKeys();
414
  return $this->_sslVersion;
415
  }
416
 
417
+ private function getAcceptGzipEncoding()
418
+ {
419
+ return $this->_acceptGzipEncoding;
420
+ }
421
+
422
+ private function setAcceptGzipEncoding($value)
423
+ {
424
+ $this->_acceptGzipEncoding = $value;
425
+ }
426
+
427
  public function getAccessToken()
428
  {
429
  return $this->_accessToken;
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ConnectedMerchantPayPalStatusChanged.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Connected Merchant PayPal Status Changed Payload
6
+ *
7
+ * @package Braintree
8
+ *
9
+ * @property-read string $merchantPublicId
10
+ * @property-read string $action
11
+ * @property-read string $oauthApplicationClientId
12
+ */
13
+ class ConnectedMerchantPayPalStatusChanged extends Base
14
+ {
15
+ protected $_attributes = [];
16
+
17
+ /**
18
+ * @ignore
19
+ */
20
+ public static function factory($attributes)
21
+ {
22
+ $instance = new self();
23
+ $instance->_initialize($attributes);
24
+
25
+ return $instance;
26
+ }
27
+
28
+ /**
29
+ * @ignore
30
+ */
31
+ protected function _initialize($attributes)
32
+ {
33
+ $this->_attributes = $attributes;
34
+ }
35
+ }
36
+ class_alias('Braintree\ConnectedMerchantPayPalStatusChanged', 'Braintree_ConnectedMerchantPayPalStatusChanged');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ConnectedMerchantStatusTransitioned.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Connected Merchant Status Transitioned Payload
6
+ *
7
+ * @package Braintree
8
+ *
9
+ * @property-read string $merchantPublicId
10
+ * @property-read string $status
11
+ * @property-read string $oauthApplicationClientId
12
+ */
13
+ class ConnectedMerchantStatusTransitioned extends Base
14
+ {
15
+ protected $_attributes = [];
16
+
17
+ /**
18
+ * @ignore
19
+ */
20
+ public static function factory($attributes)
21
+ {
22
+ $instance = new self();
23
+ $instance->_initialize($attributes);
24
+
25
+ return $instance;
26
+ }
27
+
28
+ /**
29
+ * @ignore
30
+ */
31
+ protected function _initialize($attributes)
32
+ {
33
+ $this->_attributes = $attributes;
34
+ }
35
+ }
36
+ class_alias('Braintree\ConnectedMerchantStatusTransitioned', 'Braintree_ConnectedMerchantStatusTransitioned');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CredentialsParser.php CHANGED
@@ -7,7 +7,6 @@ namespace Braintree;
7
  *
8
  * @package Braintree
9
  * @subpackage Utility
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  */
12
 
13
  class CredentialsParser
7
  *
8
  * @package Braintree
9
  * @subpackage Utility
 
10
  */
11
 
12
  class CredentialsParser
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CreditCard.php CHANGED
@@ -12,7 +12,6 @@ namespace Braintree;
12
  *
13
  * @package Braintree
14
  * @category Resources
15
- * @copyright 2015 Braintree, a division of PayPal, Inc.
16
  *
17
  * @property-read string $billingAddress
18
  * @property-read string $bin
12
  *
13
  * @package Braintree
14
  * @category Resources
 
15
  *
16
  * @property-read string $billingAddress
17
  * @property-read string $bin
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CreditCardGateway.php CHANGED
@@ -14,7 +14,6 @@ use InvalidArgumentException;
14
  *
15
  * @package Braintree
16
  * @category Resources
17
- * @copyright 2015 Braintree, a division of PayPal, Inc.
18
  */
19
  class CreditCardGateway
20
  {
14
  *
15
  * @package Braintree
16
  * @category Resources
 
17
  */
18
  class CreditCardGateway
19
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Customer.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read array $addresses
17
  * @property-read array $paymentMethods
@@ -23,6 +22,8 @@ namespace Braintree;
23
  * @property-read array $androidPayCards
24
  * @property-read array $amexExpressCheckoutCards
25
  * @property-read array $venmoAccounts
 
 
26
  * @property-read array $coinbaseAccounts
27
  * @property-read array $customFields custom fields passed with the request
28
  * @property-read string $email
@@ -296,6 +297,22 @@ class Customer extends Base
296
  }
297
  $this->_set('venmoAccounts', $venmoAccountArray);
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  $usBankAccountArray = array();
300
  if (isset($customerAttribs['usBankAccounts'])) {
301
  foreach ($customerAttribs['usBankAccounts'] AS $usBankAccount) {
@@ -312,6 +329,8 @@ class Customer extends Base
312
  $this->androidPayCards,
313
  $this->amexExpressCheckoutCards,
314
  $this->venmoAccounts,
 
 
315
  $this->usBankAccounts
316
  ));
317
  }
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read array $addresses
16
  * @property-read array $paymentMethods
22
  * @property-read array $androidPayCards
23
  * @property-read array $amexExpressCheckoutCards
24
  * @property-read array $venmoAccounts
25
+ * @property-read array $visaCheckoutCards
26
+ * @property-read array $masterpassCards
27
  * @property-read array $coinbaseAccounts
28
  * @property-read array $customFields custom fields passed with the request
29
  * @property-read string $email
297
  }
298
  $this->_set('venmoAccounts', $venmoAccountArray);
299
 
300
+ $visaCheckoutCardArray = [];
301
+ if (isset($customerAttribs['visaCheckoutCards'])) {
302
+ foreach ($customerAttribs['visaCheckoutCards'] AS $visaCheckoutCard) {
303
+ $visaCheckoutCardArray[] = VisaCheckoutCard::factory($visaCheckoutCard);
304
+ }
305
+ }
306
+ $this->_set('visaCheckoutCards', $visaCheckoutCardArray);
307
+
308
+ $masterpassCardArray = [];
309
+ if (isset($customerAttribs['masterpassCards'])) {
310
+ foreach ($customerAttribs['masterpassCards'] AS $masterpassCard) {
311
+ $masterpassCardArray[] = MasterpassCard::factory($masterpassCard);
312
+ }
313
+ }
314
+ $this->_set('masterpassCards', $masterpassCardArray);
315
+
316
  $usBankAccountArray = array();
317
  if (isset($customerAttribs['usBankAccounts'])) {
318
  foreach ($customerAttribs['usBankAccounts'] AS $usBankAccount) {
329
  $this->androidPayCards,
330
  $this->amexExpressCheckoutCards,
331
  $this->venmoAccounts,
332
+ $this->visaCheckoutCards,
333
+ $this->masterpassCards,
334
  $this->usBankAccounts
335
  ));
336
  }
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/CustomerGateway.php CHANGED
@@ -13,7 +13,6 @@ use InvalidArgumentException;
13
  *
14
  * @package Braintree
15
  * @category Resources
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  */
18
  class CustomerGateway
19
  {
@@ -144,9 +143,9 @@ class CustomerGateway
144
  */
145
  public static function createSignature()
146
  {
147
-
148
  $creditCardSignature = CreditCardGateway::createSignature();
149
  unset($creditCardSignature[array_search('customerId', $creditCardSignature)]);
 
150
  $signature = [
151
  'id', 'company', 'email', 'fax', 'firstName',
152
  'lastName', 'phone', 'website', 'deviceData',
@@ -156,7 +155,10 @@ class CustomerGateway
156
  ],
157
  ['creditCard' => $creditCardSignature],
158
  ['customFields' => ['_anyKey_']],
159
- ];
 
 
 
160
  return $signature;
161
  }
162
 
@@ -180,7 +182,10 @@ class CustomerGateway
180
  'deviceSessionId', 'fraudMerchantId', 'paymentMethodNonce', 'defaultPaymentMethodToken',
181
  ['creditCard' => $creditCardSignature],
182
  ['customFields' => ['_anyKey_']],
183
- ];
 
 
 
184
  return $signature;
185
  }
186
 
13
  *
14
  * @package Braintree
15
  * @category Resources
 
16
  */
17
  class CustomerGateway
18
  {
143
  */
144
  public static function createSignature()
145
  {
 
146
  $creditCardSignature = CreditCardGateway::createSignature();
147
  unset($creditCardSignature[array_search('customerId', $creditCardSignature)]);
148
+
149
  $signature = [
150
  'id', 'company', 'email', 'fax', 'firstName',
151
  'lastName', 'phone', 'website', 'deviceData',
155
  ],
156
  ['creditCard' => $creditCardSignature],
157
  ['customFields' => ['_anyKey_']],
158
+ ['options' => [
159
+ ['paypal' => ['payee_email']]
160
+ ]],
161
+ ];
162
  return $signature;
163
  }
164
 
182
  'deviceSessionId', 'fraudMerchantId', 'paymentMethodNonce', 'defaultPaymentMethodToken',
183
  ['creditCard' => $creditCardSignature],
184
  ['customFields' => ['_anyKey_']],
185
+ ['options' => [
186
+ ['paypal' => ['payee_email']],
187
+ ]],
188
+ ];
189
  return $signature;
190
  }
191
 
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Digest.php CHANGED
@@ -4,8 +4,6 @@ namespace Braintree;
4
  /**
5
  * Digest encryption module
6
  * Digest creates an HMAC-SHA1 hash for encrypting messages
7
- *
8
- * @copyright 2015 Braintree, a division of PayPal, Inc.
9
  */
10
  class Digest
11
  {
4
  /**
5
  * Digest encryption module
6
  * Digest creates an HMAC-SHA1 hash for encrypting messages
 
 
7
  */
8
  class Digest
9
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/DisbursementDetails.php CHANGED
@@ -7,7 +7,6 @@ namespace Braintree;
7
  *
8
  *
9
  * @package Braintree
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  *
12
  * @property-read string $settlementAmount
13
  * @property-read string $settlementCurrencyIsoCode
7
  *
8
  *
9
  * @package Braintree
 
10
  *
11
  * @property-read string $settlementAmount
12
  * @property-read string $settlementCurrencyIsoCode
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Dispute.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  *
8
  * @package Braintree
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  *
11
  * @property-read string $amount
12
  * @property-read string $currencyIsoCode
6
  *
7
  *
8
  * @package Braintree
 
9
  *
10
  * @property-read string $amount
11
  * @property-read string $currencyIsoCode
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Dispute/TransactionDetails.php CHANGED
@@ -7,7 +7,6 @@ use Braintree\Instance;
7
  * Transaction details for a dispute
8
  *
9
  * @package Braintree
10
- * @copyright 2010 Braintree Payment Solutions
11
  */
12
 
13
  /**
@@ -15,7 +14,6 @@ use Braintree\Instance;
15
  *
16
  *
17
  * @package Braintree
18
- * @copyright 2010 Braintree Payment Solutions
19
  *
20
  * @property-read string $amount
21
  * @property-read string $id
7
  * Transaction details for a dispute
8
  *
9
  * @package Braintree
 
10
  */
11
 
12
  /**
14
  *
15
  *
16
  * @package Braintree
 
17
  *
18
  * @property-read string $amount
19
  * @property-read string $id
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/Codes.php CHANGED
@@ -14,7 +14,6 @@ namespace Braintree\Error;
14
  * @package Braintree
15
  * @subpackage Errors
16
  * @category Validation
17
- * @copyright 2015 Braintree, a division of PayPal, Inc.
18
  */
19
  class Codes
20
  {
@@ -414,6 +413,7 @@ class Codes
414
 
415
  const TRANSACTION_AMOUNT_CANNOT_BE_NEGATIVE = '81501';
416
  const TRANSACTION_AMOUNT_DOES_NOT_MATCH3_D_SECURE_AMOUNT = '91585';
 
417
  const TRANSACTION_AMOUNT_FORMAT_IS_INVALID = '81503';
418
  const TRANSACTION_AMOUNT_IS_INVALID = '81503';
419
  const TRANSACTION_AMOUNT_IS_REQUIRED = '81502';
@@ -448,7 +448,9 @@ class Codes
448
  const TRANSACTION_CUSTOM_FIELD_IS_INVALID = '91526';
449
  const TRANSACTION_CUSTOM_FIELD_IS_TOO_LONG = '81527';
450
  const TRANSACTION_HAS_ALREADY_BEEN_REFUNDED = '91512';
 
451
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_MATCH3_D_SECURE_MERCHANT_ACCOUNT = '91584';
 
452
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_SUPPORT_MOTO = '91558';
453
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_SUPPORT_REFUNDS = '91547';
454
  const TRANSACTION_MERCHANT_ACCOUNT_ID_IS_INVALID = '91513';
@@ -459,6 +461,8 @@ class Codes
459
  const TRANSACTION_OPTIONS_SUBMIT_FOR_SETTLEMENT_IS_REQUIRED_FOR_PAYPAL_UNILATERAL = '91582';
460
  const TRANSACTION_OPTIONS_USE_BILLING_FOR_SHIPPING_DISABLED = '91572';
461
  const TRANSACTION_OPTIONS_VAULT_IS_DISABLED = '91525';
 
 
462
  const TRANSACTION_ORDER_ID_IS_TOO_LONG = '91501';
463
  const TRANSACTION_PAYMENT_INSTRUMENT_NOT_SUPPORTED_BY_MERCHANT_ACCOUNT = '91577';
464
  const TRANSACTION_PAYMENT_INSTRUMENT_TYPE_IS_NOT_ACCEPTED = '915101';
14
  * @package Braintree
15
  * @subpackage Errors
16
  * @category Validation
 
17
  */
18
  class Codes
19
  {
413
 
414
  const TRANSACTION_AMOUNT_CANNOT_BE_NEGATIVE = '81501';
415
  const TRANSACTION_AMOUNT_DOES_NOT_MATCH3_D_SECURE_AMOUNT = '91585';
416
+ const TRANSACTION_AMOUNT_DOES_NOT_MATCH_IDEAL_PAYMENT_AMOUNT = '915144';
417
  const TRANSACTION_AMOUNT_FORMAT_IS_INVALID = '81503';
418
  const TRANSACTION_AMOUNT_IS_INVALID = '81503';
419
  const TRANSACTION_AMOUNT_IS_REQUIRED = '81502';
448
  const TRANSACTION_CUSTOM_FIELD_IS_INVALID = '91526';
449
  const TRANSACTION_CUSTOM_FIELD_IS_TOO_LONG = '81527';
450
  const TRANSACTION_HAS_ALREADY_BEEN_REFUNDED = '91512';
451
+ const TRANSACTION_IDEAL_PAYMENT_NOT_COMPLETE = '815141';
452
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_MATCH3_D_SECURE_MERCHANT_ACCOUNT = '91584';
453
+ const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_MATCH_IDEAL_PAYMENT_MERCHANT_ACCOUNT = '915143';
454
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_SUPPORT_MOTO = '91558';
455
  const TRANSACTION_MERCHANT_ACCOUNT_DOES_NOT_SUPPORT_REFUNDS = '91547';
456
  const TRANSACTION_MERCHANT_ACCOUNT_ID_IS_INVALID = '91513';
461
  const TRANSACTION_OPTIONS_SUBMIT_FOR_SETTLEMENT_IS_REQUIRED_FOR_PAYPAL_UNILATERAL = '91582';
462
  const TRANSACTION_OPTIONS_USE_BILLING_FOR_SHIPPING_DISABLED = '91572';
463
  const TRANSACTION_OPTIONS_VAULT_IS_DISABLED = '91525';
464
+ const TRANSACTION_ORDER_ID_DOES_NOT_MATCH_IDEAL_PAYMENT_ORDER_ID = '91503';
465
+ const TRANSACTION_ORDER_ID_IS_REQUIRED_WITH_IDEAL_PAYMENT = '91502';
466
  const TRANSACTION_ORDER_ID_IS_TOO_LONG = '91501';
467
  const TRANSACTION_PAYMENT_INSTRUMENT_NOT_SUPPORTED_BY_MERCHANT_ACCOUNT = '91577';
468
  const TRANSACTION_PAYMENT_INSTRUMENT_TYPE_IS_NOT_ACCEPTED = '915101';
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/ErrorCollection.php CHANGED
@@ -13,7 +13,6 @@ use Braintree\Util;
13
  * @package Braintree
14
  * @subpackage Errors
15
  * @category Errors
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  *
18
  * @property-read object $errors
19
  */
13
  * @package Braintree
14
  * @subpackage Errors
15
  * @category Errors
 
16
  *
17
  * @property-read object $errors
18
  */
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/Validation.php CHANGED
@@ -13,7 +13,6 @@ use Braintree\Util;
13
  *
14
  * @package Braintree
15
  * @subpackage Error
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  *
18
  * @property-read string $attribute
19
  * @property-read string $code
13
  *
14
  * @package Braintree
15
  * @subpackage Error
 
16
  *
17
  * @property-read string $attribute
18
  * @property-read string $code
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Error/ValidationErrorCollection.php CHANGED
@@ -12,7 +12,6 @@ use Braintree\Collection;
12
  *
13
  * @package Braintree
14
  * @subpackage Error
15
- * @copyright 2015 Braintree, a division of PayPal, Inc.
16
  *
17
  * @property-read array $errors
18
  * @property-read array $nested
12
  *
13
  * @package Braintree
14
  * @subpackage Error
 
15
  *
16
  * @property-read array $errors
17
  * @property-read array $nested
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/EuropeBankAccount.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $account-holder-name
17
  * @property-read string $bic
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read string $account-holder-name
16
  * @property-read string $bic
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @subpackage Exception
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
  class Exception extends \Exception
12
  {
6
  *
7
  * @package Braintree
8
  * @subpackage Exception
 
9
  */
10
  class Exception extends \Exception
11
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Authentication.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Exception;
9
  *
10
  * @package Braintree
11
  * @subpackage Exception
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
  class Authentication extends Exception
15
  {
9
  *
10
  * @package Braintree
11
  * @subpackage Exception
 
12
  */
13
  class Authentication extends Exception
14
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Authorization.php CHANGED
@@ -11,7 +11,6 @@ use Braintree\Exception;
11
  *
12
  * @package Braintree
13
  * @subpackage Exception
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  */
16
  class Authorization extends Exception
17
  {
11
  *
12
  * @package Braintree
13
  * @subpackage Exception
 
14
  */
15
  class Authorization extends Exception
16
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/DownForMaintenance.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class DownForMaintenance extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class DownForMaintenance extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ForgedQueryString.php CHANGED
@@ -12,7 +12,6 @@ use Braintree\Exception;
12
  *
13
  * @package Braintree
14
  * @subpackage Exception
15
- * @copyright 2015 Braintree, a division of PayPal, Inc.
16
  */
17
  class ForgedQueryString extends Exception
18
  {
12
  *
13
  * @package Braintree
14
  * @subpackage Exception
 
15
  */
16
  class ForgedQueryString extends Exception
17
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/NotFound.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class NotFound extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class NotFound extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/SSLCaFileNotFound.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class SSLCaFileNotFound extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class SSLCaFileNotFound extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/SSLCertificate.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class SSLCertificate extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class SSLCertificate extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ServerError.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class ServerError extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class ServerError extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/TestOperationPerformedInProduction.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class TestOperationPerformedInProduction extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class TestOperationPerformedInProduction extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Timeout.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2016 Braintree, a division of PayPal, Inc.
12
  */
13
  class Timeout extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class Timeout extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/TooManyRequests.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class TooManyRequests extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class TooManyRequests extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/Unexpected.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Exception;
9
  *
10
  * @package Braintree
11
  * @subpackage Exception
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
  class Unexpected extends Exception
15
  {
9
  *
10
  * @package Braintree
11
  * @subpackage Exception
 
12
  */
13
  class Unexpected extends Exception
14
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/UpgradeRequired.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class UpgradeRequired extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class UpgradeRequired extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Exception/ValidationsFailed.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Exception;
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
  class ValidationsFailed extends Exception
14
  {
8
  *
9
  * @package Braintree
10
  * @subpackage Exception
 
11
  */
12
  class ValidationsFailed extends Exception
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Gateway.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
  class Gateway
12
  {
@@ -204,5 +203,22 @@ class Gateway
204
  return new UsBankAccountGateway($this);
205
  }
206
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  }
208
  class_alias('Braintree\Gateway', 'Braintree_Gateway');
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
  class Gateway
11
  {
203
  return new UsBankAccountGateway($this);
204
  }
205
 
206
+ /**
207
+ *
208
+ * @return IdealPaymentGateway
209
+ */
210
+ public function idealPayment()
211
+ {
212
+ return new IdealPaymentGateway($this);
213
+ }
214
+
215
+ /**
216
+ *
217
+ * @return WebhookNotificationGateway
218
+ */
219
+ public function webhookNotification()
220
+ {
221
+ return new WebhookNotificationGateway($this);
222
+ }
223
  }
224
  class_alias('Braintree\Gateway', 'Braintree_Gateway');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Http.php CHANGED
@@ -4,8 +4,6 @@ namespace Braintree;
4
  /**
5
  * Braintree HTTP Client
6
  * processes Http requests using curl
7
- *
8
- * @copyright 2015 Braintree, a division of PayPal, Inc.
9
  */
10
  class Http
11
  {
@@ -107,8 +105,10 @@ class Http
107
  curl_setopt($curl, CURLOPT_TIMEOUT, $this->_config->timeout());
108
  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $httpVerb);
109
  curl_setopt($curl, CURLOPT_URL, $url);
110
- curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
111
 
 
 
 
112
  if ($this->_config->sslVersion()) {
113
  curl_setopt($curl, CURLOPT_SSLVERSION, $this->_config->sslVersion());
114
  }
4
  /**
5
  * Braintree HTTP Client
6
  * processes Http requests using curl
 
 
7
  */
8
  class Http
9
  {
105
  curl_setopt($curl, CURLOPT_TIMEOUT, $this->_config->timeout());
106
  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $httpVerb);
107
  curl_setopt($curl, CURLOPT_URL, $url);
 
108
 
109
+ if ($this->_config->acceptGzipEncoding()) {
110
+ curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
111
+ }
112
  if ($this->_config->sslVersion()) {
113
  curl_setopt($curl, CURLOPT_SSLVERSION, $this->_config->sslVersion());
114
  }
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IbanBankAccount.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Braintree IbanBankAccount module
6
+ * PHP Version 5
7
+ *
8
+ * @package Braintree
9
+ *
10
+ * @property-read string $maskedIban
11
+ * @property-read string $bic
12
+ * @property-read string $ibanCountry
13
+ * @property-read string $description
14
+ * @property-read string $ibanAccountNumberLast4
15
+ */
16
+ class IbanBankAccount extends Base
17
+ {
18
+ /**
19
+ * create a printable representation of the object as:
20
+ * ClassName[property=value, property=value]
21
+ * @ignore
22
+ * @return string
23
+ */
24
+ public function __toString()
25
+ {
26
+ return __CLASS__ . '[' .
27
+ Util::attributesToString($this->_attributes) . ']';
28
+ }
29
+
30
+ /**
31
+ * sets instance properties from an array of values
32
+ *
33
+ * @ignore
34
+ * @access protected
35
+ * @param array $ibanAttribs array of ibanBankAccount data
36
+ * @return void
37
+ */
38
+ protected function _initialize($ibanAttribs)
39
+ {
40
+ // set the attributes
41
+ $this->_attributes = $ibanAttribs;
42
+ }
43
+
44
+ /**
45
+ * factory method: returns an instance of IbanBankAccount
46
+ * to the requesting method, with populated properties
47
+ * @ignore
48
+ * @return IbanBankAccount
49
+ */
50
+ public static function factory($attributes)
51
+ {
52
+ $instance = new self();
53
+ $instance->_initialize($attributes);
54
+ return $instance;
55
+ }
56
+ }
57
+ class_alias('Braintree\IbanBankAccount', 'Braintree_IbanBankAccount');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IdealPayment.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Braintree IdealPayment module
6
+ *
7
+ * @package Braintree
8
+ * @category Resources
9
+ */
10
+
11
+ /**
12
+ * Manages Braintree IdealPayments
13
+ *
14
+ * <b>== More information ==</b>
15
+ *
16
+ *
17
+ * @package Braintree
18
+ * @category Resources
19
+ *
20
+ * @property-read string $id
21
+ * @property-read string $idealTransactionId
22
+ * @property-read string $currency
23
+ * @property-read string $amount
24
+ * @property-read string $status
25
+ * @property-read string $orderId
26
+ * @property-read string $issuer
27
+ * @property-read string $ibanBankAccount
28
+ */
29
+ class IdealPayment extends Base
30
+ {
31
+ /**
32
+ * factory method: returns an instance of IdealPayment
33
+ * to the requesting method, with populated properties
34
+ *
35
+ * @ignore
36
+ * @return IdealPayment
37
+ */
38
+ public static function factory($attributes)
39
+ {
40
+ $instance = new self();
41
+ $instance->_initialize($attributes);
42
+ return $instance;
43
+ }
44
+
45
+ /* instance methods */
46
+
47
+ /**
48
+ * sets instance properties from an array of values
49
+ *
50
+ * @access protected
51
+ * @param array $idealPaymentAttribs array of idealPayment data
52
+ * @return void
53
+ */
54
+ protected function _initialize($idealPaymentAttribs)
55
+ {
56
+ // set the attributes
57
+ $this->_attributes = $idealPaymentAttribs;
58
+
59
+ $ibanBankAccount = isset($idealPaymentAttribs['ibanBankAccount']) ?
60
+ IbanBankAccount::factory($idealPaymentAttribs['ibanBankAccount']) :
61
+ null;
62
+ $this->_set('ibanBankAccount', $ibanBankAccount);
63
+ }
64
+
65
+ /**
66
+ * create a printable representation of the object as:
67
+ * ClassName[property=value, property=value]
68
+ * @return string
69
+ */
70
+ public function __toString()
71
+ {
72
+ return __CLASS__ . '[' .
73
+ Util::attributesToString($this->_attributes) . ']';
74
+ }
75
+
76
+
77
+ // static methods redirecting to gateway
78
+
79
+ public static function find($idealPaymentId)
80
+ {
81
+ return Configuration::gateway()->idealPayment()->find($idealPaymentId);
82
+ }
83
+
84
+ public static function sale($idealPaymentId, $transactionAttribs)
85
+ {
86
+ $transactionAttribs['options'] = [
87
+ 'submitForSettlement' => true
88
+ ];
89
+ return Configuration::gateway()->idealPayment()->sale($idealPaymentId, $transactionAttribs);
90
+ }
91
+ }
92
+ class_alias('Braintree\IdealPayment', 'Braintree_IdealPayment');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/IdealPaymentGateway.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ use InvalidArgumentException;
5
+
6
+ /**
7
+ * Braintree IdealPaymentGateway module
8
+ *
9
+ * @package Braintree
10
+ * @category Resources
11
+ */
12
+
13
+ /**
14
+ * Manages Braintree IdealPayments
15
+ *
16
+ * <b>== More information ==</b>
17
+ *
18
+ *
19
+ * @package Braintree
20
+ * @category Resources
21
+ */
22
+ class IdealPaymentGateway
23
+ {
24
+ private $_gateway;
25
+ private $_config;
26
+ private $_http;
27
+
28
+ public function __construct($gateway)
29
+ {
30
+ $this->_gateway = $gateway;
31
+ $this->_config = $gateway->config;
32
+ $this->_config->assertHasAccessTokenOrKeys();
33
+ $this->_http = new Http($gateway->config);
34
+ }
35
+
36
+ /**
37
+ * find an IdealPayment by id
38
+ *
39
+ * @access public
40
+ * @param string $idealPaymentId
41
+ * @return IdealPayment
42
+ * @throws Exception\NotFound
43
+ */
44
+ public function find($idealPaymentId)
45
+ {
46
+ try {
47
+ $path = $this->_config->merchantPath() . '/ideal_payments/' . $idealPaymentId;
48
+ $response = $this->_http->get($path);
49
+ return IdealPayment::factory($response['idealPayment']);
50
+ } catch (Exception\NotFound $e) {
51
+ throw new Exception\NotFound(
52
+ 'iDEAL Payment with id ' . $idealPaymentId . ' not found'
53
+ );
54
+ }
55
+ }
56
+
57
+ /**
58
+ * create a new sale for the current IdealPayment
59
+ *
60
+ * @param string $idealPaymentId
61
+ * @param array $transactionAttribs
62
+ * @return Result\Successful|Result\Error
63
+ * @see Transaction::sale()
64
+ */
65
+ public function sale($idealPaymentId, $transactionAttribs)
66
+ {
67
+ return Transaction::sale(
68
+ array_merge(
69
+ $transactionAttribs,
70
+ ['paymentMethodNonce' => $idealPaymentId]
71
+ )
72
+ );
73
+ }
74
+
75
+ /**
76
+ * generic method for validating incoming gateway responses
77
+ *
78
+ * creates a new IdealPayment object and encapsulates
79
+ * it inside a Result\Successful object, or
80
+ * encapsulates a Errors object inside a Result\Error
81
+ * alternatively, throws an Unexpected exception if the response is invalid.
82
+ *
83
+ * @ignore
84
+ * @param array $response gateway response values
85
+ * @return Result\Successful|Result\Error
86
+ * @throws Exception\Unexpected
87
+ */
88
+ private function _verifyGatewayResponse($response)
89
+ {
90
+ if (isset($response['idealPayment'])) {
91
+ // return a populated instance of IdealPayment
92
+ return new Result\Successful(
93
+ IdealPayment::factory($response['idealPayment'])
94
+ );
95
+ } else if (isset($response['apiErrorResponse'])) {
96
+ return new Result\Error($response['apiErrorResponse']);
97
+ } else {
98
+ throw new Exception\Unexpected(
99
+ 'Expected Ideal Payment or apiErrorResponse'
100
+ );
101
+ }
102
+ }
103
+ }
104
+ class_alias('Braintree\IdealPaymentGateway', 'Braintree_IdealPaymentGateway');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Instance.php CHANGED
@@ -4,7 +4,6 @@ namespace Braintree;
4
  /**
5
  * Braintree Class Instance template
6
  *
7
- * @copyright 2015 Braintree, a division of PayPal, Inc.
8
  * @abstract
9
  */
10
  abstract class Instance
4
  /**
5
  * Braintree Class Instance template
6
  *
 
7
  * @abstract
8
  */
9
  abstract class Instance
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/MasterpassCard.php ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Braintree MasterpassCard module
6
+ * Creates and manages Braintree MasterpassCards
7
+ *
8
+ * <b>== More information ==</b>
9
+ *
10
+ * For more detailed information on CreditCard verifications, see {@link http://www.braintreepayments.com/gateway/credit-card-verification-api http://www.braintreepaymentsolutions.com/gateway/credit-card-verification-api}
11
+ *
12
+ * @package Braintree
13
+ * @category Resources
14
+ *
15
+ * @property-read string $billingAddress
16
+ * @property-read string $bin
17
+ * @property-read string $cardType
18
+ * @property-read string $cardholderName
19
+ * @property-read string $commercial
20
+ * @property-read string $countryOfIssuance
21
+ * @property-read string $createdAt
22
+ * @property-read string $customerId
23
+ * @property-read string $customerLocation
24
+ * @property-read string $debit
25
+ * @property-read string $default
26
+ * @property-read string $durbinRegulated
27
+ * @property-read string $expirationDate
28
+ * @property-read string $expirationMonth
29
+ * @property-read string $expirationYear
30
+ * @property-read string $expired
31
+ * @property-read string $healthcare
32
+ * @property-read string $imageUrl
33
+ * @property-read string $issuingBank
34
+ * @property-read string $last4
35
+ * @property-read string $maskedNumber
36
+ * @property-read string $payroll
37
+ * @property-read string $prepaid
38
+ * @property-read string $productId
39
+ * @property-read string $subscriptions
40
+ * @property-read string $token
41
+ * @property-read string $uniqueNumberIdentifier
42
+ * @property-read string $updatedAt
43
+ */
44
+ class MasterpassCard extends Base
45
+ {
46
+ /* instance methods */
47
+ /**
48
+ * returns false if default is null or false
49
+ *
50
+ * @return boolean
51
+ */
52
+ public function isDefault()
53
+ {
54
+ return $this->default;
55
+ }
56
+
57
+ /**
58
+ * checks whether the card is expired based on the current date
59
+ *
60
+ * @return boolean
61
+ */
62
+ public function isExpired()
63
+ {
64
+ return $this->expired;
65
+ }
66
+
67
+ /**
68
+ * sets instance properties from an array of values
69
+ *
70
+ * @access protected
71
+ * @param array $creditCardAttribs array of creditcard data
72
+ * @return void
73
+ */
74
+ protected function _initialize($creditCardAttribs)
75
+ {
76
+ // set the attributes
77
+ $this->_attributes = $creditCardAttribs;
78
+
79
+ // map each address into its own object
80
+ $billingAddress = isset($creditCardAttribs['billingAddress']) ?
81
+ Address::factory($creditCardAttribs['billingAddress']) :
82
+ null;
83
+
84
+ $subscriptionArray = [];
85
+ if (isset($creditCardAttribs['subscriptions'])) {
86
+ foreach ($creditCardAttribs['subscriptions'] AS $subscription) {
87
+ $subscriptionArray[] = Subscription::factory($subscription);
88
+ }
89
+ }
90
+
91
+ $this->_set('subscriptions', $subscriptionArray);
92
+ $this->_set('billingAddress', $billingAddress);
93
+ $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear);
94
+ $this->_set('maskedNumber', $this->bin . '******' . $this->last4);
95
+ }
96
+
97
+ /**
98
+ * returns false if comparing object is not a CreditCard,
99
+ * or is a CreditCard with a different id
100
+ *
101
+ * @param object $otherCreditCard customer to compare against
102
+ * @return boolean
103
+ */
104
+ public function isEqual($otherMasterpassCard)
105
+ {
106
+ return !($otherMasterpassCard instanceof self) ? false : $this->token === $otherMasterpassCard->token;
107
+ }
108
+
109
+ /**
110
+ * create a printable representation of the object as:
111
+ * ClassName[property=value, property=value]
112
+ * @return string
113
+ */
114
+ public function __toString()
115
+ {
116
+ return __CLASS__ . '[' .
117
+ Util::attributesToString($this->_attributes) .']';
118
+ }
119
+
120
+ /**
121
+ * factory method: returns an instance of CreditCard
122
+ * to the requesting method, with populated properties
123
+ *
124
+ * @ignore
125
+ * @return MasterpassCard
126
+ */
127
+ public static function factory($attributes)
128
+ {
129
+ $defaultAttributes = [
130
+ 'bin' => '',
131
+ 'expirationMonth' => '',
132
+ 'expirationYear' => '',
133
+ 'last4' => '',
134
+ ];
135
+
136
+ $instance = new self();
137
+ $instance->_initialize(array_merge($defaultAttributes, $attributes));
138
+ return $instance;
139
+ }
140
+ }
141
+ class_alias('Braintree\MasterpassCard', 'Braintree_MasterpassCard');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthCredentials.php CHANGED
@@ -6,8 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
- *
11
  */
12
  class OAuthCredentials extends Base
13
  {
6
  *
7
  * @package Braintree
8
  * @category Resources
 
 
9
  */
10
  class OAuthCredentials extends Base
11
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthGateway.php CHANGED
@@ -7,7 +7,6 @@ namespace Braintree;
7
  * Creates and manages Braintree Addresses
8
  *
9
  * @package Braintree
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  */
12
  class OAuthGateway
13
  {
7
  * Creates and manages Braintree Addresses
8
  *
9
  * @package Braintree
 
10
  */
11
  class OAuthGateway
12
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/OAuthResult.php CHANGED
@@ -6,8 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
- *
11
  */
12
  class OAuthResult extends Base
13
  {
6
  *
7
  * @package Braintree
8
  * @category Resources
 
 
9
  */
10
  class OAuthResult extends Base
11
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaginatedCollection.php CHANGED
@@ -20,7 +20,6 @@ use Iterator;
20
  *
21
  * @package Braintree
22
  * @subpackage Utility
23
- * @copyright 2016 Braintree, a division of PayPal, Inc.
24
  */
25
  class PaginatedCollection implements Iterator
26
  {
@@ -85,7 +84,7 @@ class PaginatedCollection implements Iterator
85
  */
86
  public function valid()
87
  {
88
- if ($this->_currentPage == 0 || $this->_index % $this->_pageSize == 0)
89
  {
90
  $this->_getNextPage();
91
  }
20
  *
21
  * @package Braintree
22
  * @subpackage Utility
 
23
  */
24
  class PaginatedCollection implements Iterator
25
  {
84
  */
85
  public function valid()
86
  {
87
+ if ($this->_currentPage == 0 || $this->_index % $this->_pageSize == 0 && $this->_index < $this->_totalItems)
88
  {
89
  $this->_getNextPage();
90
  }
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PartnerMerchant.php CHANGED
@@ -8,7 +8,6 @@ namespace Braintree;
8
  * Creates an instance of PartnerMerchants
9
  *
10
  * @package Braintree
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  *
13
  * @property-read string $merchantPublicId
14
  * @property-read string $publicKey
8
  * Creates an instance of PartnerMerchants
9
  *
10
  * @package Braintree
 
11
  *
12
  * @property-read string $merchantPublicId
13
  * @property-read string $publicKey
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PayPalAccount.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,7 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $customerId
23
  * @property-read string $email
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
19
  *
20
  * @property-read string $customerId
21
  * @property-read string $email
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PayPalAccountGateway.php CHANGED
@@ -8,7 +8,6 @@ use InvalidArgumentException;
8
  *
9
  * @package Braintree
10
  * @category Resources
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -19,7 +18,6 @@ use InvalidArgumentException;
19
  *
20
  * @package Braintree
21
  * @category Resources
22
- * @copyright 2015 Braintree, a division of PayPal, Inc.
23
  */
24
  class PayPalAccountGateway
25
  {
8
  *
9
  * @package Braintree
10
  * @category Resources
 
11
  */
12
 
13
  /**
18
  *
19
  * @package Braintree
20
  * @category Resources
 
21
  */
22
  class PayPalAccountGateway
23
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentInstrumentType.php CHANGED
@@ -7,6 +7,8 @@ class PaymentInstrumentType
7
  const COINBASE_ACCOUNT = 'coinbase_account';
8
  const EUROPE_BANK_ACCOUNT = 'europe_bank_account';
9
  const CREDIT_CARD = 'credit_card';
 
 
10
  const APPLE_PAY_CARD = 'apple_pay_card';
11
  const ANDROID_PAY_CARD = 'android_pay_card';
12
  const VENMO_ACCOUNT = 'venmo_account';
7
  const COINBASE_ACCOUNT = 'coinbase_account';
8
  const EUROPE_BANK_ACCOUNT = 'europe_bank_account';
9
  const CREDIT_CARD = 'credit_card';
10
+ const VISA_CHECKOUT_CARD = 'visa_checkout_card';
11
+ const MASTERPASS_CARD = 'masterpass_card';
12
  const APPLE_PAY_CARD = 'apple_pay_card';
13
  const ANDROID_PAY_CARD = 'android_pay_card';
14
  const VENMO_ACCOUNT = 'venmo_account';
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethod.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,8 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
- *
22
  */
23
  class PaymentMethod extends Base
24
  {
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
 
19
  */
20
  class PaymentMethod extends Base
21
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodGateway.php CHANGED
@@ -8,7 +8,6 @@ use InvalidArgumentException;
8
  *
9
  * @package Braintree
10
  * @category Resources
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -19,8 +18,6 @@ use InvalidArgumentException;
19
  *
20
  * @package Braintree
21
  * @category Resources
22
- * @copyright 2015 Braintree, a division of PayPal, Inc.
23
- *
24
  */
25
  class PaymentMethodGateway
26
  {
@@ -74,6 +71,10 @@ class PaymentMethodGateway
74
  return UsBankAccount::factory($response['usBankAccount']);
75
  } else if (isset($response['venmoAccount'])) {
76
  return VenmoAccount::factory($response['venmoAccount']);
 
 
 
 
77
  } else if (is_array($response)) {
78
  return UnknownPaymentMethod::factory($response);
79
  }
@@ -136,7 +137,8 @@ class PaymentMethodGateway
136
  'makeDefault',
137
  'verificationMerchantAccountId',
138
  'verifyCard',
139
- 'verificationAmount'
 
140
  ];
141
  return [
142
  'billingAddressId',
@@ -289,6 +291,16 @@ class PaymentMethodGateway
289
  VenmoAccount::factory($response['venmoAccount']),
290
  "paymentMethod"
291
  );
 
 
 
 
 
 
 
 
 
 
292
  } else if (isset($response['paymentMethodNonce'])) {
293
  return new Result\Successful(
294
  PaymentMethodNonce::factory($response['paymentMethodNonce']),
8
  *
9
  * @package Braintree
10
  * @category Resources
 
11
  */
12
 
13
  /**
18
  *
19
  * @package Braintree
20
  * @category Resources
 
 
21
  */
22
  class PaymentMethodGateway
23
  {
71
  return UsBankAccount::factory($response['usBankAccount']);
72
  } else if (isset($response['venmoAccount'])) {
73
  return VenmoAccount::factory($response['venmoAccount']);
74
+ } else if (isset($response['visaCheckoutCard'])) {
75
+ return VisaCheckoutCard::factory($response['visaCheckoutCard']);
76
+ } else if (isset($response['masterpassCard'])) {
77
+ return MasterpassCard::factory($response['masterpassCard']);
78
  } else if (is_array($response)) {
79
  return UnknownPaymentMethod::factory($response);
80
  }
137
  'makeDefault',
138
  'verificationMerchantAccountId',
139
  'verifyCard',
140
+ 'verificationAmount',
141
+ ['paypal' => ['payee_email']],
142
  ];
143
  return [
144
  'billingAddressId',
291
  VenmoAccount::factory($response['venmoAccount']),
292
  "paymentMethod"
293
  );
294
+ } else if (isset($response['visaCheckoutCard'])) {
295
+ return new Result\Successful(
296
+ VisaCheckoutCard::factory($response['visaCheckoutCard']),
297
+ "paymentMethod"
298
+ );
299
+ } else if (isset($response['masterpassCard'])) {
300
+ return new Result\Successful(
301
+ MasterpassCard::factory($response['masterpassCard']),
302
+ "paymentMethod"
303
+ );
304
  } else if (isset($response['paymentMethodNonce'])) {
305
  return new Result\Successful(
306
  PaymentMethodNonce::factory($response['paymentMethodNonce']),
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodNonce.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,8 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
- *
22
  */
23
  class PaymentMethodNonce extends Base
24
  {
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
 
19
  */
20
  class PaymentMethodNonce extends Base
21
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/PaymentMethodNonceGateway.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,8 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
- *
22
  */
23
  class PaymentMethodNonceGateway
24
  {
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
 
19
  */
20
  class PaymentMethodNonceGateway
21
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/ResourceCollection.php CHANGED
@@ -20,7 +20,6 @@ use Iterator;
20
  *
21
  * @package Braintree
22
  * @subpackage Utility
23
- * @copyright 2015 Braintree, a division of PayPal, Inc.
24
  */
25
  class ResourceCollection implements Iterator
26
  {
20
  *
21
  * @package Braintree
22
  * @subpackage Utility
 
23
  */
24
  class ResourceCollection implements Iterator
25
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/CreditCardVerification.php CHANGED
@@ -13,7 +13,6 @@ use Braintree\Util;
13
  *
14
  * @package Braintree
15
  * @subpackage Result
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  *
18
  * @property-read string $avsErrorResponseCode
19
  * @property-read string $avsPostalCodeResponseCode
@@ -31,9 +30,11 @@ class CreditCardVerification
31
  const VERIFIED = 'verified';
32
 
33
  private $_attributes;
 
34
  private $_avsErrorResponseCode;
35
  private $_avsPostalCodeResponseCode;
36
  private $_avsStreetAddressResponseCode;
 
37
  private $_cvvResponseCode;
38
  private $_gatewayRejectionReason;
39
  private $_status;
13
  *
14
  * @package Braintree
15
  * @subpackage Result
 
16
  *
17
  * @property-read string $avsErrorResponseCode
18
  * @property-read string $avsPostalCodeResponseCode
30
  const VERIFIED = 'verified';
31
 
32
  private $_attributes;
33
+ private $_amount;
34
  private $_avsErrorResponseCode;
35
  private $_avsPostalCodeResponseCode;
36
  private $_avsStreetAddressResponseCode;
37
+ private $_currencyIsoCode;
38
  private $_cvvResponseCode;
39
  private $_gatewayRejectionReason;
40
  private $_status;
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/Error.php CHANGED
@@ -28,7 +28,6 @@ use Braintree\Error\ErrorCollection;
28
  *
29
  * @package Braintree
30
  * @subpackage Result
31
- * @copyright 2015 Braintree, a division of PayPal, Inc.
32
  *
33
  * @property-read array $params original passed params
34
  * @property-read \Braintree\Error\ErrorCollection $errors
28
  *
29
  * @package Braintree
30
  * @subpackage Result
 
31
  *
32
  * @property-read array $params original passed params
33
  * @property-read \Braintree\Error\ErrorCollection $errors
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Result/Successful.php CHANGED
@@ -26,7 +26,6 @@ use Braintree\Util;
26
  *
27
  * @package Braintree
28
  * @subpackage Result
29
- * @copyright 2015 Braintree, a division of PayPal, Inc.
30
  */
31
  class Successful extends Instance
32
  {
26
  *
27
  * @package Braintree
28
  * @subpackage Result
 
29
  */
30
  class Successful extends Instance
31
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Subscription.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  * PHP Version 5
12
  *
13
  * @package Braintree
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  */
16
  class Subscription extends Base
17
  {
11
  * PHP Version 5
12
  *
13
  * @package Braintree
 
14
  */
15
  class Subscription extends Base
16
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Subscription/StatusDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  * Creates an instance of StatusDetails, as part of a subscription response
9
  *
10
  * @package Braintree
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  *
13
  * @property-read string $price
14
  * @property-read string $currencyIsoCode
8
  * Creates an instance of StatusDetails, as part of a subscription response
9
  *
10
  * @package Braintree
 
11
  *
12
  * @property-read string $price
13
  * @property-read string $currencyIsoCode
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/SubscriptionGateway.php CHANGED
@@ -13,7 +13,6 @@ use InvalidArgumentException;
13
  * PHP Version 5
14
  *
15
  * @package Braintree
16
- * @copyright 2015 Braintree, a division of PayPal, Inc.
17
  */
18
  class SubscriptionGateway
19
  {
13
  * PHP Version 5
14
  *
15
  * @package Braintree
 
16
  */
17
  class SubscriptionGateway
18
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/CreditCardNumbers.php CHANGED
@@ -10,7 +10,6 @@ namespace Braintree\Test;
10
  *
11
  * @package Braintree
12
  * @subpackage Test
13
- * @copyright 2015 Braintree, a division of PayPal, Inc.
14
  */
15
  class CreditCardNumbers
16
  {
10
  *
11
  * @package Braintree
12
  * @subpackage Test
 
13
  */
14
  class CreditCardNumbers
15
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/MerchantAccount.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree\Test;
6
  *
7
  * @package Braintree
8
  * @subpackage Test
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
  class MerchantAccount
12
  {
6
  *
7
  * @package Braintree
8
  * @subpackage Test
 
9
  */
10
  class MerchantAccount
11
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/Nonces.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree\Test;
6
  *
7
  * @package Braintree
8
  * @subpackage Test
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,7 +16,6 @@ namespace Braintree\Test;
17
  *
18
  * @package Braintree
19
  * @subpackage Test
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  */
22
  class Nonces
23
  {
@@ -66,5 +64,13 @@ class Nonces
66
  public static $sepa = "fake-sepa-bank-account-nonce";
67
  public static $gatewayRejectedFraud = "fake-gateway-rejected-fraud-nonce";
68
  public static $venmoAccount = "fake-venmo-account-nonce";
 
 
 
 
 
 
 
 
69
  }
70
  class_alias('Braintree\Test\Nonces', 'Braintree_Test_Nonces');
6
  *
7
  * @package Braintree
8
  * @subpackage Test
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @subpackage Test
 
19
  */
20
  class Nonces
21
  {
64
  public static $sepa = "fake-sepa-bank-account-nonce";
65
  public static $gatewayRejectedFraud = "fake-gateway-rejected-fraud-nonce";
66
  public static $venmoAccount = "fake-venmo-account-nonce";
67
+ public static $visaCheckoutAmEx = "fake-visa-checkout-amex-nonce";
68
+ public static $visaCheckoutDiscover = "fake-visa-checkout-discover-nonce";
69
+ public static $visaCheckoutMasterCard = "fake-visa-checkout-mastercard-nonce";
70
+ public static $visaCheckoutVisa = "fake-visa-checkout-visa-nonce";
71
+ public static $masterpassAmEx = "fake-masterpass-amex-nonce";
72
+ public static $masterpassDiscover = "fake-masterpass-discover-nonce";
73
+ public static $masterpassMasterCard = "fake-masterpass-mastercard-nonce";
74
+ public static $masterpassVisa = "fake-masterpass-visa-nonce";
75
  }
76
  class_alias('Braintree\Test\Nonces', 'Braintree_Test_Nonces');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/Transaction.php CHANGED
@@ -8,8 +8,6 @@ use Braintree\Configuration;
8
  *
9
  * The constants in this class can be used to create transactions with
10
  * the desired status in the sandbox environment.
11
- *
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
  class Transaction
15
  {
8
  *
9
  * The constants in this class can be used to create transactions with
10
  * the desired status in the sandbox environment.
 
 
11
  */
12
  class Transaction
13
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/TransactionAmounts.php CHANGED
@@ -9,7 +9,6 @@ namespace Braintree\Test;
9
  *
10
  * @package Braintree
11
  * @subpackage Test
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
  class TransactionAmounts
15
  {
9
  *
10
  * @package Braintree
11
  * @subpackage Test
 
12
  */
13
  class TransactionAmounts
14
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Test/VenmoSdk.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree\Test;
6
  *
7
  * @package Braintree
8
  * @subpackage Test
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
  class VenmoSdk
12
  {
6
  *
7
  * @package Braintree
8
  * @subpackage Test
 
9
  */
10
  class VenmoSdk
11
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction.php CHANGED
@@ -139,7 +139,6 @@ namespace Braintree;
139
  *
140
  * @package Braintree
141
  * @category Resources
142
- * @copyright 2015 Braintree, a division of PayPal, Inc.
143
  *
144
  *
145
  * @property-read string $avsErrorResponseCode
@@ -149,15 +148,18 @@ namespace Braintree;
149
  * @property-read string $id transaction id
150
  * @property-read string $amount transaction amount
151
  * @property-read Braintree\Transaction\AddressDetails $billingDetails transaction billing address
152
- * @property-read string $createdAt transaction created timestamp
153
  * @property-read Braintree\ApplePayCardDetails $applePayCardDetails transaction Apple Pay card info
154
  * @property-read Braintree\AndroidPayCardDetails $androidPayCardDetails transaction Android Pay card info
155
  * @property-read Braintree\AmexExpressCheckoutCardDetails $amexExpressCheckoutCardDetails transaction Amex Express Checkout card info
156
  * @property-read Braintree\CreditCardDetails $creditCardDetails transaction credit card info
157
  * @property-read Braintree\CoinbaseDetails $coinbaseDetails transaction Coinbase account info
 
158
  * @property-read Braintree\PayPalDetails $paypalDetails transaction paypal account info
159
  * @property-read Braintree\Transaction\CustomerDetails $customerDetails transaction customer info
160
  * @property-read Braintree\VenmoAccount $venmoAccountDetails transaction Venmo Account info
 
 
161
  * @property-read array $customFields custom fields passed with the request
162
  * @property-read string $processorResponseCode gateway response code
163
  * @property-read string $additionalProcessorResponse raw response from processor
@@ -165,7 +167,7 @@ namespace Braintree;
165
  * @property-read string $status transaction status
166
  * @property-read array $statusHistory array of StatusDetails objects
167
  * @property-read string $type transaction type
168
- * @property-read string $updatedAt transaction updated timestamp
169
  * @property-read Braintree\Disbursement $disbursementDetails populated when transaction is disbursed
170
  * @property-read Braintree\Dispute $disputes populated when transaction is disputed
171
  *
@@ -250,6 +252,22 @@ class Transaction extends Base
250
  );
251
  }
252
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  if (isset($transactionAttribs['amexExpressCheckoutCard'])) {
254
  $this->_set('amexExpressCheckoutCardDetails',
255
  new Transaction\AmexExpressCheckoutCardDetails(
@@ -298,6 +316,14 @@ class Transaction extends Base
298
  );
299
  }
300
 
 
 
 
 
 
 
 
 
301
  if (isset($transactionAttribs['paypal'])) {
302
  $this->_set('paypalDetails',
303
  new Transaction\PayPalDetails(
139
  *
140
  * @package Braintree
141
  * @category Resources
 
142
  *
143
  *
144
  * @property-read string $avsErrorResponseCode
148
  * @property-read string $id transaction id
149
  * @property-read string $amount transaction amount
150
  * @property-read Braintree\Transaction\AddressDetails $billingDetails transaction billing address
151
+ * @property-read \DateTime $createdAt transaction created DateTime
152
  * @property-read Braintree\ApplePayCardDetails $applePayCardDetails transaction Apple Pay card info
153
  * @property-read Braintree\AndroidPayCardDetails $androidPayCardDetails transaction Android Pay card info
154
  * @property-read Braintree\AmexExpressCheckoutCardDetails $amexExpressCheckoutCardDetails transaction Amex Express Checkout card info
155
  * @property-read Braintree\CreditCardDetails $creditCardDetails transaction credit card info
156
  * @property-read Braintree\CoinbaseDetails $coinbaseDetails transaction Coinbase account info
157
+ * @property-read Braintree\MasterpassCardDetails $masterpassCardDetails transaction Masterpass card info
158
  * @property-read Braintree\PayPalDetails $paypalDetails transaction paypal account info
159
  * @property-read Braintree\Transaction\CustomerDetails $customerDetails transaction customer info
160
  * @property-read Braintree\VenmoAccount $venmoAccountDetails transaction Venmo Account info
161
+ * @property-read Braintree\IdealPayment $idealPaymentDetails transaction Ideal Payment info
162
+ * @property-read Braintree\VisaCheckoutCardDetails $visaCheckoutCardDetails transaction Visa Checkout card info
163
  * @property-read array $customFields custom fields passed with the request
164
  * @property-read string $processorResponseCode gateway response code
165
  * @property-read string $additionalProcessorResponse raw response from processor
167
  * @property-read string $status transaction status
168
  * @property-read array $statusHistory array of StatusDetails objects
169
  * @property-read string $type transaction type
170
+ * @property-read \DateTime $updatedAt transaction updated DateTime
171
  * @property-read Braintree\Disbursement $disbursementDetails populated when transaction is disbursed
172
  * @property-read Braintree\Dispute $disputes populated when transaction is disputed
173
  *
252
  );
253
  }
254
 
255
+ if (isset($transactionAttribs['masterpassCard'])) {
256
+ $this->_set('masterpassCardDetails',
257
+ new Transaction\MasterpassCardDetails(
258
+ $transactionAttribs['masterpassCard']
259
+ )
260
+ );
261
+ }
262
+
263
+ if (isset($transactionAttribs['visaCheckoutCard'])) {
264
+ $this->_set('visaCheckoutCardDetails',
265
+ new Transaction\VisaCheckoutCardDetails(
266
+ $transactionAttribs['visaCheckoutCard']
267
+ )
268
+ );
269
+ }
270
+
271
  if (isset($transactionAttribs['amexExpressCheckoutCard'])) {
272
  $this->_set('amexExpressCheckoutCardDetails',
273
  new Transaction\AmexExpressCheckoutCardDetails(
316
  );
317
  }
318
 
319
+ if (isset($transactionAttribs['idealPayment'])) {
320
+ $this->_set('idealPayment',
321
+ new Transaction\IdealPaymentDetails(
322
+ $transactionAttribs['idealPayment']
323
+ )
324
+ );
325
+ }
326
+
327
  if (isset($transactionAttribs['paypal'])) {
328
  $this->_set('paypalDetails',
329
  new Transaction\PayPalDetails(
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AddressDetails.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Instance;
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  *
14
  * @property-read string $firstName
15
  * @property-read string $lastName
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
 
12
  *
13
  * @property-read string $firstName
14
  * @property-read string $lastName
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AmexExpressCheckoutCardDetails.php CHANGED
@@ -7,7 +7,6 @@ use Braintree\Instance;
7
  *
8
  * @package Braintree
9
  * @subpackage Transaction
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  */
12
 
13
  /**
@@ -16,7 +15,6 @@ use Braintree\Instance;
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
19
- * @copyright 2015 Braintree, a division of PayPal, Inc.
20
  *
21
  * @property-read string $cardType
22
  * @property-read string $bin
7
  *
8
  * @package Braintree
9
  * @subpackage Transaction
 
10
  */
11
 
12
  /**
15
  *
16
  * @package Braintree
17
  * @subpackage Transaction
 
18
  *
19
  * @property-read string $cardType
20
  * @property-read string $bin
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/AndroidPayCardDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -17,7 +16,6 @@ use Braintree\Instance;
17
  *
18
  * @package Braintree
19
  * @subpackage Transaction
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $bin
23
  * @property-read string $default
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
 
11
  */
12
 
13
  /**
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
 
19
  *
20
  * @property-read string $bin
21
  * @property-read string $default
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/ApplePayCardDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -17,7 +16,6 @@ use Braintree\Instance;
17
  *
18
  * @package Braintree
19
  * @subpackage Transaction
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $cardType
23
  * @property-read string $paymentInstrumentName
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
 
11
  */
12
 
13
  /**
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
 
19
  *
20
  * @property-read string $cardType
21
  * @property-read string $paymentInstrumentName
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CoinbaseDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -17,7 +16,6 @@ use Braintree\Instance;
17
  *
18
  * @package Braintree
19
  * @subpackage Transaction
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $token
23
  * @property-read string $userId
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
 
11
  */
12
 
13
  /**
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
 
19
  *
20
  * @property-read string $token
21
  * @property-read string $userId
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CreditCardDetails.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Instance;
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  *
14
  * @property-read string $bin
15
  * @property-read string $cardType
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
 
12
  *
13
  * @property-read string $bin
14
  * @property-read string $cardType
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/CustomerDetails.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Instance;
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  *
14
  * @property-read string $company
15
  * @property-read string $email
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
 
12
  *
13
  * @property-read string $company
14
  * @property-read string $email
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/EuropeBankAccountDetails.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Instance;
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  *
14
  * @property-read string $accountHolderName
15
  * @property-read string $bic
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
 
12
  *
13
  * @property-read string $accountHolderName
14
  * @property-read string $bic
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/IdealPaymentDetails.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree\Transaction;
3
+
4
+ use Braintree\Instance;
5
+
6
+ /**
7
+ * iDEAL payment details from a transaction
8
+ * creates an instance of IdealPaymentDetails
9
+ *
10
+ * @package Braintree
11
+ * @subpackage Transaction
12
+ *
13
+ * @property-read string $idealPaymentId
14
+ * @property-read string $idealTransactionId
15
+ * @property-read string $imageUrl
16
+ * @property-read string $maskedIban
17
+ * @property-read string $bic
18
+ */
19
+ class IdealPaymentDetails extends Instance
20
+ {
21
+ protected $_attributes = [];
22
+ }
23
+ class_alias('Braintree\Transaction\IdealPaymentDetails', 'Braintree_Transaction_IdealPaymentDetails');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/MasterpassCardDetails.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree\Transaction;
3
+
4
+ use Braintree\Instance;
5
+
6
+ /**
7
+ * MasterpassCard details from a transaction
8
+ * creates an instance of MasterpassCardDetails
9
+ *
10
+ * @package Braintree
11
+ * @subpackage Transaction
12
+ *
13
+ * @property-read string $bin
14
+ * @property-read string $callId
15
+ * @property-read string $cardholderName
16
+ * @property-read string $commercial
17
+ * @property-read string $countryOfIssuance
18
+ * @property-read string $customerId
19
+ * @property-read string $customerLocation
20
+ * @property-read string $debit
21
+ * @property-read string $durbinRegulated
22
+ * @property-read string $expirationDate
23
+ * @property-read string $expirationMonth
24
+ * @property-read string $expirationYear
25
+ * @property-read string $healthcare
26
+ * @property-read string $imageUrl
27
+ * @property-read string $issuingBank
28
+ * @property-read string $last4
29
+ * @property-read string $maskedNumber
30
+ * @property-read string $payroll
31
+ * @property-read string $prepaid
32
+ * @property-read string $productId
33
+ * @property-read string $token
34
+ * @property-read string $updatedAt
35
+ */
36
+ class MasterpassCardDetails extends Instance
37
+ {
38
+ protected $_attributes = [];
39
+
40
+ /**
41
+ * @ignore
42
+ */
43
+ public function __construct($attributes)
44
+ {
45
+ parent::__construct($attributes);
46
+ $this->_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear;
47
+ $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4;
48
+
49
+ }
50
+ }
51
+ class_alias('Braintree\Transaction\MasterpassCardDetails', 'Braintree_Transaction_MasterpassCardDetails');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/PayPalDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -17,7 +16,6 @@ use Braintree\Instance;
17
  *
18
  * @package Braintree
19
  * @subpackage Transaction
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $payerEmail
23
  * @property-read string $paymentId
8
  *
9
  * @package Braintree
10
  * @subpackage Transaction
 
11
  */
12
 
13
  /**
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
 
19
  *
20
  * @property-read string $payerEmail
21
  * @property-read string $paymentId
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/StatusDetails.php CHANGED
@@ -8,7 +8,6 @@ use Braintree\Instance;
8
  * Creates an instance of StatusDetails, as part of a transaction response
9
  *
10
  * @package Braintree
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  *
13
  * @property-read string $amount
14
  * @property-read string $status
8
  * Creates an instance of StatusDetails, as part of a transaction response
9
  *
10
  * @package Braintree
 
11
  *
12
  * @property-read string $amount
13
  * @property-read string $status
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/SubscriptionDetails.php CHANGED
@@ -9,7 +9,6 @@ use Braintree\Instance;
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  *
14
  * @property-read string $billing_period_start_date
15
  * @property-read string $billing_period_end_date
9
  *
10
  * @package Braintree
11
  * @subpackage Transaction
 
12
  *
13
  * @property-read string $billing_period_start_date
14
  * @property-read string $billing_period_end_date
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/UsBankAccountDetails.php CHANGED
@@ -5,12 +5,11 @@ use Braintree\Instance;
5
  use Braintree\AchMandate;
6
 
7
  /**
8
- * CreditCard details from a transaction
9
  * creates an instance of UsbankAccountDetails
10
  *
11
  * @package Braintree
12
  * @subpackage Transaction
13
- * @copyright 2015 Braintree, a division of PayPal, Inc.
14
  *
15
  * @property-read string $token
16
  * @property-read string $imageUrl
5
  use Braintree\AchMandate;
6
 
7
  /**
8
+ * US Bank Account details from a transaction
9
  * creates an instance of UsbankAccountDetails
10
  *
11
  * @package Braintree
12
  * @subpackage Transaction
 
13
  *
14
  * @property-read string $token
15
  * @property-read string $imageUrl
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/VenmoAccountDetails.php CHANGED
@@ -7,7 +7,6 @@ use Braintree\Instance;
7
  *
8
  * @package Braintree
9
  * @subpackage Transaction
10
- * @copyright 2015 Braintree, a division of PayPal, Inc.
11
  */
12
 
13
  /**
@@ -16,7 +15,6 @@ use Braintree\Instance;
16
  *
17
  * @package Braintree
18
  * @subpackage Transaction
19
- * @copyright 2015 Braintree, a division of PayPal, Inc.
20
  *
21
  * @property-read string $sourceDescription
22
  * @property-read string $token
7
  *
8
  * @package Braintree
9
  * @subpackage Transaction
 
10
  */
11
 
12
  /**
15
  *
16
  * @package Braintree
17
  * @subpackage Transaction
 
18
  *
19
  * @property-read string $sourceDescription
20
  * @property-read string $token
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Transaction/VisaCheckoutCardDetails.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree\Transaction;
3
+
4
+ use Braintree\Instance;
5
+
6
+ /**
7
+ * VisaCheckoutCard details from a transaction
8
+ * creates an instance of VisaCheckoutCardDetails
9
+ *
10
+ * @package Braintree
11
+ * @subpackage Transaction
12
+ *
13
+ * @property-read string $bin
14
+ * @property-read string $callId
15
+ * @property-read string $cardType
16
+ * @property-read string $cardholderName
17
+ * @property-read string $commercial
18
+ * @property-read string $countryOfIssuance
19
+ * @property-read string $customerId
20
+ * @property-read string $customerLocation
21
+ * @property-read string $debit
22
+ * @property-read string $durbinRegulated
23
+ * @property-read string $expirationDate
24
+ * @property-read string $expirationMonth
25
+ * @property-read string $expirationYear
26
+ * @property-read string $healthcare
27
+ * @property-read string $imageUrl
28
+ * @property-read string $issuingBank
29
+ * @property-read string $last4
30
+ * @property-read string $maskedNumber
31
+ * @property-read string $payroll
32
+ * @property-read string $prepaid
33
+ * @property-read string $productId
34
+ * @property-read string $token
35
+ * @property-read string $updatedAt
36
+ */
37
+ class VisaCheckoutCardDetails extends Instance
38
+ {
39
+ protected $_attributes = [];
40
+
41
+ /**
42
+ * @ignore
43
+ */
44
+ public function __construct($attributes)
45
+ {
46
+ parent::__construct($attributes);
47
+ $this->_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear;
48
+ $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4;
49
+
50
+ }
51
+ }
52
+ class_alias('Braintree\Transaction\VisaCheckoutCardDetails', 'Braintree_Transaction_VisaCheckoutCardDetails');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransactionGateway.php CHANGED
@@ -14,7 +14,6 @@ use InvalidArgumentException;
14
  *
15
  * @package Braintree
16
  * @category Resources
17
- * @copyright 2015 Braintree, a division of PayPal, Inc.
18
  */
19
 
20
  class TransactionGateway
@@ -172,6 +171,8 @@ class TransactionGateway
172
  'storeShippingAddressInVault',
173
  'payeeEmail',
174
  'skipAdvancedFraudChecking',
 
 
175
  ['threeDSecure' =>
176
  ['required']
177
  ],
14
  *
15
  * @package Braintree
16
  * @category Resources
 
17
  */
18
 
19
  class TransactionGateway
171
  'storeShippingAddressInVault',
172
  'payeeEmail',
173
  'skipAdvancedFraudChecking',
174
+ 'skipAvs',
175
+ 'skipCvv',
176
  ['threeDSecure' =>
177
  ['required']
178
  ],
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransparentRedirect.php CHANGED
@@ -34,7 +34,6 @@ namespace Braintree;
34
  *
35
  * @package Braintree
36
  * @category Resources
37
- * @copyright 2015 Braintree, a division of PayPal, Inc.
38
  */
39
  class TransparentRedirect
40
  {
34
  *
35
  * @package Braintree
36
  * @category Resources
 
37
  */
38
  class TransparentRedirect
39
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/TransparentRedirectGateway.php CHANGED
@@ -11,7 +11,6 @@ use DateTimeZone;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  */
16
  class TransparentRedirectGateway
17
  {
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  */
15
  class TransparentRedirectGateway
16
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UnknownPaymentMethod.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,7 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2015 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $token
23
  * @property-read string $imageUrl
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
19
  *
20
  * @property-read string $token
21
  * @property-read string $imageUrl
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UsBankAccount.php CHANGED
@@ -6,7 +6,6 @@ namespace Braintree;
6
  *
7
  * @package Braintree
8
  * @category Resources
9
- * @copyright 2016 Braintree, a division of PayPal, Inc.
10
  */
11
 
12
  /**
@@ -17,7 +16,6 @@ namespace Braintree;
17
  *
18
  * @package Braintree
19
  * @category Resources
20
- * @copyright 2016 Braintree, a division of PayPal, Inc.
21
  *
22
  * @property-read string $customerId
23
  * @property-read string $email
6
  *
7
  * @package Braintree
8
  * @category Resources
 
9
  */
10
 
11
  /**
16
  *
17
  * @package Braintree
18
  * @category Resources
 
19
  *
20
  * @property-read string $customerId
21
  * @property-read string $email
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/UsBankAccountGateway.php CHANGED
@@ -8,7 +8,6 @@ use InvalidArgumentException;
8
  *
9
  * @package Braintree
10
  * @category Resources
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  /**
@@ -19,7 +18,6 @@ use InvalidArgumentException;
19
  *
20
  * @package Braintree
21
  * @category Resources
22
- * @copyright 2015 Braintree, a division of PayPal, Inc.
23
  */
24
  class UsBankAccountGateway
25
  {
8
  *
9
  * @package Braintree
10
  * @category Resources
 
11
  */
12
 
13
  /**
18
  *
19
  * @package Braintree
20
  * @category Resources
 
21
  */
22
  class UsBankAccountGateway
23
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Util.php CHANGED
@@ -7,8 +7,6 @@ use InvalidArgumentException;
7
  /**
8
  * Braintree Utility methods
9
  * PHP version 5
10
- *
11
- * @copyright 2015 Braintree, a division of PayPal, Inc.
12
  */
13
 
14
  class Util
7
  /**
8
  * Braintree Utility methods
9
  * PHP version 5
 
 
10
  */
11
 
12
  class Util
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/VenmoAccount.php CHANGED
@@ -11,7 +11,6 @@ namespace Braintree;
11
  *
12
  * @package Braintree
13
  * @category Resources
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  *
16
  * @property-read string $createdAt
17
  * @property-read string $default
11
  *
12
  * @package Braintree
13
  * @category Resources
 
14
  *
15
  * @property-read string $createdAt
16
  * @property-read string $default
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Version.php CHANGED
@@ -4,8 +4,6 @@ namespace Braintree;
4
  /**
5
  * Braintree Library Version
6
  * stores version information about the Braintree library
7
- *
8
- * @copyright 2015 Braintree, a division of PayPal, Inc.
9
  */
10
  class Version
11
  {
@@ -13,8 +11,8 @@ class Version
13
  * class constants
14
  */
15
  const MAJOR = 3;
16
- const MINOR = 21;
17
- const TINY = 1;
18
 
19
  /**
20
  * @ignore
4
  /**
5
  * Braintree Library Version
6
  * stores version information about the Braintree library
 
 
7
  */
8
  class Version
9
  {
11
  * class constants
12
  */
13
  const MAJOR = 3;
14
+ const MINOR = 23;
15
+ const TINY = 0;
16
 
17
  /**
18
  * @ignore
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/VisaCheckoutCard.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ /**
5
+ * Braintree VisaCheckoutCard module
6
+ * Creates and manages Braintree VisaCheckoutCards
7
+ *
8
+ * <b>== More information ==</b>
9
+ *
10
+ * For more detailed information on CreditCard verifications, see {@link http://www.braintreepayments.com/gateway/credit-card-verification-api http://www.braintreepaymentsolutions.com/gateway/credit-card-verification-api}
11
+ *
12
+ * @package Braintree
13
+ * @category Resources
14
+ *
15
+ * @property-read string $billingAddress
16
+ * @property-read string $bin
17
+ * @property-read string $callId
18
+ * @property-read string $cardType
19
+ * @property-read string $cardholderName
20
+ * @property-read string $commercial
21
+ * @property-read string $countryOfIssuance
22
+ * @property-read string $createdAt
23
+ * @property-read string $customerId
24
+ * @property-read string $customerLocation
25
+ * @property-read string $debit
26
+ * @property-read string $default
27
+ * @property-read string $durbinRegulated
28
+ * @property-read string $expirationDate
29
+ * @property-read string $expirationMonth
30
+ * @property-read string $expirationYear
31
+ * @property-read string $expired
32
+ * @property-read string $healthcare
33
+ * @property-read string $imageUrl
34
+ * @property-read string $issuingBank
35
+ * @property-read string $last4
36
+ * @property-read string $maskedNumber
37
+ * @property-read string $payroll
38
+ * @property-read string $prepaid
39
+ * @property-read string $productId
40
+ * @property-read string $subscriptions
41
+ * @property-read string $token
42
+ * @property-read string $uniqueNumberIdentifier
43
+ * @property-read string $updatedAt
44
+ */
45
+ class VisaCheckoutCard extends Base
46
+ {
47
+ /* instance methods */
48
+ /**
49
+ * returns false if default is null or false
50
+ *
51
+ * @return boolean
52
+ */
53
+ public function isDefault()
54
+ {
55
+ return $this->default;
56
+ }
57
+
58
+ /**
59
+ * checks whether the card is expired based on the current date
60
+ *
61
+ * @return boolean
62
+ */
63
+ public function isExpired()
64
+ {
65
+ return $this->expired;
66
+ }
67
+
68
+ /**
69
+ * sets instance properties from an array of values
70
+ *
71
+ * @access protected
72
+ * @param array $creditCardAttribs array of creditcard data
73
+ * @return void
74
+ */
75
+ protected function _initialize($creditCardAttribs)
76
+ {
77
+ // set the attributes
78
+ $this->_attributes = $creditCardAttribs;
79
+
80
+ // map each address into its own object
81
+ $billingAddress = isset($creditCardAttribs['billingAddress']) ?
82
+ Address::factory($creditCardAttribs['billingAddress']) :
83
+ null;
84
+
85
+ $subscriptionArray = [];
86
+ if (isset($creditCardAttribs['subscriptions'])) {
87
+ foreach ($creditCardAttribs['subscriptions'] AS $subscription) {
88
+ $subscriptionArray[] = Subscription::factory($subscription);
89
+ }
90
+ }
91
+
92
+ $this->_set('subscriptions', $subscriptionArray);
93
+ $this->_set('billingAddress', $billingAddress);
94
+ $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear);
95
+ $this->_set('maskedNumber', $this->bin . '******' . $this->last4);
96
+
97
+ if(isset($creditCardAttribs['verifications']) && count($creditCardAttribs['verifications']) > 0) {
98
+ $verifications = $creditCardAttribs['verifications'];
99
+ usort($verifications, [$this, '_compareCreatedAtOnVerifications']);
100
+
101
+ $this->_set('verification', CreditCardVerification::factory($verifications[0]));
102
+ }
103
+ }
104
+
105
+ private function _compareCreatedAtOnVerifications($verificationAttrib1, $verificationAttrib2)
106
+ {
107
+ return ($verificationAttrib2['createdAt'] < $verificationAttrib1['createdAt']) ? -1 : 1;
108
+ }
109
+
110
+ /**
111
+ * returns false if comparing object is not a VisaCheckoutCard,
112
+ * or is a VisaCheckoutCard with a different id
113
+ *
114
+ * @param object $otherVisaCheckoutCard customer to compare against
115
+ * @return boolean
116
+ */
117
+ public function isEqual($otherVisaCheckoutCard)
118
+ {
119
+ return !($otherVisaCheckoutCard instanceof self) ? false : $this->token === $otherVisaCheckoutCard->token;
120
+ }
121
+
122
+ /**
123
+ * create a printable representation of the object as:
124
+ * ClassName[property=value, property=value]
125
+ * @return string
126
+ */
127
+ public function __toString()
128
+ {
129
+ return __CLASS__ . '[' .
130
+ Util::attributesToString($this->_attributes) .']';
131
+ }
132
+
133
+ /**
134
+ * factory method: returns an instance of VisaCheckoutCard
135
+ * to the requesting method, with populated properties
136
+ *
137
+ * @ignore
138
+ * @return VisaCheckoutCard
139
+ */
140
+ public static function factory($attributes)
141
+ {
142
+ $defaultAttributes = [
143
+ 'bin' => '',
144
+ 'expirationMonth' => '',
145
+ 'expirationYear' => '',
146
+ 'last4' => '',
147
+ ];
148
+
149
+ $instance = new self();
150
+ $instance->_initialize(array_merge($defaultAttributes, $attributes));
151
+ return $instance;
152
+ }
153
+ }
154
+ class_alias('Braintree\VisaCheckoutCard', 'Braintree_VisaCheckoutCard');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookNotification.php CHANGED
@@ -25,30 +25,15 @@ class WebhookNotification extends Base
25
  const PARTNER_MERCHANT_DECLINED = 'partner_merchant_declined';
26
  const CHECK = 'check';
27
  const ACCOUNT_UPDATER_DAILY_REPORT = 'account_updater_daily_report';
 
 
28
 
29
- public static function parse($signature, $payload)
30
- {
31
- if (preg_match("/[^A-Za-z0-9+=\/\n]/", $payload) === 1) {
32
- throw new Exception\InvalidSignature("payload contains illegal characters");
33
- }
34
-
35
- Configuration::assertGlobalHasAccessTokenOrKeys();
36
- self::_validateSignature($signature, $payload);
37
-
38
- $xml = base64_decode($payload);
39
- $attributes = Xml::buildArrayFromXml($xml);
40
- return self::factory($attributes['notification']);
41
  }
42
 
43
- public static function verify($challenge)
44
- {
45
- if (!preg_match('/^[a-f0-9]{20,32}$/', $challenge)) {
46
- throw new Exception\InvalidChallenge("challenge contains non-hex characters");
47
- }
48
- Configuration::assertGlobalHasAccessTokenOrKeys();
49
- $publicKey = Configuration::publicKey();
50
- $digest = Digest::hexDigestSha1(Configuration::privateKey(), $challenge);
51
- return "{$publicKey}|{$digest}";
52
  }
53
 
54
  public static function factory($attributes)
@@ -58,38 +43,6 @@ class WebhookNotification extends Base
58
  return $instance;
59
  }
60
 
61
- private static function _matchingSignature($signaturePairs)
62
- {
63
- foreach ($signaturePairs as $pair)
64
- {
65
- $components = preg_split("/\|/", $pair);
66
- if ($components[0] == Configuration::publicKey()) {
67
- return $components[1];
68
- }
69
- }
70
-
71
- return null;
72
- }
73
-
74
- private static function _payloadMatches($signature, $payload)
75
- {
76
- $payloadSignature = Digest::hexDigestSha1(Configuration::privateKey(), $payload);
77
- return Digest::secureCompare($signature, $payloadSignature);
78
- }
79
-
80
- private static function _validateSignature($signatureString, $payload)
81
- {
82
- $signaturePairs = preg_split("/&/", $signatureString);
83
- $signature = self::_matchingSignature($signaturePairs);
84
- if (!$signature) {
85
- throw new Exception\InvalidSignature("no matching public key");
86
- }
87
-
88
- if (!(self::_payloadMatches($signature, $payload) || self::_payloadMatches($signature, $payload . "\n"))) {
89
- throw new Exception\InvalidSignature("signature does not match payload - one has been modified");
90
- }
91
- }
92
-
93
  protected function _initialize($attributes)
94
  {
95
  $this->_attributes = $attributes;
@@ -120,6 +73,14 @@ class WebhookNotification extends Base
120
  $this->_set('partnerMerchant', PartnerMerchant::factory($wrapperNode['partnerMerchant']));
121
  }
122
 
 
 
 
 
 
 
 
 
123
  if (isset($wrapperNode['dispute'])) {
124
  $this->_set('dispute', Dispute::factory($wrapperNode['dispute']));
125
  }
25
  const PARTNER_MERCHANT_DECLINED = 'partner_merchant_declined';
26
  const CHECK = 'check';
27
  const ACCOUNT_UPDATER_DAILY_REPORT = 'account_updater_daily_report';
28
+ const CONNECTED_MERCHANT_STATUS_TRANSITIONED = 'connected_merchant_status_transitioned';
29
+ const CONNECTED_MERCHANT_PAYPAL_STATUS_CHANGED = 'connected_merchant_paypal_status_changed';
30
 
31
+ public static function parse($signature, $payload) {
32
+ return Configuration::gateway()->webhookNotification()->parse($signature, $payload);
 
 
 
 
 
 
 
 
 
 
33
  }
34
 
35
+ public static function verify($challenge) {
36
+ return Configuration::gateway()->webhookNotification()->verify($challenge);
 
 
 
 
 
 
 
37
  }
38
 
39
  public static function factory($attributes)
43
  return $instance;
44
  }
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  protected function _initialize($attributes)
47
  {
48
  $this->_attributes = $attributes;
73
  $this->_set('partnerMerchant', PartnerMerchant::factory($wrapperNode['partnerMerchant']));
74
  }
75
 
76
+ if (isset($wrapperNode['connectedMerchantStatusTransitioned'])) {
77
+ $this->_set('connectedMerchantStatusTransitioned', ConnectedMerchantStatusTransitioned::factory($wrapperNode['connectedMerchantStatusTransitioned']));
78
+ }
79
+
80
+ if (isset($wrapperNode['connectedMerchantPaypalStatusChanged'])) {
81
+ $this->_set('connectedMerchantPayPalStatusChanged', ConnectedMerchantPayPalStatusChanged::factory($wrapperNode['connectedMerchantPaypalStatusChanged']));
82
+ }
83
+
84
  if (isset($wrapperNode['dispute'])) {
85
  $this->_set('dispute', Dispute::factory($wrapperNode['dispute']));
86
  }
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookNotificationGateway.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Braintree;
3
+
4
+ class WebhookNotificationGateway
5
+ {
6
+
7
+ public function __construct($gateway)
8
+ {
9
+ $this->config = $gateway->config;
10
+ $this->config->assertHasAccessTokenOrKeys();
11
+ }
12
+
13
+ public function parse($signature, $payload)
14
+ {
15
+ if (preg_match("/[^A-Za-z0-9+=\/\n]/", $payload) === 1) {
16
+ throw new Exception\InvalidSignature("payload contains illegal characters");
17
+ }
18
+
19
+ self::_validateSignature($signature, $payload);
20
+
21
+ $xml = base64_decode($payload);
22
+ $attributes = Xml::buildArrayFromXml($xml);
23
+ return WebhookNotification::factory($attributes['notification']);
24
+ }
25
+
26
+ public function verify($challenge)
27
+ {
28
+ if (!preg_match('/^[a-f0-9]{20,32}$/', $challenge)) {
29
+ throw new Exception\InvalidChallenge("challenge contains non-hex characters");
30
+ }
31
+ $publicKey = $this->config->publicKey();
32
+ $digest = Digest::hexDigestSha1($this->config->privateKey(), $challenge);
33
+ return "{$publicKey}|{$digest}";
34
+ }
35
+
36
+ private function _payloadMatches($signature, $payload)
37
+ {
38
+ $payloadSignature = Digest::hexDigestSha1($this->config->privateKey(), $payload);
39
+ return Digest::secureCompare($signature, $payloadSignature);
40
+ }
41
+
42
+ private function _validateSignature($signatureString, $payload)
43
+ {
44
+ $signaturePairs = preg_split("/&/", $signatureString);
45
+ $signature = self::_matchingSignature($signaturePairs);
46
+ if (!$signature) {
47
+ throw new Exception\InvalidSignature("no matching public key");
48
+ }
49
+
50
+ if (!(self::_payloadMatches($signature, $payload) || self::_payloadMatches($signature, $payload . "\n"))) {
51
+ throw new Exception\InvalidSignature("signature does not match payload - one has been modified");
52
+ }
53
+ }
54
+
55
+ private function _matchingSignature($signaturePairs)
56
+ {
57
+ foreach ($signaturePairs as $pair)
58
+ {
59
+ $components = preg_split("/\|/", $pair);
60
+ if ($components[0] == $this->config->publicKey()) {
61
+ return $components[1];
62
+ }
63
+ }
64
+
65
+ return null;
66
+ }
67
+ }
68
+
69
+ class_alias('Braintree\WebhookNotificationGateway', 'Braintree_WebhookNotificationGateway');
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/WebhookTesting.php CHANGED
@@ -47,6 +47,12 @@ class WebhookTesting
47
  case WebhookNotification::PARTNER_MERCHANT_DECLINED:
48
  $subjectXml = self::_partnerMerchantDeclinedSampleXml($id);
49
  break;
 
 
 
 
 
 
50
  case WebhookNotification::DISPUTE_OPENED:
51
  $subjectXml = self::_disputeOpenedSampleXml($id);
52
  break;
@@ -150,7 +156,6 @@ class WebhookTesting
150
  <routing-number>123456789</routing-number>
151
  <last-4>1234</last-4>
152
  <account-type>checking</account-type>
153
- <account-description>PayPal Checking - 1234</account-description>
154
  <account-holder-name>Dan Schulman</account-holder-name>
155
  </us-bank-account>
156
  </transaction>
@@ -172,7 +177,6 @@ class WebhookTesting
172
  <routing-number>123456789</routing-number>
173
  <last-4>1234</last-4>
174
  <account-type>checking</account-type>
175
- <account-description>PayPal Checking - 1234</account-description>
176
  <account-holder-name>Dan Schulman</account-holder-name>
177
  </us-bank-account>
178
  </transaction>
@@ -378,6 +382,28 @@ class WebhookTesting
378
  ";
379
  }
380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
  private static function _timestamp()
382
  {
383
  $originalZone = date_default_timezone_get();
47
  case WebhookNotification::PARTNER_MERCHANT_DECLINED:
48
  $subjectXml = self::_partnerMerchantDeclinedSampleXml($id);
49
  break;
50
+ case WebhookNotification::CONNECTED_MERCHANT_STATUS_TRANSITIONED:
51
+ $subjectXml = self::_connectedMerchantStatusTransitionedSampleXml($id);
52
+ break;
53
+ case WebhookNotification::CONNECTED_MERCHANT_PAYPAL_STATUS_CHANGED:
54
+ $subjectXml = self::_connectedMerchantPayPalStatusChangedSampleXml($id);
55
+ break;
56
  case WebhookNotification::DISPUTE_OPENED:
57
  $subjectXml = self::_disputeOpenedSampleXml($id);
58
  break;
156
  <routing-number>123456789</routing-number>
157
  <last-4>1234</last-4>
158
  <account-type>checking</account-type>
 
159
  <account-holder-name>Dan Schulman</account-holder-name>
160
  </us-bank-account>
161
  </transaction>
177
  <routing-number>123456789</routing-number>
178
  <last-4>1234</last-4>
179
  <account-type>checking</account-type>
 
180
  <account-holder-name>Dan Schulman</account-holder-name>
181
  </us-bank-account>
182
  </transaction>
382
  ";
383
  }
384
 
385
+ private static function _connectedMerchantStatusTransitionedSampleXml($id)
386
+ {
387
+ return "
388
+ <connected-merchant-status-transitioned>
389
+ <merchant-public-id>{$id}</merchant-public-id>
390
+ <status>new_status</status>
391
+ <oauth-application-client-id>oauth_application_client_id</oauth-application-client-id>
392
+ </connected-merchant-status-transitioned>
393
+ ";
394
+ }
395
+
396
+ private static function _connectedMerchantPayPalStatusChangedSampleXml($id)
397
+ {
398
+ return "
399
+ <connected-merchant-paypal-status-changed>
400
+ <merchant-public-id>{$id}</merchant-public-id>
401
+ <action>link</action>
402
+ <oauth-application-client-id>oauth_application_client_id</oauth-application-client-id>
403
+ </connected-merchant-paypal-status-changed>
404
+ ";
405
+ }
406
+
407
  private static function _timestamp()
408
  {
409
  $originalZone = date_default_timezone_get();
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml.php CHANGED
@@ -5,8 +5,6 @@ namespace Braintree;
5
  * Braintree Xml parser and generator
6
  * PHP version 5
7
  * superclass for Braintree XML parsing and generation
8
- *
9
- * @copyright 2015 Braintree, a division of PayPal, Inc.
10
  */
11
  class Xml
12
  {
5
  * Braintree Xml parser and generator
6
  * PHP version 5
7
  * superclass for Braintree XML parsing and generation
 
 
8
  */
9
  class Xml
10
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml/Generator.php CHANGED
@@ -8,15 +8,11 @@ use Braintree\Util;
8
 
9
  /**
10
  * PHP version 5
11
- *
12
- * @copyright 2015 Braintree, a division of PayPal, Inc.
13
  */
14
 
15
  /**
16
  * Generates XML output from arrays using PHP's
17
  * built-in XMLWriter
18
- *
19
- * @copyright 2015 Braintree, a division of PayPal, Inc.
20
  */
21
  class Generator
22
  {
8
 
9
  /**
10
  * PHP version 5
 
 
11
  */
12
 
13
  /**
14
  * Generates XML output from arrays using PHP's
15
  * built-in XMLWriter
 
 
16
  */
17
  class Generator
18
  {
lib/Gene/Braintree/braintree/braintree_php/lib/Braintree/Xml/Parser.php CHANGED
@@ -10,8 +10,6 @@ use Braintree\Util;
10
 
11
  /**
12
  * Braintree XML Parser
13
- *
14
- * @copyright 2015 Braintree, a division of PayPal, Inc.
15
  */
16
  class Parser
17
  {
10
 
11
  /**
12
  * Braintree XML Parser
 
 
13
  */
14
  class Parser
15
  {
lib/Gene/Braintree/braintree/braintree_php/tests/Helper.php CHANGED
@@ -170,7 +170,6 @@ class Helper
170
  'routing_number' => '021000021',
171
  'account_number' => '567891234',
172
  'account_holder_name' => 'Dan Schulman',
173
- 'account_description' => 'PayPal Checking - 1234',
174
  'ach_mandate' => [
175
  'text' => 'cl mandate text'
176
  ]
@@ -199,4 +198,63 @@ class Helper
199
  }
200
  return $nonce . "_xxx";
201
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  }
170
  'routing_number' => '021000021',
171
  'account_number' => '567891234',
172
  'account_holder_name' => 'Dan Schulman',
 
173
  'ach_mandate' => [
174
  'text' => 'cl mandate text'
175
  ]
198
  }
199
  return $nonce . "_xxx";
200
  }
201
+
202
+ public static function generateValidIdealPaymentId($amount = null) {
203
+ if (null === $amount) {
204
+ $amount = '100.00';
205
+ }
206
+
207
+ $client_token = json_decode(Helper::decodedClientToken([
208
+ 'merchantAccountId' => 'ideal_merchant_account'
209
+ ]), true);
210
+
211
+ $client = new Integration\HttpClientApi(Braintree\Configuration::$global);
212
+ $configuration = $client->get_configuration([
213
+ "authorization_fingerprint" => $client_token['authorizationFingerprint'],
214
+ ]);
215
+
216
+ $url = $client_token['braintree_api']['url'] . '/ideal-payments';
217
+ $token = $client_token['braintree_api']['access_token'];
218
+
219
+ $curl = curl_init();
220
+ curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
221
+ curl_setopt($curl, CURLOPT_URL, $url);
222
+
223
+ $headers[] = 'Content-Type: application/json';
224
+ $headers[] = 'Braintree-Version: 2015-11-01';
225
+ $headers[] = 'Authorization: Bearer ' . $token;
226
+ curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
227
+
228
+ $requestBody = [
229
+ 'issuer' => 'RABONL2U',
230
+ 'order_id' => 'ABC123',
231
+ 'amount' => $amount,
232
+ 'currency' => 'EUR',
233
+ 'redirect_url' => 'https://braintree-api.com',
234
+ 'route_id' => $configuration->ideal->routeId,
235
+ ];
236
+
237
+ curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($requestBody));
238
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
239
+
240
+ $response = curl_exec($curl);
241
+ $httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE);
242
+ $error_code = curl_errno($curl);
243
+ curl_close($curl);
244
+ $jsonResponse = json_decode($response, true);
245
+ return $jsonResponse['data']['id'];
246
+ }
247
+
248
+ public static function generateInvalidIdealPaymentId() {
249
+ $valid_characters = str_split(self::$valid_nonce_characters);
250
+ $ideal_payment_id = 'idealpayment';
251
+ for($i=0; $i<4; $i++) {
252
+ $ideal_payment_id = $ideal_payment_id . '_';
253
+ for($j=0; $j<6; $j++) {
254
+ $t = rand(0, sizeof($valid_characters)-1);
255
+ $ideal_payment_id = $ideal_payment_id . $valid_characters[$t];
256
+ }
257
+ }
258
+ return $ideal_payment_id . "_xxx";
259
+ }
260
  }
lib/Gene/Braintree/braintree/braintree_php/tests/integration/ClientTokenTest.php CHANGED
@@ -169,12 +169,13 @@ class ClientTokenTest extends Setup
169
 
170
  public function test_ClientTokenAcceptsMerchantAccountId()
171
  {
 
172
  $clientToken = Test\Helper::decodedClientToken([
173
- 'merchantAccountId' => 'my_merchant_account'
174
  ]);
175
  $merchantAccountId = json_decode($clientToken)->merchantAccountId;
176
 
177
- $this->assertEquals('my_merchant_account', $merchantAccountId);
178
  }
179
 
180
  public function test_GenerateRaisesExceptionOnGateway422()
169
 
170
  public function test_ClientTokenAcceptsMerchantAccountId()
171
  {
172
+ $expectedMerchantAccountId = Test\Helper::nonDefaultMerchantAccountId();
173
  $clientToken = Test\Helper::decodedClientToken([
174
+ 'merchantAccountId' => $expectedMerchantAccountId
175
  ]);
176
  $merchantAccountId = json_decode($clientToken)->merchantAccountId;
177
 
178
+ $this->assertEquals($expectedMerchantAccountId, $merchantAccountId);
179
  }
180
 
181
  public function test_GenerateRaisesExceptionOnGateway422()
lib/Gene/Braintree/braintree/braintree_php/tests/integration/CreditCardTest.php CHANGED
@@ -239,6 +239,8 @@ class CreditCardTest extends Setup
239
  ]);
240
  $this->assertFalse($result->success);
241
  $this->assertEquals(Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED, $result->creditCardVerification->status);
 
 
242
  $this->assertEquals('2000', $result->creditCardVerification->processorResponseCode);
243
  $this->assertEquals('Do Not Honor', $result->creditCardVerification->processorResponseText);
244
  $this->assertEquals('I', $result->creditCardVerification->cvvResponseCode);
239
  ]);
240
  $this->assertFalse($result->success);
241
  $this->assertEquals(Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED, $result->creditCardVerification->status);
242
+ $this->assertEquals('1.02', $result->creditCardVerification->amount);
243
+ $this->assertEquals('USD', $result->creditCardVerification->currencyIsoCode);
244
  $this->assertEquals('2000', $result->creditCardVerification->processorResponseCode);
245
  $this->assertEquals('Do Not Honor', $result->creditCardVerification->processorResponseText);
246
  $this->assertEquals('I', $result->creditCardVerification->cvvResponseCode);
lib/Gene/Braintree/braintree/braintree_php/tests/integration/CustomerTest.php CHANGED
@@ -629,6 +629,47 @@ class CustomerTest extends Setup
629
  $this->assertTrue($result->success);
630
  }
631
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
632
  public function testCreate_doesNotWorkWithOnetimePayPalNonce()
633
  {
634
  $nonce = Braintree\Test\Nonces::$paypalOneTimePayment;
@@ -960,6 +1001,77 @@ class CustomerTest extends Setup
960
 
961
  }
962
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
963
  public function testUpdateDefaultPaymentMethod()
964
  {
965
  $result = Braintree\Customer::create([
629
  $this->assertTrue($result->success);
630
  }
631
 
632
+ public function testCreate_worksWithOrderPaymentPayPalNonce()
633
+ {
634
+ $http = new HttpClientApi(Braintree\Configuration::$global);
635
+ $nonce = $http->nonceForPayPalAccount([
636
+ 'paypal_account' => [
637
+ 'intent' => 'order',
638
+ 'payment_token' => 'paypal-payment-token',
639
+ 'payer_id' => 'paypal-payer-id',
640
+ ]
641
+ ]);
642
+
643
+ $result = Braintree\Customer::create([
644
+ 'paymentMethodNonce' => $nonce
645
+ ]);
646
+
647
+ $this->assertTrue($result->success);
648
+ }
649
+
650
+ public function testCreate_worksWithOrderPaymentPayPalNonceWithPayeeEmail()
651
+ {
652
+ $http = new HttpClientApi(Braintree\Configuration::$global);
653
+ $nonce = $http->nonceForPayPalAccount([
654
+ 'paypal_account' => [
655
+ 'intent' => 'order',
656
+ 'payment_token' => 'paypal-payment-token',
657
+ 'payer_id' => 'paypal-payer-id',
658
+ ]
659
+ ]);
660
+
661
+ $result = Braintree\Customer::create([
662
+ 'paymentMethodNonce' => $nonce,
663
+ 'options' => [
664
+ 'paypal' => [
665
+ 'payee_email' => 'payee@example.com',
666
+ ],
667
+ ],
668
+ ]);
669
+
670
+ $this->assertTrue($result->success);
671
+ }
672
+
673
  public function testCreate_doesNotWorkWithOnetimePayPalNonce()
674
  {
675
  $nonce = Braintree\Test\Nonces::$paypalOneTimePayment;
1001
 
1002
  }
1003
 
1004
+ public function testUpdate_worksWithOrderPaymentPayPalNonce()
1005
+ {
1006
+ $customerResult = Braintree\Customer::create([
1007
+ 'creditCard' => [
1008
+ 'number' => '5105105105105100',
1009
+ 'expirationDate' => '05/12',
1010
+ 'options' => [
1011
+ 'makeDefault' => true
1012
+ ]
1013
+ ]
1014
+ ]);
1015
+ $paypalAccountToken = 'PAYPALToken-' . strval(rand());
1016
+ $http = new HttpClientApi(Braintree\Configuration::$global);
1017
+ $nonce = $http->nonceForPayPalAccount([
1018
+ 'paypal_account' => [
1019
+ 'intent' => 'order',
1020
+ 'payment_token' => 'paypal-payment-token',
1021
+ 'payer_id' => 'paypal-payer-id',
1022
+ 'token' => $paypalAccountToken,
1023
+ 'options' => [
1024
+ 'makeDefault' => true
1025
+ ]
1026
+ ]
1027
+ ]);
1028
+
1029
+ $result = Braintree\Customer::update($customerResult->customer->id, [
1030
+ 'paymentMethodNonce' => $nonce
1031
+ ]);
1032
+
1033
+ $this->assertTrue($result->success);
1034
+ $this->assertEquals($result->customer->defaultPaymentMethod()->token, $paypalAccountToken);
1035
+ }
1036
+
1037
+ public function testUpdate_worksWithOrderPaymentPayPalNonceWithPayeeEmail()
1038
+ {
1039
+ $customerResult = Braintree\Customer::create([
1040
+ 'creditCard' => [
1041
+ 'number' => '5105105105105100',
1042
+ 'expirationDate' => '05/12',
1043
+ 'options' => [
1044
+ 'makeDefault' => true
1045
+ ]
1046
+ ]
1047
+ ]);
1048
+ $paypalAccountToken = 'PAYPALToken-' . strval(rand());
1049
+ $http = new HttpClientApi(Braintree\Configuration::$global);
1050
+ $nonce = $http->nonceForPayPalAccount([
1051
+ 'paypal_account' => [
1052
+ 'intent' => 'order',
1053
+ 'payment_token' => 'paypal-payment-token',
1054
+ 'payer_id' => 'paypal-payer-id',
1055
+ 'token' => $paypalAccountToken,
1056
+ 'options' => [
1057
+ 'makeDefault' => true
1058
+ ]
1059
+ ]
1060
+ ]);
1061
+
1062
+ $result = Braintree\Customer::update($customerResult->customer->id, [
1063
+ 'paymentMethodNonce' => $nonce,
1064
+ 'options' => [
1065
+ 'paypal' => [
1066
+ 'payee_email' => 'payee@example.com',
1067
+ ],
1068
+ ],
1069
+ ]);
1070
+
1071
+ $this->assertTrue($result->success);
1072
+ $this->assertEquals($result->customer->defaultPaymentMethod()->token, $paypalAccountToken);
1073
+ }
1074
+
1075
  public function testUpdateDefaultPaymentMethod()
1076
  {
1077
  $result = Braintree\Customer::create([
lib/Gene/Braintree/braintree/braintree_php/tests/integration/HttpClientApi.php CHANGED
@@ -46,6 +46,20 @@ class HttpClientApi extends Braintree\Http
46
  return ['status' => $httpStatus, 'body' => $response];
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  public function get_cards($options) {
50
  $encoded_fingerprint = urlencode($options["authorization_fingerprint"]);
51
  $url = "/client_api/v1/payment_methods.json?";
46
  return ['status' => $httpStatus, 'body' => $response];
47
  }
48
 
49
+ public function get_configuration($options) {
50
+ $encoded_fingerprint = urlencode($options["authorization_fingerprint"]);
51
+ $url = "/client_api/v1/configuration?";
52
+ $url .= "authorizationFingerprint=" . $encoded_fingerprint;
53
+ $url .= "&configVersion=3";
54
+
55
+ $response = $this->get($url);
56
+ if ($response["status"] == 200) {
57
+ return json_decode($response["body"]);
58
+ } else {
59
+ throw new Exception(print_r($response, true));
60
+ }
61
+ }
62
+
63
  public function get_cards($options) {
64
  $encoded_fingerprint = urlencode($options["authorization_fingerprint"]);
65
  $url = "/client_api/v1/payment_methods.json?";
lib/Gene/Braintree/braintree/braintree_php/tests/integration/HttpTest.php CHANGED
@@ -84,6 +84,54 @@ class HttpTest extends Setup
84
  Braintree\Configuration::environment('development');
85
  }
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  public function testAuthorizationWithConfig()
88
  {
89
  $config = new Braintree\Configuration([
84
  Braintree\Configuration::environment('development');
85
  }
86
 
87
+ public function testAcceptGzipEncodingSetFalse()
88
+ {
89
+ $originalGzipEncoding = Braintree\Configuration::acceptGzipEncoding();
90
+ Braintree\Configuration::acceptGzipEncoding(false);
91
+ try {
92
+ $result = Braintree\Customer::create([
93
+ 'firstName' => 'Mike',
94
+ 'lastName' => 'Jones',
95
+ 'company' => 'Jones Co.',
96
+ 'email' => 'mike.jones@example.com',
97
+ 'phone' => '419.555.1234',
98
+ 'fax' => '419.555.1235',
99
+ 'website' => 'http://example.com'
100
+ ]);
101
+ $this->assertEquals(true, $result->success);
102
+ $customer = $result->customer;
103
+ $this->assertEquals('Mike', $customer->firstName);
104
+ } catch(Braintree\Exception $e) {
105
+ Braintree\Configuration::acceptGzipEncoding($originalGzipEncoding);
106
+ throw $e;
107
+ }
108
+ Braintree\Configuration::acceptGzipEncoding($originalGzipEncoding);
109
+ }
110
+
111
+ public function testAcceptGzipEncodingSetToTrue()
112
+ {
113
+ $originalGzipEncoding = Braintree\Configuration::acceptGzipEncoding();
114
+ Braintree\Configuration::acceptGzipEncoding(true);
115
+ try {
116
+ $result = Braintree\Customer::create([
117
+ 'firstName' => 'Mike',
118
+ 'lastName' => 'Jones',
119
+ 'company' => 'Jones Co.',
120
+ 'email' => 'mike.jones@example.com',
121
+ 'phone' => '419.555.1234',
122
+ 'fax' => '419.555.1235',
123
+ 'website' => 'http://example.com'
124
+ ]);
125
+ $this->assertEquals(true, $result->success);
126
+ $customer = $result->customer;
127
+ $this->assertEquals('Mike', $customer->firstName);
128
+ } catch(Braintree\Exception $e) {
129
+ Braintree\Configuration::acceptGzipEncoding($originalGzipEncoding);
130
+ throw $e;
131
+ }
132
+ Braintree\Configuration::acceptGzipEncoding($originalGzipEncoding);
133
+ }
134
+
135
  public function testAuthorizationWithConfig()
136
  {
137
  $config = new Braintree\Configuration([
lib/Gene/Braintree/braintree/braintree_php/tests/integration/IdealPaymentTest.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Test\Integration;
3
+
4
+ require_once dirname(__DIR__) . '/Setup.php';
5
+
6
+ use Test;
7
+ use Test\Setup;
8
+ use Braintree;
9
+
10
+ class IdealPaymentTest extends Setup
11
+ {
12
+ public function testFindIdealPayment()
13
+ {
14
+ $http = new HttpClientApi(Braintree\Configuration::$global);
15
+ $idealPaymentId = Test\Helper::generateValidIdealPaymentId();
16
+
17
+ $foundIdealPayment= Braintree\IdealPayment::find($idealPaymentId);
18
+ $this->assertInstanceOf('Braintree\IdealPayment', $foundIdealPayment);
19
+ $this->assertRegExp('/^idealpayment_\w{6,}$/', $foundIdealPayment->id);
20
+ $this->assertRegExp('/^\d{16,}$/', $foundIdealPayment->idealTransactionId);
21
+ $this->assertNotNull($foundIdealPayment->currency);
22
+ $this->assertNotNull($foundIdealPayment->amount);
23
+ $this->assertEquals('COMPLETE', $foundIdealPayment->status);
24
+ $this->assertEquals('ABC123', $foundIdealPayment->orderId);
25
+ $this->assertNotNull($foundIdealPayment->issuer);
26
+ $this->assertRegExp('/^https:\/\//', $foundIdealPayment->approvalUrl);
27
+ $this->assertNotNull($foundIdealPayment->ibanBankAccount->maskedIban);
28
+ $this->assertNotNull($foundIdealPayment->ibanBankAccount->bic);
29
+ $this->assertNotNull($foundIdealPayment->ibanBankAccount->ibanCountry);
30
+ $this->assertNotNull($foundIdealPayment->ibanBankAccount->description);
31
+ $this->assertRegExp('/^\d{4}$/', $foundIdealPayment->ibanBankAccount->ibanAccountNumberLast4);
32
+ }
33
+
34
+ public function testFindIdealPayment_throwsIfCannotBeFound()
35
+ {
36
+ $this->setExpectedException('Braintree\Exception\NotFound');
37
+ Braintree\IdealPayment::find(Test\Helper::generateInvalidIdealPaymentId());
38
+ }
39
+
40
+ public function testSale_createsASaleUsingId()
41
+ {
42
+ $http = new HttpClientApi(Braintree\Configuration::$global);
43
+ $idealPaymentId = Test\Helper::generateValidIdealPaymentId();
44
+
45
+ $result = Braintree\IdealPayment::sale($idealPaymentId, [
46
+ 'merchantAccountId' => 'ideal_merchant_account',
47
+ 'amount' => '100.00',
48
+ 'orderId' => 'ABC123'
49
+ ]);
50
+
51
+ $this->assertTrue($result->success);
52
+ $transaction = $result->transaction;
53
+ $this->assertEquals(Braintree\Transaction::SETTLED, $transaction->status);
54
+ $this->assertEquals(Braintree\Transaction::SALE, $transaction->type);
55
+ $this->assertEquals('100.00', $transaction->amount);
56
+ $this->assertRegExp('/^idealpayment_\w{6,}$/', $transaction->idealPayment->idealPaymentId);
57
+ $this->assertRegExp('/^\d{16,}$/', $transaction->idealPayment->idealTransactionId);
58
+ $this->assertRegExp('/^https:\/\//', $transaction->idealPayment->imageUrl);
59
+ $this->assertNotNull($transaction->idealPayment->maskedIban);
60
+ $this->assertNotNull($transaction->idealPayment->bic);
61
+ }
62
+
63
+ public function testSale_createsASaleWithNotCompletePayment()
64
+ {
65
+ $http = new HttpClientApi(Braintree\Configuration::$global);
66
+ $idealPaymentId = Test\Helper::generateValidIdealPaymentId('3.00');
67
+
68
+ $result = Braintree\IdealPayment::sale($idealPaymentId, [
69
+ 'merchantAccountId' => 'ideal_merchant_account',
70
+ 'amount' => '3.00',
71
+ 'orderId' => 'ABC123'
72
+ ]);
73
+
74
+ $this->assertFalse($result->success);
75
+ $baseErrors = $result->errors->forKey('transaction')->onAttribute('paymentMethodNonce');
76
+ $this->assertEquals(Braintree\Error\Codes::TRANSACTION_IDEAL_PAYMENT_NOT_COMPLETE, $baseErrors[0]->code);
77
+ }
78
+
79
+ public function testSale_createsASaleUsingInvalidId()
80
+ {
81
+ $http = new HttpClientApi(Braintree\Configuration::$global);
82
+
83
+ $result = Braintree\IdealPayment::sale('invalid_id', [
84
+ 'merchantAccountId' => 'ideal_merchant_account',
85
+ 'amount' => '100.00',
86
+ 'orderId' => 'ABC123'
87
+ ]);
88
+
89
+ $this->assertFalse($result->success);
90
+ $baseErrors = $result->errors->forKey('transaction')->onAttribute('paymentMethodNonce');
91
+ $this->assertEquals(Braintree\Error\Codes::TRANSACTION_PAYMENT_METHOD_NONCE_UNKNOWN, $baseErrors[0]->code);
92
+ }
93
+ }
lib/Gene/Braintree/braintree/braintree_php/tests/integration/MasterpassCardTest.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Test\Integration;
3
+
4
+ require_once dirname(__DIR__) . '/Setup.php';
5
+
6
+ use Test;
7
+ use Test\Braintree\CreditCardNumbers\CardTypeIndicators;
8
+ use Test\Setup;
9
+ use Braintree;
10
+
11
+ class MasterpassCardTest extends Setup
12
+ {
13
+ public function testCreateWithMasterpassCardNonce()
14
+ {
15
+ $customer = Braintree\Customer::createNoValidate();
16
+ $result = Braintree\PaymentMethod::create([
17
+ 'customerId' => $customer->id,
18
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$masterpassDiscover,
19
+ ]);
20
+
21
+ $this->assertTrue($result->success);
22
+ $masterpassCard = $result->paymentMethod;
23
+ $this->assertSame(Braintree\CreditCard::DISCOVER, $masterpassCard->cardType);
24
+ $this->assertTrue($masterpassCard->default);
25
+ $this->assertContains('discover', $masterpassCard->imageUrl);
26
+ $this->assertTrue(intval($masterpassCard->expirationMonth) > 0);
27
+ $this->assertTrue(intval($masterpassCard->expirationYear) > 0);
28
+ $this->assertSame($customer->id, $masterpassCard->customerId);
29
+ $this->assertSame($masterpassCard->last4, '1117');
30
+ $this->assertSame($masterpassCard->maskedNumber, '601111******1117');
31
+
32
+ $this->assertNotNull($masterpassCard->billingAddress);
33
+ $this->assertNotNull($masterpassCard->bin);
34
+ $this->assertNotNull($masterpassCard->cardType);
35
+ $this->assertNotNull($masterpassCard->cardholderName);
36
+ $this->assertNotNull($masterpassCard->commercial);
37
+ $this->assertNotNull($masterpassCard->countryOfIssuance);
38
+ $this->assertNotNull($masterpassCard->createdAt);
39
+ $this->assertNotNull($masterpassCard->customerId);
40
+ $this->assertNotNull($masterpassCard->customerLocation);
41
+ $this->assertNotNull($masterpassCard->debit);
42
+ $this->assertNotNull($masterpassCard->default);
43
+ $this->assertNotNull($masterpassCard->durbinRegulated);
44
+ $this->assertNotNull($masterpassCard->expirationDate);
45
+ $this->assertNotNull($masterpassCard->expirationMonth);
46
+ $this->assertNotNull($masterpassCard->expirationYear);
47
+ $this->assertNotNull($masterpassCard->expired);
48
+ $this->assertNotNull($masterpassCard->healthcare);
49
+ $this->assertNotNull($masterpassCard->imageUrl);
50
+ $this->assertNotNull($masterpassCard->issuingBank);
51
+ $this->assertNotNull($masterpassCard->last4);
52
+ $this->assertNotNull($masterpassCard->maskedNumber);
53
+ $this->assertNotNull($masterpassCard->payroll);
54
+ $this->assertNotNull($masterpassCard->prepaid);
55
+ $this->assertNotNull($masterpassCard->productId);
56
+ $this->assertNotNull($masterpassCard->subscriptions);
57
+ $this->assertNotNull($masterpassCard->token);
58
+ $this->assertNotNull($masterpassCard->uniqueNumberIdentifier);
59
+ $this->assertNotNull($masterpassCard->updatedAt);
60
+ }
61
+
62
+ public function testTransactionSearchWithMasterpass()
63
+ {
64
+ $transaction = Braintree\Transaction::saleNoValidate([
65
+ 'amount' => Braintree\Test\TransactionAmounts::$authorize,
66
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$masterpassDiscover,
67
+ ]);
68
+
69
+ $collection = Braintree\Transaction::search([
70
+ Braintree\TransactionSearch::id()->is($transaction->id),
71
+ Braintree\TransactionSearch::paymentInstrumentType()->is(Braintree\PaymentInstrumentType::MASTERPASS_CARD)
72
+ ]);
73
+
74
+
75
+ $this->assertEquals($transaction->paymentInstrumentType, Braintree\PaymentInstrumentType::MASTERPASS_CARD);
76
+ $this->assertEquals($transaction->id, $collection->firstItem()->id);
77
+ }
78
+
79
+ public function testCreateCustomerwithMasterpassCard()
80
+ {
81
+ $nonce = Braintree\Test\Nonces::$masterpassDiscover;
82
+ $result = Braintree\Customer::create([
83
+ 'paymentMethodNonce' => $nonce
84
+ ]);
85
+ $this->assertTrue($result->success);
86
+ $customer = $result->customer;
87
+ $this->assertNotNull($customer->masterpassCards[0]);
88
+ $this->assertNotNull($customer->paymentMethods[0]);
89
+ }
90
+
91
+ public function testCreateTransactionWithMasterpassNonceAndVault()
92
+ {
93
+ $result = Braintree\Transaction::sale([
94
+ 'amount' => '47.00',
95
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$masterpassAmEx,
96
+ 'options' => [
97
+ 'storeInVault' => true
98
+ ]
99
+ ]);
100
+
101
+ $this->assertTrue($result->success);
102
+ $transaction = $result->transaction;
103
+ $this->assertEquals('47.00', $transaction->amount);
104
+ $masterpassCardDetails = $transaction->masterpassCardDetails;
105
+ $this->assertSame(Braintree\CreditCard::AMEX, $masterpassCardDetails->cardType);
106
+
107
+ $this->assertNotNull($masterpassCardDetails->bin);
108
+ $this->assertNotNull($masterpassCardDetails->cardType);
109
+ $this->assertNotNull($masterpassCardDetails->cardholderName);
110
+ $this->assertNotNull($masterpassCardDetails->commercial);
111
+ $this->assertNotNull($masterpassCardDetails->countryOfIssuance);
112
+ $this->assertNotNull($masterpassCardDetails->customerLocation);
113
+ $this->assertNotNull($masterpassCardDetails->debit);
114
+ $this->assertNotNull($masterpassCardDetails->durbinRegulated);
115
+ $this->assertNotNull($masterpassCardDetails->expirationDate);
116
+ $this->assertNotNull($masterpassCardDetails->expirationMonth);
117
+ $this->assertNotNull($masterpassCardDetails->expirationYear);
118
+ $this->assertNotNull($masterpassCardDetails->healthcare);
119
+ $this->assertNotNull($masterpassCardDetails->imageUrl);
120
+ $this->assertNotNull($masterpassCardDetails->issuingBank);
121
+ $this->assertNotNull($masterpassCardDetails->last4);
122
+ $this->assertNotNull($masterpassCardDetails->maskedNumber);
123
+ $this->assertNotNull($masterpassCardDetails->payroll);
124
+ $this->assertNotNull($masterpassCardDetails->prepaid);
125
+ $this->assertNotNull($masterpassCardDetails->productId);
126
+ $this->assertNotNull($masterpassCardDetails->token);
127
+ }
128
+ }
lib/Gene/Braintree/braintree/braintree_php/tests/integration/PaymentMethodTest.php CHANGED
@@ -233,6 +233,59 @@ class PaymentMethodTest extends Setup
233
  $this->assertSame($customer->id, $result->paymentMethod->customerId);
234
  }
235
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  public function testCreate_fromUsBankAccountNonce()
237
  {
238
  $customer = Braintree\Customer::createNoValidate();
@@ -1060,6 +1113,32 @@ class PaymentMethodTest extends Setup
1060
  $this->assertEquals(NULL, $updateResult->creditCardVerification->gatewayRejectionReason);
1061
  }
1062
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1063
  public function testUpdate_canUpdateTheBillingAddress()
1064
  {
1065
  $customer = Braintree\Customer::createNoValidate();
233
  $this->assertSame($customer->id, $result->paymentMethod->customerId);
234
  }
235
 
236
+ public function testCreate_fromOrderPaymentPaypalAccountNonce()
237
+ {
238
+ $paymentMethodToken = 'PAYPAL_TOKEN-' . strval(rand());
239
+ $customer = Braintree\Customer::createNoValidate();
240
+ $http = new HttpClientApi(Braintree\Configuration::$global);
241
+ $nonce = $http->nonceForPayPalAccount([
242
+ 'paypal_account' => [
243
+ 'intent' => 'order',
244
+ 'payment_token' => 'paypal-payment-token',
245
+ 'payer_id' => 'paypal-payer-id',
246
+ 'token' => $paymentMethodToken,
247
+ ]
248
+ ]);
249
+
250
+ $result = Braintree\PaymentMethod::create([
251
+ 'customerId' => $customer->id,
252
+ 'paymentMethodNonce' => $nonce
253
+ ]);
254
+
255
+ $this->assertSame('bt_buyer_us@paypal.com', $result->paymentMethod->email);
256
+ $this->assertSame($paymentMethodToken, $result->paymentMethod->token);
257
+ $this->assertSame($customer->id, $result->paymentMethod->customerId);
258
+ }
259
+
260
+ public function testCreate_fromOrderPaymentPaypalAccountNonceWithPayeeEmail()
261
+ {
262
+ $paymentMethodToken = 'PAYPAL_TOKEN-' . strval(rand());
263
+ $customer = Braintree\Customer::createNoValidate();
264
+ $http = new HttpClientApi(Braintree\Configuration::$global);
265
+ $nonce = $http->nonceForPayPalAccount([
266
+ 'paypal_account' => [
267
+ 'intent' => 'order',
268
+ 'payment_token' => 'paypal-payment-token',
269
+ 'payer_id' => 'paypal-payer-id',
270
+ 'token' => $paymentMethodToken,
271
+ ]
272
+ ]);
273
+
274
+ $result = Braintree\PaymentMethod::create([
275
+ 'customerId' => $customer->id,
276
+ 'paymentMethodNonce' => $nonce,
277
+ 'options' => [
278
+ 'paypal' => [
279
+ 'payee_email' => 'payee@example.com'
280
+ ]
281
+ ],
282
+ ]);
283
+
284
+ $this->assertSame('bt_buyer_us@paypal.com', $result->paymentMethod->email);
285
+ $this->assertSame($paymentMethodToken, $result->paymentMethod->token);
286
+ $this->assertSame($customer->id, $result->paymentMethod->customerId);
287
+ }
288
+
289
  public function testCreate_fromUsBankAccountNonce()
290
  {
291
  $customer = Braintree\Customer::createNoValidate();
1113
  $this->assertEquals(NULL, $updateResult->creditCardVerification->gatewayRejectionReason);
1114
  }
1115
 
1116
+ public function testUpdate_canPassCustomVerificationAmount()
1117
+ {
1118
+ $customer = Braintree\Customer::createNoValidate();
1119
+ $creditCardResult = Braintree\CreditCard::create([
1120
+ 'cardholderName' => 'Card Holder',
1121
+ 'customerId' => $customer->id,
1122
+ 'cvv' => '123',
1123
+ 'number' => Braintree\Test\CreditCardNumbers::$visa,
1124
+ 'expirationDate' => "05/2020"
1125
+ ]);
1126
+ $this->assertTrue($creditCardResult->success);
1127
+ $creditCard = $creditCardResult->creditCard;
1128
+
1129
+ $updateResult = Braintree\PaymentMethod::update($creditCard->token, [
1130
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$processorDeclinedMasterCard,
1131
+ 'options' => [
1132
+ 'verifyCard' => 'true',
1133
+ 'verificationAmount' => '2.34'
1134
+ ]
1135
+ ]);
1136
+
1137
+ $this->assertFalse($updateResult->success);
1138
+ $this->assertEquals(Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED, $updateResult->creditCardVerification->status);
1139
+ $this->assertEquals(NULL, $updateResult->creditCardVerification->gatewayRejectionReason);
1140
+ }
1141
+
1142
  public function testUpdate_canUpdateTheBillingAddress()
1143
  {
1144
  $customer = Braintree\Customer::createNoValidate();
lib/Gene/Braintree/braintree/braintree_php/tests/integration/TransactionTest.php CHANGED
@@ -243,6 +243,30 @@ class TransactionTest extends Setup
243
  $this->assertEquals(Braintree\Error\Codes::TRANSACTION_PAYMENT_METHOD_NONCE_UNKNOWN, $baseErrors[0]->code);
244
  }
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  public function testSaleAndSkipAdvancedFraudChecking()
247
  {
248
  $result = Braintree\Transaction::sale([
@@ -260,6 +284,41 @@ class TransactionTest extends Setup
260
  $this->assertNull($transaction->riskData->id);
261
  }
262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
  public function testSettleAltPayTransaction()
264
  {
265
  $gateway = new Braintree\Gateway([
@@ -962,8 +1021,8 @@ class TransactionTest extends Setup
962
  $transaction = $result->transaction;
963
 
964
  $this->assertNotNull($transaction->id);
965
- $this->assertNotNull($transaction->createdAt);
966
- $this->assertNotNull($transaction->updatedAt);
967
  $this->assertNull($transaction->refundId);
968
 
969
  $this->assertEquals(Test\Helper::defaultMerchantAccountId(), $transaction->merchantAccountId);
@@ -2403,10 +2462,6 @@ class TransactionTest extends Setup
2403
  Braintree\Error\Codes::TRANSACTION_THREE_D_SECURE_CAVV_IS_REQUIRED,
2404
  $errors->onAttribute("cavv")[0]->code
2405
  );
2406
- $this->assertEquals(
2407
- Braintree\Error\Codes::TRANSACTION_THREE_D_SECURE_XID_IS_REQUIRED,
2408
- $errors->onAttribute("xid")[0]->code
2409
- );
2410
  }
2411
 
2412
  public function testSale_returnsErrorsWhenThreeDSecurePassThruEciFlagIsInvalid()
243
  $this->assertEquals(Braintree\Error\Codes::TRANSACTION_PAYMENT_METHOD_NONCE_UNKNOWN, $baseErrors[0]->code);
244
  }
245
 
246
+ public function testSaleWithIdealPaymentId()
247
+ {
248
+ $result = Braintree\Transaction::sale([
249
+ 'amount' => '100.00',
250
+ 'merchantAccountId' => 'ideal_merchant_account',
251
+ 'paymentMethodNonce' => Test\Helper::generateValidIdealPaymentId(),
252
+ 'orderId' => 'ABC123',
253
+ 'options' => [
254
+ 'submitForSettlement' => true,
255
+ ]
256
+ ]);
257
+
258
+ $this->assertTrue($result->success);
259
+ $transaction = $result->transaction;
260
+ $this->assertEquals(Braintree\Transaction::SETTLED, $transaction->status);
261
+ $this->assertEquals(Braintree\Transaction::SALE, $transaction->type);
262
+ $this->assertEquals('100.00', $transaction->amount);
263
+ $this->assertRegExp('/^idealpayment_\w{6,}$/', $transaction->idealPayment->idealPaymentId);
264
+ $this->assertRegExp('/^\d{16,}$/', $transaction->idealPayment->idealTransactionId);
265
+ $this->assertRegExp('/^https:\/\//', $transaction->idealPayment->imageUrl);
266
+ $this->assertNotNull($transaction->idealPayment->maskedIban);
267
+ $this->assertNotNull($transaction->idealPayment->bic);
268
+ }
269
+
270
  public function testSaleAndSkipAdvancedFraudChecking()
271
  {
272
  $result = Braintree\Transaction::sale([
284
  $this->assertNull($transaction->riskData->id);
285
  }
286
 
287
+ public function testSaleAndSkipAvs()
288
+ {
289
+ $result = Braintree\Transaction::sale([
290
+ 'amount' => Braintree\Test\TransactionAmounts::$authorize,
291
+ 'creditCard' => [
292
+ 'number' => Braintree\Test\CreditCardNumbers::$visa,
293
+ 'expirationDate' => '05/2019',
294
+ ],
295
+ 'options' => [
296
+ 'skipAvs' => true
297
+ ]
298
+ ]);
299
+ $this->assertTrue($result->success);
300
+ $transaction = $result->transaction;
301
+ $this->assertNull($transaction->avsErrorResponseCode);
302
+ $this->assertEquals($transaction->avsStreetAddressResponseCode, 'B');
303
+ }
304
+
305
+ public function testSaleAndSkipCvv()
306
+ {
307
+ $result = Braintree\Transaction::sale([
308
+ 'amount' => Braintree\Test\TransactionAmounts::$authorize,
309
+ 'creditCard' => [
310
+ 'number' => Braintree\Test\CreditCardNumbers::$visa,
311
+ 'expirationDate' => '05/2019',
312
+ ],
313
+ 'options' => [
314
+ 'skipCvv' => true
315
+ ]
316
+ ]);
317
+ $this->assertTrue($result->success);
318
+ $transaction = $result->transaction;
319
+ $this->assertEquals($transaction->cvvResponseCode, 'B');
320
+ }
321
+
322
  public function testSettleAltPayTransaction()
323
  {
324
  $gateway = new Braintree\Gateway([
1021
  $transaction = $result->transaction;
1022
 
1023
  $this->assertNotNull($transaction->id);
1024
+ $this->assertInstanceOf('DateTime', $transaction->updatedAt);
1025
+ $this->assertInstanceOf('DateTime', $transaction->createdAt);
1026
  $this->assertNull($transaction->refundId);
1027
 
1028
  $this->assertEquals(Test\Helper::defaultMerchantAccountId(), $transaction->merchantAccountId);
2462
  Braintree\Error\Codes::TRANSACTION_THREE_D_SECURE_CAVV_IS_REQUIRED,
2463
  $errors->onAttribute("cavv")[0]->code
2464
  );
 
 
 
 
2465
  }
2466
 
2467
  public function testSale_returnsErrorsWhenThreeDSecurePassThruEciFlagIsInvalid()
lib/Gene/Braintree/braintree/braintree_php/tests/integration/VisaCheckoutCardTest.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Test\Integration;
3
+
4
+ require_once dirname(__DIR__) . '/Setup.php';
5
+
6
+ use Test;
7
+ use Test\Braintree\CreditCardNumbers\CardTypeIndicators;
8
+ use Test\Setup;
9
+ use Braintree;
10
+
11
+ class VisaCheckoutCardTest extends Setup
12
+ {
13
+ public function testCreateWithVisaCheckoutCardNonce()
14
+ {
15
+ $customer = Braintree\Customer::createNoValidate();
16
+ $result = Braintree\PaymentMethod::create([
17
+ 'customerId' => $customer->id,
18
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$visaCheckoutDiscover,
19
+ ]);
20
+
21
+ $this->assertTrue($result->success);
22
+ $visaCheckoutCard = $result->paymentMethod;
23
+ $this->assertNotNull($visaCheckoutCard->token);
24
+ $this->assertSame(Braintree\CreditCard::DISCOVER, $visaCheckoutCard->cardType);
25
+ $this->assertTrue($visaCheckoutCard->default);
26
+ $this->assertContains('discover', $visaCheckoutCard->imageUrl);
27
+ $this->assertTrue(intval($visaCheckoutCard->expirationMonth) > 0);
28
+ $this->assertTrue(intval($visaCheckoutCard->expirationYear) > 0);
29
+ $this->assertSame($customer->id, $visaCheckoutCard->customerId);
30
+ $this->assertSame('abc123', $visaCheckoutCard->callId);
31
+ $this->assertSame($visaCheckoutCard->last4, '1117');
32
+ $this->assertSame($visaCheckoutCard->maskedNumber, '601111******1117');
33
+
34
+ $this->assertNotNull($visaCheckoutCard->billingAddress);
35
+ $this->assertNotNull($visaCheckoutCard->bin);
36
+ $this->assertNotNull($visaCheckoutCard->callId);
37
+ $this->assertNotNull($visaCheckoutCard->cardType);
38
+ $this->assertNotNull($visaCheckoutCard->cardholderName);
39
+ $this->assertNotNull($visaCheckoutCard->commercial);
40
+ $this->assertNotNull($visaCheckoutCard->countryOfIssuance);
41
+ $this->assertNotNull($visaCheckoutCard->createdAt);
42
+ $this->assertNotNull($visaCheckoutCard->customerId);
43
+ $this->assertNotNull($visaCheckoutCard->customerLocation);
44
+ $this->assertNotNull($visaCheckoutCard->debit);
45
+ $this->assertNotNull($visaCheckoutCard->default);
46
+ $this->assertNotNull($visaCheckoutCard->durbinRegulated);
47
+ $this->assertNotNull($visaCheckoutCard->expirationDate);
48
+ $this->assertNotNull($visaCheckoutCard->expirationMonth);
49
+ $this->assertNotNull($visaCheckoutCard->expirationYear);
50
+ $this->assertNotNull($visaCheckoutCard->expired);
51
+ $this->assertNotNull($visaCheckoutCard->healthcare);
52
+ $this->assertNotNull($visaCheckoutCard->imageUrl);
53
+ $this->assertNotNull($visaCheckoutCard->issuingBank);
54
+ $this->assertNotNull($visaCheckoutCard->last4);
55
+ $this->assertNotNull($visaCheckoutCard->maskedNumber);
56
+ $this->assertNotNull($visaCheckoutCard->payroll);
57
+ $this->assertNotNull($visaCheckoutCard->prepaid);
58
+ $this->assertNotNull($visaCheckoutCard->productId);
59
+ $this->assertNotNull($visaCheckoutCard->subscriptions);
60
+ $this->assertNotNull($visaCheckoutCard->token);
61
+ $this->assertNotNull($visaCheckoutCard->uniqueNumberIdentifier);
62
+ $this->assertNotNull($visaCheckoutCard->updatedAt);
63
+ }
64
+
65
+ public function testCreateWithVisaCheckoutCardNonceWithVerification()
66
+ {
67
+ $customer = Braintree\Customer::createNoValidate();
68
+ $result = Braintree\PaymentMethod::create([
69
+ 'customerId' => $customer->id,
70
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$visaCheckoutDiscover,
71
+ 'options' => [
72
+ 'verifyCard' => true
73
+ ]
74
+ ]);
75
+
76
+ $this->assertTrue($result->success);
77
+ $visaCheckoutCard = $result->paymentMethod;
78
+ $verification = $visaCheckoutCard->verification;
79
+
80
+ $this->assertNotNull($verification);
81
+ $this->assertNotNull($verification->status);
82
+ }
83
+
84
+ public function testTransactionSearchWithVisaCheckout()
85
+ {
86
+ $transaction = Braintree\Transaction::saleNoValidate([
87
+ 'amount' => Braintree\Test\TransactionAmounts::$authorize,
88
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$visaCheckoutDiscover,
89
+ ]);
90
+
91
+ $collection = Braintree\Transaction::search([
92
+ Braintree\TransactionSearch::id()->is($transaction->id),
93
+ Braintree\TransactionSearch::paymentInstrumentType()->is(Braintree\PaymentInstrumentType::VISA_CHECKOUT_CARD)
94
+ ]);
95
+
96
+
97
+ $this->assertEquals($transaction->paymentInstrumentType, Braintree\PaymentInstrumentType::VISA_CHECKOUT_CARD);
98
+ $this->assertEquals($transaction->id, $collection->firstItem()->id);
99
+ }
100
+
101
+ public function testCreateCustomerWithVisaCheckoutCard()
102
+ {
103
+ $nonce = Braintree\Test\Nonces::$visaCheckoutDiscover;
104
+ $result = Braintree\Customer::create([
105
+ 'paymentMethodNonce' => $nonce
106
+ ]);
107
+ $this->assertTrue($result->success);
108
+ $customer = $result->customer;
109
+ $this->assertNotNull($customer->visaCheckoutCards[0]);
110
+ $this->assertNotNull($customer->paymentMethods[0]);
111
+ }
112
+
113
+ public function testCreateTransactionWithVisaCheckoutNonceAndVault()
114
+ {
115
+ $result = Braintree\Transaction::sale([
116
+ 'amount' => '47.00',
117
+ 'paymentMethodNonce' => Braintree\Test\Nonces::$visaCheckoutAmEx,
118
+ 'options' => [
119
+ 'storeInVault' => true
120
+ ]
121
+ ]);
122
+
123
+ $this->assertTrue($result->success);
124
+ $transaction = $result->transaction;
125
+ $this->assertEquals('47.00', $transaction->amount);
126
+ $visaCheckoutCardDetails = $transaction->visaCheckoutCardDetails;
127
+ $this->assertSame(Braintree\CreditCard::AMEX, $visaCheckoutCardDetails->cardType);
128
+
129
+ $this->assertNotNull($visaCheckoutCardDetails->bin);
130
+ $this->assertNotNull($visaCheckoutCardDetails->callId);
131
+ $this->assertNotNull($visaCheckoutCardDetails->cardType);
132
+ $this->assertNotNull($visaCheckoutCardDetails->cardholderName);
133
+ $this->assertNotNull($visaCheckoutCardDetails->commercial);
134
+ $this->assertNotNull($visaCheckoutCardDetails->countryOfIssuance);
135
+ $this->assertNotNull($visaCheckoutCardDetails->customerLocation);
136
+ $this->assertNotNull($visaCheckoutCardDetails->debit);
137
+ $this->assertNotNull($visaCheckoutCardDetails->durbinRegulated);
138
+ $this->assertNotNull($visaCheckoutCardDetails->expirationDate);
139
+ $this->assertNotNull($visaCheckoutCardDetails->expirationMonth);
140
+ $this->assertNotNull($visaCheckoutCardDetails->expirationYear);
141
+ $this->assertNotNull($visaCheckoutCardDetails->healthcare);
142
+ $this->assertNotNull($visaCheckoutCardDetails->imageUrl);
143
+ $this->assertNotNull($visaCheckoutCardDetails->issuingBank);
144
+ $this->assertNotNull($visaCheckoutCardDetails->last4);
145
+ $this->assertNotNull($visaCheckoutCardDetails->maskedNumber);
146
+ $this->assertNotNull($visaCheckoutCardDetails->payroll);
147
+ $this->assertNotNull($visaCheckoutCardDetails->prepaid);
148
+ $this->assertNotNull($visaCheckoutCardDetails->productId);
149
+ $this->assertNotNull($visaCheckoutCardDetails->token);
150
+ }
151
+ }
lib/Gene/Braintree/braintree/braintree_php/tests/unit/ConfigurationTest.php CHANGED
@@ -265,6 +265,18 @@ class ConfigurationTest extends Setup
265
  $this->assertEquals(null, $this->config->sslVersion());
266
  }
267
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  /**
269
  * @expectedException Braintree\Exception\Configuration
270
  * @expectedExceptionMessage environment needs to be set
265
  $this->assertEquals(null, $this->config->sslVersion());
266
  }
267
 
268
+ public function testAcceptEncodingDefaultsTrue()
269
+ {
270
+ $this->assertTrue($this->config->acceptGzipEncoding());
271
+ }
272
+
273
+ public function testAcceptGzipEncoding()
274
+ {
275
+ $this->assertTrue($this->config->acceptGzipEncoding());
276
+ $this->config->acceptGzipEncoding(false);
277
+ $this->assertFalse($this->config->acceptGzipEncoding());
278
+ }
279
+
280
  /**
281
  * @expectedException Braintree\Exception\Configuration
282
  * @expectedExceptionMessage environment needs to be set
lib/Gene/Braintree/braintree/braintree_php/tests/unit/MerchantAccountTest.php CHANGED
@@ -65,4 +65,3 @@ class MerchantAccountTest extends Setup
65
  $this->assertEquals($merchantAccount->fundingDetails->descriptor, "Joes Bloggs MI");
66
  }
67
  }
68
- ?>
65
  $this->assertEquals($merchantAccount->fundingDetails->descriptor, "Joes Bloggs MI");
66
  }
67
  }
 
lib/Gene/Braintree/braintree/braintree_php/tests/unit/PaginatedCollectionTest.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Test\Unit;
3
+
4
+ require_once dirname(__DIR__) . '/Setup.php';
5
+
6
+ use Test\Setup;
7
+ use Braintree;
8
+
9
+ class Pager {
10
+ private $_pagingFunc;
11
+
12
+ public function __construct($pagingFunc) {
13
+ $this->_pagingFunc = $pagingFunc;
14
+ }
15
+
16
+ public function page ($page) {
17
+ return call_user_func($this->_pagingFunc, $page);
18
+ }
19
+ }
20
+
21
+ class PaginatedCollectionTest extends Setup
22
+ {
23
+ public function testFetchesOnePageWhenPageAndTotalSizesMatch()
24
+ {
25
+
26
+ $pager = [
27
+ 'object' => new Pager(function ($page) {
28
+ if ($page > 1)
29
+ {
30
+ throw new \Exception('too many pages fetched');
31
+ }
32
+ else
33
+ {
34
+ return new Braintree\PaginatedResult(1, 1, [1]);
35
+ }
36
+ }),
37
+ 'method' => 'page',
38
+ ];
39
+ $collection = new Braintree\PaginatedCollection($pager);
40
+
41
+ $items = [];
42
+ foreach($collection as $item)
43
+ {
44
+ array_push($items, $item);
45
+ }
46
+
47
+ $this->assertEquals(1, $items[0]);
48
+ $this->assertEquals(1, count($items));
49
+ }
50
+
51
+ public function testFetchCollectionOfLessThanOnePage()
52
+ {
53
+ $pager = [
54
+ 'object' => new Pager(function ($page) {
55
+ if ($page > 1)
56
+ {
57
+ throw new \Exception('too many pages fetched');
58
+ }
59
+ else
60
+ {
61
+ return new Braintree\PaginatedResult(2, 5, [1, 2]);
62
+ }
63
+ }),
64
+ 'method' => 'page',
65
+ ];
66
+ $collection = new Braintree\PaginatedCollection($pager);
67
+
68
+ $items = [];
69
+ foreach($collection as $item)
70
+ {
71
+ array_push($items, $item);
72
+ }
73
+
74
+ $this->assertEquals(1, $items[0]);
75
+ $this->assertEquals(2, $items[1]);
76
+ $this->assertEquals(2, count($items));
77
+ }
78
+
79
+ public function testFetchesMultiplePages()
80
+ {
81
+ $pager = [
82
+ 'object' => new Pager(function ($page) {
83
+ if ($page > 2)
84
+ {
85
+ throw new \Exception('too many pages fetched');
86
+ }
87
+ else
88
+ {
89
+ return new Braintree\PaginatedResult(2, 1, [$page]);
90
+ }
91
+ }),
92
+ 'method' => 'page',
93
+ ];
94
+ $collection = new Braintree\PaginatedCollection($pager);
95
+
96
+ $items = [];
97
+ foreach($collection as $item)
98
+ {
99
+ array_push($items, $item);
100
+ }
101
+
102
+ $this->assertEquals(1, $items[0]);
103
+ $this->assertEquals(2, $items[1]);
104
+ $this->assertEquals(2, count($items));
105
+ }
106
+ }
lib/Gene/Braintree/braintree/braintree_php/tests/unit/PaymentMethodTest.php CHANGED
@@ -33,6 +33,9 @@ class PaymentMethodTest extends Setup
33
  'verificationMerchantAccountId',
34
  'verifyCard',
35
  'verificationAmount',
 
 
 
36
  ]],
37
  ['billingAddress' => Braintree\AddressGateway::createSignature()],
38
  'customerId'
33
  'verificationMerchantAccountId',
34
  'verifyCard',
35
  'verificationAmount',
36
+ ['paypal' => [
37
+ 'payee_email',
38
+ ]],
39
  ]],
40
  ['billingAddress' => Braintree\AddressGateway::createSignature()],
41
  'customerId'
lib/Gene/Braintree/braintree/braintree_php/tests/unit/WebhookNotificationTest.php CHANGED
@@ -201,6 +201,44 @@ class WebhookNotificationTest extends Setup
201
  );
202
  }
203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  public function testBuildsASampleNotificationForASubscriptionChargedSuccessfullyWebhook()
205
  {
206
  $sampleNotification = Braintree\WebhookTesting::sampleNotification(
@@ -488,6 +526,51 @@ class WebhookNotificationTest extends Setup
488
  $this->assertEquals("abc123", $webhookNotification->partnerMerchant->partnerMerchantId);
489
  }
490
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
  public function testBuildsASampleNotificationForACheckWebhook()
492
  {
493
  $sampleNotification = Braintree\WebhookTesting::sampleNotification(
201
  );
202
  }
203
 
204
+ public function testAllowsParsingUsingGateway()
205
+ {
206
+ Braintree\Configuration::reset();
207
+ $sampleNotification = Braintree\WebhookTesting::sampleNotification(
208
+ Braintree\WebhookNotification::CHECK,
209
+ "my_id"
210
+ );
211
+
212
+ $gateway = new Braintree\Gateway([
213
+ 'privateKey' => 'integration_private_key',
214
+ 'publicKey' => 'integration_public_key',
215
+ 'merchantId' => 'integration_merchant_id',
216
+ 'environment' => 'development'
217
+ ]);
218
+
219
+ $webhookNotification = $gateway->webhookNotification()->parse(
220
+ $sampleNotification['bt_signature'],
221
+ $sampleNotification['bt_payload']
222
+ );
223
+
224
+ $this->assertEquals(Braintree\WebhookNotification::CHECK, $webhookNotification->kind);
225
+ }
226
+
227
+ public function testAllowsParsingUsingStaticMethods()
228
+ {
229
+ $sampleNotification = Braintree\WebhookTesting::sampleNotification(
230
+ Braintree\WebhookNotification::CHECK,
231
+ "my_id"
232
+ );
233
+
234
+ $webhookNotification = Braintree\WebhookNotification::parse(
235
+ $sampleNotification['bt_signature'],
236
+ $sampleNotification['bt_payload']
237
+ );
238
+
239
+ $this->assertEquals(Braintree\WebhookNotification::CHECK, $webhookNotification->kind);
240
+ }
241
+
242
  public function testBuildsASampleNotificationForASubscriptionChargedSuccessfullyWebhook()
243
  {
244
  $sampleNotification = Braintree\WebhookTesting::sampleNotification(
526
  $this->assertEquals("abc123", $webhookNotification->partnerMerchant->partnerMerchantId);
527
  }
528
 
529
+ public function testBuildsASampleNotificationForConnectedMerchantStatusTransitionedWebhook()
530
+ {
531
+ Braintree\Configuration::reset();
532
+
533
+ $sampleNotification = Braintree\WebhookTesting::sampleNotification(
534
+ Braintree\WebhookNotification::CONNECTED_MERCHANT_STATUS_TRANSITIONED,
535
+ "my_id"
536
+ );
537
+
538
+ $gateway = new Braintree\Gateway([
539
+ 'privateKey' => 'integration_private_key',
540
+ 'publicKey' => 'integration_public_key',
541
+ 'merchantId' => 'integration_merchant_id',
542
+ 'environment' => 'development'
543
+ ]);
544
+
545
+ $webhookNotification = $gateway->webhookNotification()->parse(
546
+ $sampleNotification['bt_signature'],
547
+ $sampleNotification['bt_payload']
548
+ );
549
+
550
+ $this->assertEquals(Braintree\WebhookNotification::CONNECTED_MERCHANT_STATUS_TRANSITIONED, $webhookNotification->kind);
551
+ $this->assertEquals("my_id", $webhookNotification->connectedMerchantStatusTransitioned->merchantPublicId);
552
+ $this->assertEquals("new_status", $webhookNotification->connectedMerchantStatusTransitioned->status);
553
+ $this->assertEquals("oauth_application_client_id", $webhookNotification->connectedMerchantStatusTransitioned->oauthApplicationClientId);
554
+ }
555
+
556
+ public function testBuildsASampleNotificationForConnectedMerchantPayPalStatusChangedWebhook()
557
+ {
558
+ $sampleNotification = Braintree\WebhookTesting::sampleNotification(
559
+ Braintree\WebhookNotification::CONNECTED_MERCHANT_PAYPAL_STATUS_CHANGED,
560
+ "my_id"
561
+ );
562
+
563
+ $webhookNotification = Braintree\WebhookNotification::parse(
564
+ $sampleNotification['bt_signature'],
565
+ $sampleNotification['bt_payload']
566
+ );
567
+
568
+ $this->assertEquals(Braintree\WebhookNotification::CONNECTED_MERCHANT_PAYPAL_STATUS_CHANGED, $webhookNotification->kind);
569
+ $this->assertEquals("my_id", $webhookNotification->connectedMerchantPayPalStatusChanged->merchantPublicId);
570
+ $this->assertEquals("link", $webhookNotification->connectedMerchantPayPalStatusChanged->action);
571
+ $this->assertEquals("oauth_application_client_id", $webhookNotification->connectedMerchantPayPalStatusChanged->oauthApplicationClientId);
572
+ }
573
+
574
  public function testBuildsASampleNotificationForACheckWebhook()
575
  {
576
  $sampleNotification = Braintree\WebhookTesting::sampleNotification(
lib/Gene/Braintree/composer/ClassLoader.php CHANGED
@@ -55,6 +55,7 @@ class ClassLoader
55
  private $classMap = array();
56
  private $classMapAuthoritative = false;
57
  private $missingClasses = array();
 
58
 
59
  public function getPrefixes()
60
  {
@@ -271,6 +272,26 @@ class ClassLoader
271
  return $this->classMapAuthoritative;
272
  }
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  /**
275
  * Registers this instance as an autoloader.
276
  *
@@ -313,11 +334,6 @@ class ClassLoader
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];
@@ -325,6 +341,12 @@ class ClassLoader
325
  if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
326
  return false;
327
  }
 
 
 
 
 
 
328
 
329
  $file = $this->findFileWithExtension($class, '.php');
330
 
@@ -333,6 +355,10 @@ class ClassLoader
333
  $file = $this->findFileWithExtension($class, '.hh');
334
  }
335
 
 
 
 
 
336
  if (false === $file) {
337
  // Remember that this class does not exist.
338
  $this->missingClasses[$class] = true;
@@ -348,9 +374,13 @@ class ClassLoader
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
  }
55
  private $classMap = array();
56
  private $classMapAuthoritative = false;
57
  private $missingClasses = array();
58
+ private $apcuPrefix;
59
 
60
  public function getPrefixes()
61
  {
272
  return $this->classMapAuthoritative;
273
  }
274
 
275
+ /**
276
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
277
+ *
278
+ * @param string|null $apcuPrefix
279
+ */
280
+ public function setApcuPrefix($apcuPrefix)
281
+ {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
283
+ }
284
+
285
+ /**
286
+ * The APCu prefix in use, or null if APCu caching is not enabled.
287
+ *
288
+ * @return string|null
289
+ */
290
+ public function getApcuPrefix()
291
+ {
292
+ return $this->apcuPrefix;
293
+ }
294
+
295
  /**
296
  * Registers this instance as an autoloader.
297
  *
334
  */
335
  public function findFile($class)
336
  {
 
 
 
 
 
337
  // class map lookup
338
  if (isset($this->classMap[$class])) {
339
  return $this->classMap[$class];
341
  if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
342
  return false;
343
  }
344
+ if (null !== $this->apcuPrefix) {
345
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
346
+ if ($hit) {
347
+ return $file;
348
+ }
349
+ }
350
 
351
  $file = $this->findFileWithExtension($class, '.php');
352
 
355
  $file = $this->findFileWithExtension($class, '.hh');
356
  }
357
 
358
+ if (null !== $this->apcuPrefix) {
359
+ apcu_add($this->apcuPrefix.$class, $file);
360
+ }
361
+
362
  if (false === $file) {
363
  // Remember that this class does not exist.
364
  $this->missingClasses[$class] = true;
374
 
375
  $first = $class[0];
376
  if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath.'\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
383
+ $length = $this->prefixLengthsPsr4[$first][$search];
384
  if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
385
  return $file;
386
  }
lib/Gene/Braintree/composer/LICENSE CHANGED
@@ -1,5 +1,5 @@
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
1
 
2
+ Copyright (c) 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
lib/Gene/Braintree/composer/autoload_real.php CHANGED
@@ -23,7 +23,7 @@ class ComposerAutoloaderInit7455c3ad034c8ce201482929f9f6ebca
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
  spl_autoload_unregister(array('ComposerAutoloaderInit7455c3ad034c8ce201482929f9f6ebca', 'loadClassLoader'));
25
 
26
- $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
  spl_autoload_unregister(array('ComposerAutoloaderInit7455c3ad034c8ce201482929f9f6ebca', 'loadClassLoader'));
25
 
26
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
lib/Gene/Braintree/composer/installed.json CHANGED
@@ -1,17 +1,17 @@
1
  [
2
  {
3
  "name": "braintree/braintree_php",
4
- "version": "3.21.1",
5
- "version_normalized": "3.21.1.0",
6
  "source": {
7
  "type": "git",
8
  "url": "https://github.com/braintree/braintree_php.git",
9
- "reference": "fcfabf9170925cdac0ff97b72dc9e7ab44c88263"
10
  },
11
  "dist": {
12
  "type": "zip",
13
- "url": "https://api.github.com/repos/braintree/braintree_php/zipball/fcfabf9170925cdac0ff97b72dc9e7ab44c88263",
14
- "reference": "fcfabf9170925cdac0ff97b72dc9e7ab44c88263",
15
  "shasum": ""
16
  },
17
  "require": {
@@ -25,7 +25,7 @@
25
  "require-dev": {
26
  "phpunit/phpunit": "3.7.*"
27
  },
28
- "time": "2017-01-17 19:40:39",
29
  "type": "library",
30
  "installation-source": "dist",
31
  "autoload": {
1
  [
2
  {
3
  "name": "braintree/braintree_php",
4
+ "version": "3.23.0",
5
+ "version_normalized": "3.23.0.0",
6
  "source": {
7
  "type": "git",
8
  "url": "https://github.com/braintree/braintree_php.git",
9
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6"
10
  },
11
  "dist": {
12
  "type": "zip",
13
+ "url": "https://api.github.com/repos/braintree/braintree_php/zipball/0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
14
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
15
  "shasum": ""
16
  },
17
  "require": {
25
  "require-dev": {
26
  "phpunit/phpunit": "3.7.*"
27
  },
28
+ "time": "2017-04-13T20:06:18+00:00",
29
  "type": "library",
30
  "installation-source": "dist",
31
  "autoload": {
lib/Gene/composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "require" : {
3
- "braintree/braintree_php" : "3.21.1"
4
  },
5
  "config": {
6
  "vendor-dir": "Braintree"
1
  {
2
  "require" : {
3
+ "braintree/braintree_php" : "3.23.0"
4
  },
5
  "config": {
6
  "vendor-dir": "Braintree"
lib/Gene/composer.lock CHANGED
@@ -4,21 +4,20 @@
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": "4e1b9ba54380bd961271bc0a7e42477c",
8
- "content-hash": "e674f875f4c7073cbe328db2587ba92d",
9
  "packages": [
10
  {
11
  "name": "braintree/braintree_php",
12
- "version": "3.21.1",
13
  "source": {
14
  "type": "git",
15
  "url": "https://github.com/braintree/braintree_php.git",
16
- "reference": "fcfabf9170925cdac0ff97b72dc9e7ab44c88263"
17
  },
18
  "dist": {
19
  "type": "zip",
20
- "url": "https://api.github.com/repos/braintree/braintree_php/zipball/fcfabf9170925cdac0ff97b72dc9e7ab44c88263",
21
- "reference": "fcfabf9170925cdac0ff97b72dc9e7ab44c88263",
22
  "shasum": ""
23
  },
24
  "require": {
@@ -52,7 +51,7 @@
52
  }
53
  ],
54
  "description": "Braintree PHP Client Library",
55
- "time": "2017-01-17 19:40:39"
56
  }
57
  ],
58
  "packages-dev": [],
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
+ "content-hash": "793e3c60c311683353e4e219d9f2d014",
 
8
  "packages": [
9
  {
10
  "name": "braintree/braintree_php",
11
+ "version": "3.23.0",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/braintree/braintree_php.git",
15
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/braintree/braintree_php/zipball/0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
20
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
21
  "shasum": ""
22
  },
23
  "require": {
51
  }
52
  ],
53
  "description": "Braintree PHP Client Library",
54
+ "time": "2017-04-13T20:06:18+00:00"
55
  }
56
  ],
57
  "packages-dev": [],
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Gene_Braintree</name>
4
- <version>2.2.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/mit-license.php">MIT License</license>
7
  <channel>community</channel>
@@ -36,9 +36,9 @@
36
  &lt;/ul&gt;</description>
37
  <notes>Connect your Magento store to Braintree to accept Credit Cards &amp;amp; PayPal using V.Zero SDK</notes>
38
  <authors><author><name>Dave Macaulay</name><user>dave</user><email>braintreesupport@gene.co.uk</email></author><author><name>Aidan Threadgold</name><user>aidan</user><email>braintreesupport@gene.co.uk</email></author></authors>
39
- <date>2017-02-28</date>
40
- <time>15:04:32</time>
41
- <contents><target name="magecommunity"><dir name="Gene"><dir name="Braintree"><dir name="Block"><dir name="Adminhtml"><dir name="Report"><dir name="Transactions"><file name="Grid.php" hash="e2024506f6c46c664a42d66cf436e330"/><file name="Search.php" hash="1d9c9d0776985ecf7c52c7fbf450a0ee"/></dir><file name="Transactions.php" hash="c9e69c06c0913c4c107ecd5f9779accc"/></dir><dir name="System"><dir name="Config"><dir name="Braintree"><file name="Config.php" hash="26e6ea67ef9c29f9a00b9bd2c8f47495"/><file name="Currency.php" hash="b8572fc0ea2adcf12413a792bec153fb"/><dir name="Kount"><file name="Ens.php" hash="4294005eb64b6611bed5e221c49c5675"/></dir><file name="Migration.php" hash="1af41286649103666832f945b6240d0c"/><file name="Moduleversion.php" hash="37bcc567e00daaf57495e6d5e2498c88"/><file name="Version.php" hash="48ae70a66162f3ec9de1e7eecba1ce5b"/></dir><file name="Migration.php" hash="82116f7906f494a0ca394383bb1e9d1d"/></dir></dir></dir><file name="Assets.php" hash="38e39c4819d5a3738677006a36ed4f47"/><dir name="Cart"><file name="Totals.php" hash="417cc77edc3d0aac2b5cc955c1299526"/></dir><dir name="Creditcard"><file name="Info.php" hash="99930c1b567b6dd5ded01c5b7fa8b19b"/><file name="Saved.php" hash="a16afbd8f6a2f148d6f1152504e80ce4"/><file name="Threedsecure.php" hash="2ee86a86bd6e31620dfaf2597107587f"/></dir><file name="Creditcard.php" hash="f69f4370e3e0ec364b8f1ae36cbbfbe1"/><dir name="Express"><file name="Abstract.php" hash="6a4523be696942e3350e076cefd2e39d"/><file name="Button.php" hash="8cbc68b059233e362fd03e7b42d0ed24"/><file name="Checkout.php" hash="0e1d05e9b0104a5d8a8c7316b63c9a0e"/><file name="Setup.php" hash="b0906d4959f65b49a21cbf2361099114"/></dir><file name="Info.php" hash="339837c7b720cee7867eb2482f2afbf1"/><file name="Js.php" hash="b8f300020d64746c39a2370471ab3b04"/><dir name="Paypal"><file name="Info.php" hash="56f381c3831a4f5d5cba6fbc22e22403"/><file name="Saved.php" hash="34322614bce7960eb137f3c1064d82a9"/></dir><file name="Paypal.php" hash="2d98fafead1ff436d29f894c510490a6"/><dir name="Saved"><file name="Edit.php" hash="8435869f3203552ee94686dd7a31fc3c"/></dir><file name="Saved.php" hash="16b94a918a769c5ee40e04e11cf5e5ce"/></dir><dir name="Helper"><file name="Data.php" hash="2a5f12fa2563e1ad95ffb619280323f1"/></dir><dir name="Model"><file name="Debug.php" hash="def0bb8a4a81ab812b1eacb45cc6dfeb"/><dir name="Entity"><file name="Setup.php" hash="635cecee786603580f3a181d806a2a95"/></dir><dir name="Express"><file name="Assets.php" hash="685ce30f45192866e75cca1e3482c0e1"/></dir><dir name="Kount"><file name="Ens.php" hash="7e7ce829f67b46da8bc02017e1143a8e"/><file name="Rest.php" hash="d84d024815a368606862c4a9e09e4ead"/></dir><file name="Migration.php" hash="f101140c4cb2a44413524b7556b7b187"/><file name="Observer.php" hash="d5738b4d66e66c70efac4afb0f5211cc"/><dir name="Paymentmethod"><file name="Abstract.php" hash="63a17ac17be14c7f9e251e458a09c5e8"/><file name="Creditcard.php" hash="0a6fcabeaea4618c29fc500e8a430a43"/><dir name="Legacy"><file name="Creditcard.php" hash="f6562520c6e6c6293432d5a6e8a52fcf"/><file name="Paypal.php" hash="523f226b7cb22d63e64f7c3a35282d61"/></dir><file name="Paypal.php" hash="f1bd0856b13add50e5a49565890194db"/></dir><file name="Saved.php" hash="92218b46f9268236d43181191bbc7e5f"/><dir name="Source"><file name="Cctype.php" hash="39e9b599a38be7905703a73112df3477"/><dir name="Creditcard"><file name="CaptureAction.php" hash="0f4bb6fac73483d905ec9aaba9fdd78d"/><file name="FormIntegration.php" hash="3476e9c690b462659578fc312cd197c2"/><file name="PaymentAction.php" hash="26af4610be51bc5304643bd7e1beca86"/></dir><file name="Environment.php" hash="ba8e544c8453ac9bc63378069adc0a1f"/><dir name="Paypal"><file name="CaptureAction.php" hash="e943b7f4b2313d5233340caeee3dd82c"/><file name="Locale.php" hash="c92adaba54645a08f46ca79065df6b30"/><file name="PaymentAction.php" hash="ab430eaf7ced39e9d6fd80ad0a7f6b3c"/><file name="Paymenttype.php" hash="03801e13c7e107df9b7d92b6a783bd08"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Currency.php" hash="800b0c7446500a822f407180edd554e5"/></dir><dir name="Source"><dir name="Payment"><file name="Liabilityaction.php" hash="14e040429a02891062da8c8f2672c7da"/><file name="Threedsecurecountries.php" hash="c376fec93cd7b3dce37866d523f67291"/></dir></dir></dir></dir><dir name="Wrapper"><file name="Braintree.php" hash="8ff7d0f1a48f0da3ba3c09c467bd40ff"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Braintree"><file name="MigrationController.php" hash="d77efeca5e316e60ffc983090792ca22"/></dir><file name="BraintreeController.php" hash="025316f7cdd56399e73d70889c64e00b"/></dir><file name="CheckoutController.php" hash="cca953164d0f8d350ed4f0dc9532666b"/><file name="ExpressController.php" hash="4bc513ebd1d585b7e3c80bc543fb42de"/><dir name="Kount"><file name="EnsController.php" hash="0c4809d0a06f8fd760f517ca3d9a81e8"/></dir><file name="SavedController.php" hash="563069cf87a78ec2340fe0f006b40b55"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="18d4da67e7fc65ffdd52ce189b9add3f"/><file name="jstranslator.xml" hash="48c491259929e52f281b6c57fd57cdb2"/><file name="system.xml" hash="6e1b3e2107b4af26dd84f87cb723e300"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="503f428384f687d3f55a19ea57450212"/><file name="upgrade-1.0.5.4-2.0.0.php" hash="62d37c35ba39a77ea14cad842f143393"/><file name="upgrade-2.0.0-2.0.1.php" hash="a08927707bb43a5c22b3b6ce3dd7a3c7"/><file name="upgrade-2.0.4-2.1.0.php" hash="e1b31c2459ea0aaebb679e456bab3ec1"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="efc70be92d3a9628b39ebf164a73e392"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><file name="assets.phtml" hash="c26e31c4b8b97b006c4564b9d01c3132"/><dir name="creditcard"><file name="hostedfields.phtml" hash="d46038a8f81ff6f02d1651f030c8f56c"/><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="saved.phtml" hash="579ec8ca726de3b5bea8600663d1e61f"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><dir name="customer"><file name="edit.phtml" hash="ed8a9533f07fbfa36ec78623afd1a04d"/><file name="methods.phtml" hash="794ad8cb20314d1657a746b365c82540"/><file name="saved.phtml" hash="0457b0fa38f9db788133e54f359baa63"/></dir><dir name="express"><file name="button.phtml" hash="ef1c839a8f1a190610fcfce46bd78efd"/><file name="cart.phtml" hash="f87048b38789330e82dfd372d6c34d85"/><file name="catalog.phtml" hash="09a4b2a4a9f7726e619ed88e1603d4f5"/><file name="error.phtml" hash="0ec2ea2f9b909d9f0543e5df83eea055"/><file name="shipping_details.phtml" hash="0bb6ceafaac0ba522278df310d6136e2"/></dir><dir name="js"><file name="aheadworks.phtml" hash="e73f82ad7c97d8144b23f7d8ca1bafce"/><file name="amasty.phtml" hash="eab081dc7bdde7f9b35aee5c1317dc57"/><file name="awesomecheckout.phtml" hash="2b8d75d9d4da9034befcbca17af94f14"/><file name="default.phtml" hash="a915ec45ae6ae4c9d008bfafb9dca4b7"/><file name="fancycheckout.phtml" hash="e5d0c97d81eba20722be50dd0e043d00"/><file name="firecheckout.phtml" hash="ffa4875e7f28f8a085324af39b56deb7"/><file name="fme.phtml" hash="ba086c547a51ddfa04d6cb2a12dcaedd"/><file name="idev.phtml" hash="22e15682c66a3a744c7ed08bfe761e54"/><file name="iwd.phtml" hash="64f7d0871cc44ce8e27c95917a842abd"/><file name="magestore.phtml" hash="6bcfd8265785666caf6d8950b5de98b7"/><file name="multishipping.phtml" hash="ac85df744448f72eb5344a893473163b"/><file name="oye.phtml" hash="301d6e3accf1194af4e4e59d3b20d980"/><file name="setup.phtml" hash="02af79516d1e6471b522c57329ecadbd"/><file name="unicode.phtml" hash="3215252d38085705addff6ba1b5c70b9"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/><file name="saved.phtml" hash="3dd56f96bcdd14be594d355ae8fff329"/></dir><file name="paypal.phtml" hash="d12c20e5fb76f31270a5d47061e42715"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="198b1716337695e9cbe384dd56dc7c9a"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><file name="assets.phtml" hash="c26e31c4b8b97b006c4564b9d01c3132"/><dir name="creditcard"><file name="hostedfields.phtml" hash="bae55f7d398540acdf2a892d01a6791f"/><file name="info.phtml" hash="958d514582e3de1f91f5e0f7a7169b47"/><file name="saved.phtml" hash="ca27adb601aebf97cd25a892082a8663"/></dir><file name="js.phtml" hash="9ecf15c0578bb46c83750aad88995365"/><dir name="paypal"><file name="info.phtml" hash="0485ea82dc9cc8ebea092b378672f1cd"/><file name="saved.phtml" hash="779ca8e907d7d463eafce58dfaf94f0c"/></dir><file name="paypal.phtml" hash="f81578f64c8a30560299bd993d8e996d"/><dir name="system"><dir name="config"><file name="migration.phtml" hash="8ef2a5e5561d7909d065c987ded5e592"/></dir></dir><dir name="transactions"><file name="index.phtml" hash="1791b6393f319616dd79c0b46e391847"/><file name="search.phtml" hash="1682ce6200681681f0ce3c848e2e6694"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Gene_Braintree.xml" hash="8c0ffda8566dca2f0b98a999921e3e55"/></dir></target><target name="mageweb"><dir name="js"><dir name="gene"><dir name="braintree"><dir name="2.2.0"><dir name="express"><file name="abstract-min.js" hash="f070c9dd599ee1e71012860686c61b5f"/><file name="paypal-min.js" hash="f06da879536b4bb41de6c51fc2e35d8b"/></dir><file name="vzero-integration-min.js" hash="56a6ce991dc61bd019167e0ac110e96f"/><file name="vzero-min.js" hash="d5ae002b2bed0dd9a4f0e6ce2af66c76"/><file name="vzero-paypal-min.js" hash="9e9ad3a381ea1dc008c717c809e5b738"/></dir><file name="config.codekit" hash="f5428eee0759594efaede2f889c99e49"/><dir name="express"><file name="abstract-min.js" hash="f070c9dd599ee1e71012860686c61b5f"/></dir><dir name="source"><dir name="express"><file name="abstract.js" hash="06efa5d85c72677e0c8c463153852d8f"/><file name="paypal.js" hash="839155e7b83c5415d5ef685590382065"/></dir><file name="vzero-integration.js" hash="a576f868a568befc6efec40d735f6312"/><file name="vzero-paypal.js" hash="adf539ed24b76c6cda6c21b9486621f2"/><file name="vzero.js" hash="19f346645d4c2af3c78ba8796e258760"/></dir><file name=".DS_Store" hash="6aaa72fe80cd46a3dfcd890682fbdca4"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><file name="paypal-loading.gif" hash="078a2daf55245b227c09a7bed86750c6"/><file name="paypal.png" hash="40d5f74305e565bd14aef19bcf696541"/></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="loader-white.gif" hash="1fc0e911558e8dfe77cfdfafa0d38f88"/></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><dir name="account"><file name="account.less" hash="ddf6bf208f290316300ab20682f34473"/></dir><file name="account.css" hash="73bb46f85320b2f2b4de9beb6c0e0bd6"/><file name="aheadworks.css" hash="dad2e3821b6453c45bedd9505b603beb"/><file name="amasty.css" hash="668d36c51696f2070c38c7d04e8639b4"/><file name="awesomecheckout.css" hash="91a3d2833ef956df6c502b67e9986f23"/><file name="config.codekit" hash="506bfad608130ba1ce130508695d54d9"/><dir name="core"><file name="_general.less" hash="5848708373d8ed5eda5e5b23c3e4e05c"/><file name="_hostedfields.less" hash="d613b23ee1731345334aa423bf14c6db"/><file name="_paypal.less" hash="df0239894dfef5c905bea44938ee4658"/><file name="_saved.less" hash="66ec8d894e336f9934a1e54972c4b220"/></dir><file name="default.css" hash="8e0c5ce4cfc8592b580c8d9c27ac0f86"/><file name="express.css" hash="1c9eb3b9abb7e798b65701b2815d2e07"/><file name="express.less" hash="29acfc18e38f300972f27cfd44ca41c2"/><file name="fancycheckout.css" hash="523b1606fcd5a893bc5a06de83085137"/><file name="firecheckout.css" hash="c338590a06f2ff2b4bc3861cefb76559"/><file name="fme.css" hash="b9b5d0153c42b6f3335f1edd007acc56"/><file name="idev.css" hash="2f7011c36839ddda6dafa97a3253c0e7"/><dir name="integrations"><file name="aheadworks.less" hash="09b0304383e198885f030119c15641f7"/><file name="amasty.less" hash="4cdf236e1d44112205750cefa11448b4"/><file name="awesomecheckout.less" hash="e774da637a5c6bbdb2e5decc998afae1"/><file name="default.less" hash="d366d4560ed1ce3e9e120309e56bec2f"/><file name="fancycheckout.less" hash="18281c460bb32da164964abe585b092b"/><file name="firecheckout.less" hash="459704b8b6efca52fcee7c335b3ad625"/><file name="fme.less" hash="580ed66608560fcd1195246c22e3559c"/><file name="idev.less" hash="47485cc963e16d12e673c06cd9efe4b1"/><file name="iwd.less" hash="5081477c7946e0f5cf8cc4198895ca11"/><file name="magestore.less" hash="0af5cd105be3995dc2044d33f990bbb5"/><file name="oye.less" hash="06a0f79190b16dfbce3aec6d14f07461"/><file name="unicode.less" hash="1416abe9a38965d9aead022b238f7d4f"/></dir><file name="iwd.css" hash="4dea034fd87559f406a21760f0205101"/><file name="magestore.css" hash="752dfb740303b5e1e2f1d2ab0aa5bdb4"/><file name="oye.css" hash="741399c67a2a822af7f17e428c6cba82"/><file name="unicode.css" hash="d048a04807172d1fe974a9e938a98fb6"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="gene"><dir name="braintree"><file name="adminhtml.css" hash="affb40183f3620e4ee157daf613dc2a9"/><file name="adminhtml.less" hash="b3a4d504055c85d872c5b9544d192840"/><file name="config.codekit" hash="00c3aa866faad2384b4042057d6eaeec"/><file name="migration.css" hash="158e143a99028313d6ad6f6612112dd4"/><file name="migration.less" hash="bbf09530cf530f78f4a7c3229194c5ff"/></dir></dir></dir><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><dir name="migration"><file name="braintree.png" hash="396d721824a86b169ce0055090ce9766"/><file name="gene-logo.png" hash="16efb1b148acc59c46c84a21d726b6e9"/><file name="loader.gif" hash="66b9100930b8e58d46acf2e13d41f7ea"/></dir></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Gene"><dir name="Braintree"><file name="autoload.php" hash="0824e423dd4320ea4c10ec031e717a3b"/><dir name="braintree"><dir name="braintree_php"><file name="ACKNOWLEDGEMENTS.md" hash="6644e244fa241d0a8ad6ffe93fb3d2c9"/><file name="CHANGELOG.md" hash="94915a29d90ed7208fe0635924b332d1"/><file name="LICENSE" hash="5ba90c75203e338c9479ed8237839feb"/><file name="README.md" hash="314b0b80c311971792186c3cddaab946"/><file name="Rakefile" hash="3ca648a6b2c78b0546bf36323998036e"/><file name="ci.sh" hash="8abad344d97531d13613833d1d081954"/><file name="composer.json" hash="7f925434c3334ed83d7f73f15d937985"/><dir name="lib"><dir name="Braintree"><file name="AccountUpdaterDailyReport.php" hash="e1bb254f0dc2482190b2a3cf57ca8ecc"/><file name="AchMandate.php" hash="07f92282743ccd19eb4947fca1e33dcb"/><file name="AddOn.php" hash="82925560fd6d09575150d03851132999"/><file name="AddOnGateway.php" hash="71f1cf435ad4a0f846cbdb61f54582b6"/><file name="Address.php" hash="38b64d0235e498f761d871446670c9d3"/><file name="AddressGateway.php" hash="1b8889c596f9a10ec351f2cc2a59fabe"/><file name="AmexExpressCheckoutCard.php" hash="a4b48e18f08686aa5aaeec4849ff54a6"/><file name="AndroidPayCard.php" hash="5b9412761d364c39313925a0b1aa5308"/><file name="ApplePayCard.php" hash="4879b7885a3a3f549a3cc661b1f3a145"/><file name="Base.php" hash="33edbe8c326501ef64e6701e25ce8eb4"/><file name="ClientToken.php" hash="81e2f643f912c8943560008d2fa7869d"/><file name="ClientTokenGateway.php" hash="46c9885e3c3f40cc60d98dd94ccfa849"/><file name="CoinbaseAccount.php" hash="00d363870a777a39b89924092b8aba7f"/><file name="Collection.php" hash="18bed88fe994bab06d91c4f11f9e5e62"/><file name="Configuration.php" hash="c72a69f0cb652551f5e1ee4ecdfac6ab"/><file name="CredentialsParser.php" hash="76aea512fec3932cf3311ba96e855728"/><file name="CreditCard.php" hash="7510387703f315770542ae280ed908b9"/><file name="CreditCardGateway.php" hash="3afc61390565f93f227797c180623340"/><file name="CreditCardVerification.php" hash="b06ad08b7120572732498d2035a25952"/><file name="CreditCardVerificationGateway.php" hash="38a299c6e9a500fbf7e962e39f34e4bf"/><file name="CreditCardVerificationSearch.php" hash="93e08c9a258af84003700013d497cd82"/><file name="Customer.php" hash="e47b289a690dca6bc4284e211173ac28"/><file name="CustomerGateway.php" hash="f43b44778f62e4d935bdcaecddf59dba"/><file name="CustomerSearch.php" hash="8e8d024b951a4baa458556d4281fe988"/><file name="Descriptor.php" hash="97dc19a001fb6845c0c0eb0ee396f9bf"/><file name="Digest.php" hash="3105cc8f66a176f636b8f5a1075638a0"/><file name="Disbursement.php" hash="851eb18f89594984838ce1c59f8e6d8c"/><file name="DisbursementDetails.php" hash="ebe67e4dfb543f2b81f2f6de6de4bdfa"/><file name="Discount.php" hash="ba59054dd8d42d600c6dfb5813267150"/><file name="DiscountGateway.php" hash="8c354a122a23e3ad2136905e1c9b1d95"/><dir name="Dispute"><file name="TransactionDetails.php" hash="b56e01778ab14aaef2a5a9f8bc85d695"/></dir><file name="Dispute.php" hash="b374f0814c6c237cba252093ad37ee82"/><file name="EqualityNode.php" hash="62715d694920f751dfa270ee6234eb43"/><dir name="Error"><file name="Codes.php" hash="7d725c6215b97a70f339487c733137d9"/><file name="ErrorCollection.php" hash="5bfc2fecced63c0acca329760619ff38"/><file name="Validation.php" hash="177a09214e3832293dd74a6cde911c48"/><file name="ValidationErrorCollection.php" hash="a7d24a31592d1e664245bbc7d0bca60a"/></dir><file name="EuropeBankAccount.php" hash="1652f5c0400e3704de4077a5b9e6e714"/><dir name="Exception"><file name="Authentication.php" hash="5db82263dddde988ddb228c840156bb9"/><file name="Authorization.php" hash="d76c984a4699f10844f58d2f8bcec5d6"/><file name="Configuration.php" hash="225dfca2a3fcb48620e971a03acc6213"/><file name="DownForMaintenance.php" hash="60ec727ae01bef4a7a9242d55be70d67"/><file name="ForgedQueryString.php" hash="b0a150c17296046e3777879256f5fcea"/><file name="InvalidChallenge.php" hash="d825f5fc7acf8dd0e92dc886e7351721"/><file name="InvalidSignature.php" hash="a627af00c19b01a92fe01d432e3296d9"/><file name="NotFound.php" hash="9f28a7c11a5388c85de2f050f5a2a68d"/><file name="SSLCaFileNotFound.php" hash="c4b9474a14791ca4bd40f94e55428ecb"/><file name="SSLCertificate.php" hash="96dcb90043e9ce3668ef68568b932d77"/><file name="ServerError.php" hash="a095932cac27c6ebf707b217efb3d2b1"/><file name="TestOperationPerformedInProduction.php" hash="156421e2ccb2ac69c051516b1d6a6707"/><file name="Timeout.php" hash="834026b48d9a2317bf9e487174158be4"/><file name="TooManyRequests.php" hash="0e6d904113c3d8a3a60136e1ea5db00f"/><file name="Unexpected.php" hash="f09fd761eb5909327d02f1fa2a2dd894"/><file name="UpgradeRequired.php" hash="6cd48333f93a0a96ddd58654e5f27f85"/><file name="ValidationsFailed.php" hash="b7b129ec4b3d72d27947e8b11b6ebca2"/></dir><file name="Exception.php" hash="29a1f3a94ed378d93879d5d64858fbaf"/><file name="FacilitatorDetails.php" hash="7a25557b06c663197d1aea39bd93e776"/><file name="Gateway.php" hash="116919442d2d4699d05ab272a3711485"/><file name="Http.php" hash="9f1a9b22adb939654afae9385f899070"/><file name="Instance.php" hash="64573829ba050b6d291d082b50382e46"/><file name="IsNode.php" hash="783c6ad65c6030a12ad52253cd5bc1a8"/><file name="KeyValueNode.php" hash="6668a312a6aaaddbdcfc940775ed5820"/><file name="Merchant.php" hash="b1f8444fc109708a43017d6cda9536a2"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="540f9e79b8df5da5267835dd01db45c1"/><file name="BusinessDetails.php" hash="ca8a0dc16bce3fff5831fd22652b2f6b"/><file name="FundingDetails.php" hash="9ba992a0dda1be9a0cf8bd8b53ea33be"/><file name="IndividualDetails.php" hash="4855a6aa64b35ecab7bada4e3e0fc0c3"/></dir><file name="MerchantAccount.php" hash="a4ba2e530164c06b8e50ef8ff10f76f2"/><file name="MerchantAccountGateway.php" hash="ad62343cbbdb3e0d9732edfb7255d26c"/><file name="MerchantGateway.php" hash="e9d0fc529b7a32f7080201991deb29d1"/><file name="Modification.php" hash="5df7d89d7365e9edf7235f09b9b7ced4"/><file name="MultipleValueNode.php" hash="2555632262d8b7d81a69739817e1887d"/><file name="MultipleValueOrTextNode.php" hash="9d4a49bc8051d47fd820da2ffef03936"/><file name="OAuthCredentials.php" hash="4a6991039aff0d1c9917c02f9548b4a3"/><file name="OAuthGateway.php" hash="b7c38d9a61fa4cfc749efcdb5dfcf7c9"/><file name="OAuthResult.php" hash="ea859d4da557c860e8f36793f66455e4"/><file name="PaginatedCollection.php" hash="e3994e548e10d19d616ace9d1685b629"/><file name="PaginatedResult.php" hash="821bdf0de25d98df7054af24c33b1ce4"/><file name="PartialMatchNode.php" hash="084258b5f9f39a493ca6b02e7019a101"/><file name="PartnerMerchant.php" hash="0659cebbbba2d128c263f6785ece7cbf"/><file name="PayPalAccount.php" hash="7a1654759201f54bb1a58d08362ddc28"/><file name="PayPalAccountGateway.php" hash="865826f46ce0af80404dea0c51632bd5"/><file name="PaymentInstrumentType.php" hash="6f252e25608ab343f0a0e763bcbaeff3"/><file name="PaymentMethod.php" hash="8c1997f1ad7b449a87f8b483e59640e6"/><file name="PaymentMethodGateway.php" hash="5e30db2abc14e2f290339d8a8da62149"/><file name="PaymentMethodNonce.php" hash="6ab72220362afa9ec1e9e1fe1da049b6"/><file name="PaymentMethodNonceGateway.php" hash="393c1736d0290d0b0e8d9732692c475c"/><file name="Plan.php" hash="fcf369071d74d273604fc63ea2548f2b"/><file name="PlanGateway.php" hash="8713f672e916f26460b06a156b511e32"/><file name="RangeNode.php" hash="a3f74af2c4811a68c9f31ca136cc1c82"/><file name="ResourceCollection.php" hash="d52323710fbe909cc96e0b09509c57d5"/><dir name="Result"><file name="CreditCardVerification.php" hash="80274f1df14aff2fc83153f899084146"/><file name="Error.php" hash="1a43f4387b95e960023899356dfa971e"/><file name="Successful.php" hash="a07de8d191e4c425ea139e585b662245"/></dir><file name="RiskData.php" hash="61de70d88d4b40168e54cea84d2afc70"/><file name="SettlementBatchSummary.php" hash="73a3b6b583b5a852b3d1437b2d62ec5f"/><file name="SettlementBatchSummaryGateway.php" hash="d66b1708f32d1bcc4d738bf39df649b7"/><file name="SignatureService.php" hash="566a5d18567a513f4a527ebf3c8cd410"/><dir name="Subscription"><file name="StatusDetails.php" hash="cfec6a5f756091d72642b2505c2cc523"/></dir><file name="Subscription.php" hash="12477b5b2174c2af515a241b1ca0c494"/><file name="SubscriptionGateway.php" hash="43d59eb14e8426de39b86af042d48e11"/><file name="SubscriptionSearch.php" hash="e97a9a2a7187058082afab7701f37b1a"/><dir name="Test"><file name="CreditCardNumbers.php" hash="7265dd0e237fdc2ed6549218852734ee"/><file name="MerchantAccount.php" hash="072dd9f4c532d59b4d29cf1573046969"/><file name="Nonces.php" hash="ed136a194d09fd372b904b67c22ce14d"/><file name="Transaction.php" hash="37136a4a49213b808e05e6072ea47745"/><file name="TransactionAmounts.php" hash="d3ee44240274fcc671cb40f24c7f6887"/><file name="VenmoSdk.php" hash="33de614daaf4dad09f1165d74d08cdb0"/></dir><file name="TestingGateway.php" hash="3ec7fe4a5a11f2db91b5ecaa6ab6d1c1"/><file name="TextNode.php" hash="da1cc61af2896b945552318d67bd2a46"/><file name="ThreeDSecureInfo.php" hash="8cbb2a63c256368123cb01f2e2a2a194"/><dir name="Transaction"><file name="AddressDetails.php" hash="080b64d3fcf6f61759b227e570de6faf"/><file name="AmexExpressCheckoutCardDetails.php" hash="c4cde5f34ebe934e7a712cb1a75c1170"/><file name="AndroidPayCardDetails.php" hash="708a09910991517ad4507d0f1a82f8c7"/><file name="ApplePayCardDetails.php" hash="26093a57a1f0525210f3295a5a6b834c"/><file name="CoinbaseDetails.php" hash="ebd00610e9cfe1b67e6f3ff518f142c8"/><file name="CreditCardDetails.php" hash="81f0a10e1b56af0b06d2fa858ee56287"/><file name="CustomerDetails.php" hash="76e163794fd2e32d70ece5a780a80ef6"/><file name="EuropeBankAccountDetails.php" hash="440f492270d7f50d2eeb7f3c93e48ffe"/><file name="PayPalDetails.php" hash="4e38ea53a13980378d44b8f512f92411"/><file name="StatusDetails.php" hash="2914ad7f3b8a8244694f95949660b99e"/><file name="SubscriptionDetails.php" hash="009ba167870d9d3558d9186401c970e6"/><file name="UsBankAccountDetails.php" hash="cfe4cb0223b694fd55ab237c1e0850c8"/><file name="VenmoAccountDetails.php" hash="097e98658fe058a4e82c50129dd6a72f"/></dir><file name="Transaction.php" hash="a98cf6120ea3ac199db9b7547eeece28"/><file name="TransactionGateway.php" hash="c00ca40272eb7fd48747805b304b516e"/><file name="TransactionSearch.php" hash="634b7a51905a41c1f037f186b53b540e"/><file name="TransparentRedirect.php" hash="63a525df15682ecf4511cdaf3154c954"/><file name="TransparentRedirectGateway.php" hash="9a56b5d98c562316e346bcedf0f04bfd"/><file name="UnknownPaymentMethod.php" hash="f3731d70766ae5ecab1017fa33d06b7f"/><file name="UsBankAccount.php" hash="c09e1b0bf897de4cfd425ae5419762dd"/><file name="UsBankAccountGateway.php" hash="4d0082aac6cfe4b04e9bf1adf976c02b"/><file name="Util.php" hash="bd31461e0b7a67d5686d325fe32c5350"/><file name="VenmoAccount.php" hash="fa0f15888eda08545321eb20178fe4ac"/><file name="Version.php" hash="aa9240e5d3a44afd012a25d150d8c7ca"/><file name="WebhookNotification.php" hash="bbe5859def86dbde4298e09470cccacc"/><file name="WebhookTesting.php" hash="4fa3fb7c1c4591a30cb073cbd4c2ec5a"/><dir name="Xml"><file name="Generator.php" hash="b7b28436de76fc7b5ca13e556963d28e"/><file name="Parser.php" hash="29fbccf32c05e9dcf07bb3a40ea119c9"/></dir><file name="Xml.php" hash="e60971869ae63c3f258eac082ff9a3bf"/></dir><file name="Braintree.php" hash="e6dbb615b697b7641d9b81b8811a9d52"/><file name="autoload.php" hash="700bd7dbe39f8d89d925ccbb33651898"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="d1155107b085a1ee04dd13a634b00c42"/></dir></dir><file name="phpunit.xml.dist" hash="80635d87e10eb5bf1a4ba767d168eba8"/><dir name="tests"><dir name="Braintree"><file name="CreditCardDefaults.php" hash="caceb16d3b2fc21f7dc2bf6244000485"/><dir name="CreditCardNumbers"><file name="CardTypeIndicators.php" hash="fca486e18deed295d0d9961b19e71c6e"/></dir><file name="OAuthTestHelper.php" hash="7678b026a2d19450150999999a0cddcc"/></dir><file name="Helper.php" hash="458d8183e29b07bde23b47a483ed70a2"/><file name="SanityTest.php" hash="e75fcbab2870381b960a0583fb9d3ce3"/><file name="Setup.php" hash="d21ea963b4103c6f082aff93a97d75b9"/><dir name="integration"><file name="AddOnsTest.php" hash="6caa89249c72d7746cb1de6ef1460079"/><file name="AddressTest.php" hash="b78f498609625e2d2f5eadf5c07dc303"/><file name="ClientTokenTest.php" hash="83d93f7812082bcbdf0099652b98b183"/><file name="CreditCardTest.php" hash="c2c5eb3bd53c701ce5a259da11b7743f"/><file name="CreditCardVerificationAdvancedSearchTest.php" hash="1b741a14706c14fe27b6383f37989ea8"/><file name="CreditCardVerificationTest.php" hash="7f29467a7f84a029fc4ccb36b52b5ced"/><file name="CustomerAdvancedSearchTest.php" hash="f1657f3ef6992d7ab2dfddb60e88f5ce"/><file name="CustomerTest.php" hash="1eeee472f6d3690f292033dc25f91385"/><file name="DisbursementTest.php" hash="26505b6c688c23f52617aff41d301020"/><file name="DiscountTest.php" hash="0fc13502d1323679af95ca7e0a5a2622"/><dir name="Error"><file name="ErrorCollectionTest.php" hash="f72638e7a4ce876ee83740f11986a3a8"/><file name="ValidationErrorCollectionTest.php" hash="3db5c126101fd5878d0862af5afb921a"/></dir><file name="EuropeBankAccountTest.php" hash="1fa1e38472ea992c558f20284d50fea3"/><file name="HttpClientApi.php" hash="a9789c276b44a7be39bf548edce2cf4e"/><file name="HttpTest.php" hash="7314e935b3a7c65224da0e531d3d68a7"/><file name="MerchantAccountTest.php" hash="e3d8386f473255bf7a1c9e29aa094620"/><file name="MerchantTest.php" hash="e8bca1018153fe1361155fb420fe90be"/><file name="MultipleValueNodeTest.php" hash="1b21f6431b0dc593f18d887ed88a30f3"/><file name="OAuthTest.php" hash="cf09acef408069c6131ede44f0004cd3"/><file name="PayPalAccountTest.php" hash="8bfdfdcb1e08687d25bf80260051d820"/><file name="PaymentMethodNonceTest.php" hash="38d982daa6ccd6d2a8d1ac63c50a24de"/><file name="PaymentMethodTest.php" hash="d39288ef3dfb6bff033a83dd42579eaf"/><file name="PlanTest.php" hash="bbc260c8a0cd36869f0de96c4639cb2a"/><dir name="Result"><file name="ErrorTest.php" hash="3ff0aedd05f5868c8e28bb7f2f98f8f8"/></dir><file name="SettlementBatchSummaryTest.php" hash="86e8847f6cdf4c6120b473e7bdafc196"/><file name="SubscriptionHelper.php" hash="0d717139be147a5d72f16cd4ff465d22"/><file name="SubscriptionSearchTest.php" hash="712536a2484872abf8b6b3003e67c0bd"/><file name="SubscriptionTest.php" hash="1e4ff49856af4942dc14c199764ee82c"/><file name="TestTransactionTest.php" hash="27cce6bf160d8777358332eb9d7a7eae"/><file name="TextNodeTest.php" hash="6f8afc0387144088127d65ce3e926cba"/><file name="TransactionAdvancedSearchTest.php" hash="430d532eec84d163a6b9e5d7170156f0"/><file name="TransactionTest.php" hash="0c630c8c5595195235dceeb3f0faa040"/><file name="TransparentRedirectTest.php" hash="632073911d63ec46fedc0007b8e1d96c"/><file name="UsBankAccountTest.php" hash="1993f0ead117306c880aa8201de33603"/></dir><dir name="unit"><file name="AddOnTest.php" hash="1e9ca24b1d1076d838868b46f3b8db31"/><file name="AddressTest.php" hash="971b65131de89d97627d5fce6d23948f"/><file name="BraintreeTest.php" hash="d5661eb2e0d23eec624cc039bc209baa"/><dir name="ClientApi"><file name="ClientTokenTest.php" hash="ecd06e8aa6238f1a2b4af69d0e8de798"/></dir><file name="ConfigurationTest.php" hash="58966c22e0020ad59cc021b3bbaee4b8"/><file name="CreditCardTest.php" hash="aff6920d4a64f82c25947a0aad622491"/><file name="CreditCardVerificationTest.php" hash="aadef2854162a79ec7f974a4511c74dc"/><file name="CustomerTest.php" hash="b34959a82a0a9ac2f917086135e30ec3"/><file name="DigestTest.php" hash="91a198a97d0469223d9cda1c032c82cf"/><file name="DisbursementDetailsTest.php" hash="5417ff00d8780050cd3468e891a46f7c"/><file name="DisbursementTest.php" hash="7df421883c72e00553827d5c0e7816d7"/><file name="DiscountTest.php" hash="cda7b5ba54e11c4b0ed852e146236d6d"/><file name="GatewayTest.php" hash="182a77395c8c791754f8f9fd70f1561a"/><file name="InstanceTest.php" hash="fc35293e35840a740e44da14929f13ce"/><file name="MerchantAccountTest.php" hash="2938575dc44d37d494519750e7699c0c"/><file name="MultipleValueNodeTest.php" hash="0821a1e0ea469210e4cd7ac2dcdd2f3a"/><file name="MultipleValueOrTextNodeTest.php" hash="cb82ba391dbd216a413da9777f50a4d7"/><file name="OAuthTest.php" hash="450ee30874c358112731fb39e0c7a898"/><file name="PayPalAccountTest.php" hash="5d5ed45062b3f4fddf38a95fda7fcec0"/><file name="PaymentMethodTest.php" hash="0e9f7c0a994001e1a0a3743104d5531c"/><file name="RangeNodeTest.php" hash="c1aef8c246c603736ed5a7000a150f4a"/><file name="ResourceCollectionTest.php" hash="5b22b79a4e50f486c2f3e9e268cf9d80"/><dir name="Result"><file name="ErrorTest.php" hash="bfa4fbcb181cd8a7fbc05c86f617899b"/><file name="SuccessfulTest.php" hash="a809212d472948c166915eb901f641d7"/></dir><file name="SanityTest.php" hash="80485b716aba99b6eba814c73466994b"/><file name="SubscriptionSearchTest.php" hash="60408ca6fa6249a0edabc6e0d5ffc637"/><file name="SubscriptionTest.php" hash="b53934d3cd0d20df7edac1d658e66f0a"/><file name="TextNodeTest.php" hash="5bce91e12b012a3d55f3478721d85060"/><file name="TransactionTest.php" hash="f92992f2c1adaecd54054e7a290f483c"/><file name="TransparentRedirectTest.php" hash="5a3c18b3b30ddaaedd82b146aaa0b2a1"/><file name="UnknownPaymentMethodTest.php" hash="99dba90eebaee849d207d8c8eaf1146c"/><file name="UsBankAccount.php" hash="d857b03b7cb6ce038a4ba78b6fa6088c"/><file name="UtilTest.php" hash="e7a45f618244339912f1e57687d28c29"/><file name="WebhookNotificationTest.php" hash="fdc7475d981ff891b1bcadf4c0d086e6"/><file name="Xml_GeneratorTest.php" hash="c83aeb1546ab2d4165d6ea970b66aed3"/><file name="Xml_ParserTest.php" hash="00bd1b07f1b34df846e70efc0788bcc3"/></dir></dir><file name=".gitignore" hash="bfbaaa10ed6adceb1ea6602d629c0273"/></dir></dir><dir name="composer"><file name="ClassLoader.php" hash="bf6c4758ae060fd8f3e3a88e6c24ac3c"/><file name="LICENSE" hash="9b01fc9e0129adc080344653fbcbbc0f"/><file name="autoload_classmap.php" hash="8645d3a4e3ad87e7cf4d88a46717aab4"/><file name="autoload_namespaces.php" hash="6bcb68a8ffccb365c563b6de56eb356f"/><file name="autoload_psr4.php" hash="b8019895be4802f81f71a93ef6245399"/><file name="autoload_real.php" hash="2a2b1f976d9f7f2ddc961fe21555455e"/><file name="autoload_static.php" hash="df2695436329076c2574a584a6935e29"/><file name="installed.json" hash="d65bf034ce31c590b95a82d726f70479"/></dir></dir><file name="composer.json" hash="4e1b9ba54380bd961271bc0a7e42477c"/><file name="composer.lock" hash="5f8cf9244d4d916641c6cc86f53ba17a"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="428b924149c6eea93a8a45101a67f125"/></dir></dir></target></contents>
42
  <compatible/>
43
  <dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><package><name/><channel>connect.magentocommerce.com/core</channel><min/><max/></package></required></dependencies>
44
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Gene_Braintree</name>
4
+ <version>2.2.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/mit-license.php">MIT License</license>
7
  <channel>community</channel>
36
  &lt;/ul&gt;</description>
37
  <notes>Connect your Magento store to Braintree to accept Credit Cards &amp;amp; PayPal using V.Zero SDK</notes>
38
  <authors><author><name>Dave Macaulay</name><user>dave</user><email>braintreesupport@gene.co.uk</email></author><author><name>Aidan Threadgold</name><user>aidan</user><email>braintreesupport@gene.co.uk</email></author></authors>
39
+ <date>2017-05-02</date>
40
+ <time>13:53:23</time>
41
+ <contents><target name="magecommunity"><dir name="Gene"><dir name="Braintree"><dir name="Block"><dir name="Adminhtml"><dir name="Report"><dir name="Transactions"><file name="Grid.php" hash="e2024506f6c46c664a42d66cf436e330"/><file name="Search.php" hash="1d9c9d0776985ecf7c52c7fbf450a0ee"/></dir><file name="Transactions.php" hash="c9e69c06c0913c4c107ecd5f9779accc"/><file name=".DS_Store" hash="eb667efb80a1e85ac74c7598be440b82"/></dir><dir name="System"><dir name="Config"><dir name="Braintree"><file name="Config.php" hash="26e6ea67ef9c29f9a00b9bd2c8f47495"/><file name="Currency.php" hash="b8572fc0ea2adcf12413a792bec153fb"/><dir name="Kount"><file name="Ens.php" hash="4294005eb64b6611bed5e221c49c5675"/></dir><file name="Migration.php" hash="1af41286649103666832f945b6240d0c"/><file name="Moduleversion.php" hash="37bcc567e00daaf57495e6d5e2498c88"/><file name="Version.php" hash="48ae70a66162f3ec9de1e7eecba1ce5b"/></dir><file name="Migration.php" hash="82116f7906f494a0ca394383bb1e9d1d"/></dir></dir></dir><file name="Assets.php" hash="ba63c2875bef8e7f342f7f35bad951f9"/><dir name="Cart"><file name="Totals.php" hash="417cc77edc3d0aac2b5cc955c1299526"/></dir><dir name="Creditcard"><file name="Info.php" hash="99930c1b567b6dd5ded01c5b7fa8b19b"/><file name="Saved.php" hash="a16afbd8f6a2f148d6f1152504e80ce4"/><file name="Threedsecure.php" hash="2ee86a86bd6e31620dfaf2597107587f"/></dir><file name="Creditcard.php" hash="f69f4370e3e0ec364b8f1ae36cbbfbe1"/><dir name="Express"><file name="Abstract.php" hash="6a4523be696942e3350e076cefd2e39d"/><file name="Button.php" hash="8cbc68b059233e362fd03e7b42d0ed24"/><file name="Checkout.php" hash="0e1d05e9b0104a5d8a8c7316b63c9a0e"/><file name="Setup.php" hash="b0906d4959f65b49a21cbf2361099114"/></dir><file name="Info.php" hash="339837c7b720cee7867eb2482f2afbf1"/><file name="Js.php" hash="b8f300020d64746c39a2370471ab3b04"/><dir name="Paypal"><file name="Info.php" hash="56f381c3831a4f5d5cba6fbc22e22403"/><file name="Saved.php" hash="34322614bce7960eb137f3c1064d82a9"/></dir><file name="Paypal.php" hash="2d98fafead1ff436d29f894c510490a6"/><dir name="Saved"><file name="Edit.php" hash="8435869f3203552ee94686dd7a31fc3c"/></dir><file name="Saved.php" hash="16b94a918a769c5ee40e04e11cf5e5ce"/></dir><dir name="Helper"><file name="Data.php" hash="2a5f12fa2563e1ad95ffb619280323f1"/></dir><dir name="Model"><file name="Debug.php" hash="def0bb8a4a81ab812b1eacb45cc6dfeb"/><dir name="Entity"><file name="Setup.php" hash="635cecee786603580f3a181d806a2a95"/></dir><dir name="Express"><file name="Assets.php" hash="685ce30f45192866e75cca1e3482c0e1"/></dir><dir name="Kount"><file name="Ens.php" hash="7e7ce829f67b46da8bc02017e1143a8e"/><file name="Rest.php" hash="d84d024815a368606862c4a9e09e4ead"/></dir><file name="Migration.php" hash="f101140c4cb2a44413524b7556b7b187"/><file name="Observer.php" hash="d5738b4d66e66c70efac4afb0f5211cc"/><dir name="Paymentmethod"><file name="Abstract.php" hash="63a17ac17be14c7f9e251e458a09c5e8"/><file name="Creditcard.php" hash="244bf87c9a22a9b072825d13e4229577"/><dir name="Legacy"><file name="Creditcard.php" hash="f6562520c6e6c6293432d5a6e8a52fcf"/><file name="Paypal.php" hash="523f226b7cb22d63e64f7c3a35282d61"/></dir><file name="Paypal.php" hash="f1bd0856b13add50e5a49565890194db"/></dir><file name="Saved.php" hash="92218b46f9268236d43181191bbc7e5f"/><dir name="Source"><file name="Cctype.php" hash="39e9b599a38be7905703a73112df3477"/><dir name="Creditcard"><file name="CaptureAction.php" hash="0f4bb6fac73483d905ec9aaba9fdd78d"/><file name="FormIntegration.php" hash="3476e9c690b462659578fc312cd197c2"/><file name="PaymentAction.php" hash="26af4610be51bc5304643bd7e1beca86"/></dir><file name="Environment.php" hash="ba8e544c8453ac9bc63378069adc0a1f"/><dir name="Paypal"><file name="CaptureAction.php" hash="e943b7f4b2313d5233340caeee3dd82c"/><file name="Locale.php" hash="c92adaba54645a08f46ca79065df6b30"/><file name="PaymentAction.php" hash="ab430eaf7ced39e9d6fd80ad0a7f6b3c"/><file name="Paymenttype.php" hash="03801e13c7e107df9b7d92b6a783bd08"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Currency.php" hash="800b0c7446500a822f407180edd554e5"/></dir><dir name="Source"><dir name="Payment"><file name="Liabilityaction.php" hash="14e040429a02891062da8c8f2672c7da"/><file name="Threedsecurecountries.php" hash="c376fec93cd7b3dce37866d523f67291"/></dir></dir></dir></dir><dir name="Wrapper"><file name="Braintree.php" hash="c4a2b0a50f1b27270b7c058d7420ce47"/></dir><file name=".DS_Store" hash="b7695820d49914f0c43c69f7ae6aadfc"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Braintree"><file name="MigrationController.php" hash="d77efeca5e316e60ffc983090792ca22"/></dir><file name="BraintreeController.php" hash="025316f7cdd56399e73d70889c64e00b"/></dir><file name="CheckoutController.php" hash="cca953164d0f8d350ed4f0dc9532666b"/><file name="ExpressController.php" hash="4bc513ebd1d585b7e3c80bc543fb42de"/><dir name="Kount"><file name="EnsController.php" hash="0c4809d0a06f8fd760f517ca3d9a81e8"/></dir><file name="SavedController.php" hash="563069cf87a78ec2340fe0f006b40b55"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="811f71e5c490ec73b6cfd325743a2e1b"/><file name="jstranslator.xml" hash="48c491259929e52f281b6c57fd57cdb2"/><file name="system.xml" hash="9404e85b27fae9cb8b2fcc918b40ecb0"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="503f428384f687d3f55a19ea57450212"/><file name="upgrade-1.0.5.4-2.0.0.php" hash="62d37c35ba39a77ea14cad842f143393"/><file name="upgrade-2.0.0-2.0.1.php" hash="a08927707bb43a5c22b3b6ce3dd7a3c7"/><file name="upgrade-2.0.4-2.1.0.php" hash="e1b31c2459ea0aaebb679e456bab3ec1"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="8280d203fdfae94e7885cef3dabc9dc6"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><file name="assets.phtml" hash="c26e31c4b8b97b006c4564b9d01c3132"/><dir name="creditcard"><file name="hostedfields.phtml" hash="d46038a8f81ff6f02d1651f030c8f56c"/><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="saved.phtml" hash="579ec8ca726de3b5bea8600663d1e61f"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><dir name="customer"><file name="edit.phtml" hash="ed8a9533f07fbfa36ec78623afd1a04d"/><file name="methods.phtml" hash="794ad8cb20314d1657a746b365c82540"/><file name="saved.phtml" hash="0457b0fa38f9db788133e54f359baa63"/></dir><dir name="express"><file name="button.phtml" hash="ef1c839a8f1a190610fcfce46bd78efd"/><file name="cart.phtml" hash="94c2bec9f7c1ccf3a171593f86459dd5"/><file name="catalog.phtml" hash="1dfd08f8c3f06abe3403e62f8362f171"/><file name="error.phtml" hash="0ec2ea2f9b909d9f0543e5df83eea055"/><file name="shipping_details.phtml" hash="0bb6ceafaac0ba522278df310d6136e2"/></dir><dir name="js"><file name="aheadworks.phtml" hash="e73f82ad7c97d8144b23f7d8ca1bafce"/><file name="amasty.phtml" hash="eab081dc7bdde7f9b35aee5c1317dc57"/><file name="awesomecheckout.phtml" hash="2b8d75d9d4da9034befcbca17af94f14"/><file name="default.phtml" hash="a915ec45ae6ae4c9d008bfafb9dca4b7"/><file name="fancycheckout.phtml" hash="e5d0c97d81eba20722be50dd0e043d00"/><file name="firecheckout.phtml" hash="ffa4875e7f28f8a085324af39b56deb7"/><file name="fme.phtml" hash="ba086c547a51ddfa04d6cb2a12dcaedd"/><file name="idev.phtml" hash="22e15682c66a3a744c7ed08bfe761e54"/><file name="iwd.phtml" hash="64f7d0871cc44ce8e27c95917a842abd"/><file name="magestore.phtml" hash="6bcfd8265785666caf6d8950b5de98b7"/><file name="multishipping.phtml" hash="ac85df744448f72eb5344a893473163b"/><file name="oye.phtml" hash="301d6e3accf1194af4e4e59d3b20d980"/><file name="setup.phtml" hash="87dc0aef9e3d68c1dd80c69bc077cd50"/><file name="unicode.phtml" hash="3215252d38085705addff6ba1b5c70b9"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/><file name="saved.phtml" hash="3dd56f96bcdd14be594d355ae8fff329"/></dir><file name="paypal.phtml" hash="d12c20e5fb76f31270a5d47061e42715"/><file name=".DS_Store" hash="5975da9140d0fc0f89ab188af4c1abd4"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="198b1716337695e9cbe384dd56dc7c9a"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><file name="assets.phtml" hash="c26e31c4b8b97b006c4564b9d01c3132"/><dir name="creditcard"><file name="hostedfields.phtml" hash="bae55f7d398540acdf2a892d01a6791f"/><file name="info.phtml" hash="958d514582e3de1f91f5e0f7a7169b47"/><file name="saved.phtml" hash="ca27adb601aebf97cd25a892082a8663"/></dir><file name="js.phtml" hash="9ecf15c0578bb46c83750aad88995365"/><dir name="paypal"><file name="info.phtml" hash="0485ea82dc9cc8ebea092b378672f1cd"/><file name="saved.phtml" hash="779ca8e907d7d463eafce58dfaf94f0c"/></dir><file name="paypal.phtml" hash="f81578f64c8a30560299bd993d8e996d"/><dir name="system"><dir name="config"><file name="migration.phtml" hash="8ef2a5e5561d7909d065c987ded5e592"/></dir></dir><dir name="transactions"><file name="index.phtml" hash="1791b6393f319616dd79c0b46e391847"/><file name="search.phtml" hash="1682ce6200681681f0ce3c848e2e6694"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Gene_Braintree.xml" hash="8c0ffda8566dca2f0b98a999921e3e55"/></dir></target><target name="mageweb"><dir name="js"><dir name="gene"><dir name="braintree"><dir name="2.2.1"><dir name="express"><file name="abstract-min.js" hash="f070c9dd599ee1e71012860686c61b5f"/><file name="paypal-min.js" hash="f06da879536b4bb41de6c51fc2e35d8b"/></dir><file name="vzero-integration-min.js" hash="47078166c2173796772b585c06d753f9"/><file name="vzero-integration-min.js.map" hash="2d8110e543514a9b876170139f47cf11"/><file name="vzero-min.js" hash="afcc0966f5711b2dc4d94bc5e4478400"/><file name="vzero-min.js.map" hash="eb8f6f230b6cec27c209cf5bc297cfda"/><file name="vzero-paypal-min.js" hash="9e9ad3a381ea1dc008c717c809e5b738"/><file name="vzero-paypal-min.js.map" hash="500938dbc4870b44c26188a004a7d491"/></dir><file name="config.codekit" hash="83f3295b34e0a52ae0ddd613b4e9a7ae"/><dir name="source"><dir name="express"><file name="abstract.js" hash="06efa5d85c72677e0c8c463153852d8f"/><file name="paypal.js" hash="839155e7b83c5415d5ef685590382065"/></dir><file name="vzero-integration.js" hash="1016651cdbc7c59bac69d3a81999469b"/><file name="vzero-paypal.js" hash="adf539ed24b76c6cda6c21b9486621f2"/><file name="vzero.js" hash="9410aaf61c1bf9de5df59d28eafc4f7f"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name=".DS_Store" hash="ca690dc29a8664a849f6764f3786ca24"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><file name="paypal-loading.gif" hash="078a2daf55245b227c09a7bed86750c6"/><file name="paypal.png" hash="40d5f74305e565bd14aef19bcf696541"/></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="loader-white.gif" hash="1fc0e911558e8dfe77cfdfafa0d38f88"/></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><dir name="account"><file name="account.less" hash="ddf6bf208f290316300ab20682f34473"/></dir><file name="account.css" hash="73bb46f85320b2f2b4de9beb6c0e0bd6"/><file name="aheadworks.css" hash="dad2e3821b6453c45bedd9505b603beb"/><file name="amasty.css" hash="668d36c51696f2070c38c7d04e8639b4"/><file name="awesomecheckout.css" hash="91a3d2833ef956df6c502b67e9986f23"/><file name="config.codekit" hash="506bfad608130ba1ce130508695d54d9"/><dir name="core"><file name="_general.less" hash="5848708373d8ed5eda5e5b23c3e4e05c"/><file name="_hostedfields.less" hash="d613b23ee1731345334aa423bf14c6db"/><file name="_paypal.less" hash="df0239894dfef5c905bea44938ee4658"/><file name="_saved.less" hash="66ec8d894e336f9934a1e54972c4b220"/></dir><file name="default.css" hash="8e0c5ce4cfc8592b580c8d9c27ac0f86"/><file name="express.css" hash="1c9eb3b9abb7e798b65701b2815d2e07"/><file name="express.less" hash="29acfc18e38f300972f27cfd44ca41c2"/><file name="fancycheckout.css" hash="523b1606fcd5a893bc5a06de83085137"/><file name="firecheckout.css" hash="c338590a06f2ff2b4bc3861cefb76559"/><file name="fme.css" hash="b9b5d0153c42b6f3335f1edd007acc56"/><file name="idev.css" hash="2f7011c36839ddda6dafa97a3253c0e7"/><dir name="integrations"><file name="aheadworks.less" hash="09b0304383e198885f030119c15641f7"/><file name="amasty.less" hash="4cdf236e1d44112205750cefa11448b4"/><file name="awesomecheckout.less" hash="e774da637a5c6bbdb2e5decc998afae1"/><file name="default.less" hash="d366d4560ed1ce3e9e120309e56bec2f"/><file name="fancycheckout.less" hash="18281c460bb32da164964abe585b092b"/><file name="firecheckout.less" hash="459704b8b6efca52fcee7c335b3ad625"/><file name="fme.less" hash="580ed66608560fcd1195246c22e3559c"/><file name="idev.less" hash="47485cc963e16d12e673c06cd9efe4b1"/><file name="iwd.less" hash="5081477c7946e0f5cf8cc4198895ca11"/><file name="magestore.less" hash="0af5cd105be3995dc2044d33f990bbb5"/><file name="oye.less" hash="06a0f79190b16dfbce3aec6d14f07461"/><file name="unicode.less" hash="1416abe9a38965d9aead022b238f7d4f"/></dir><file name="iwd.css" hash="4dea034fd87559f406a21760f0205101"/><file name="magestore.css" hash="440b3b3df01aba2781c65370cffd87db"/><file name="oye.css" hash="741399c67a2a822af7f17e428c6cba82"/><file name="unicode.css" hash="d048a04807172d1fe974a9e938a98fb6"/><file name=".DS_Store" hash="1405352d803d5c88cf3ec19a82f173d0"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="gene"><dir name="braintree"><file name="adminhtml.css" hash="affb40183f3620e4ee157daf613dc2a9"/><file name="adminhtml.less" hash="b3a4d504055c85d872c5b9544d192840"/><file name="config.codekit" hash="00c3aa866faad2384b4042057d6eaeec"/><file name="migration.css" hash="158e143a99028313d6ad6f6612112dd4"/><file name="migration.less" hash="bbf09530cf530f78f4a7c3229194c5ff"/><file name=".DS_Store" hash="63617e9dd9988a3d3773937a3f7e2f9a"/></dir></dir></dir><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><dir name="migration"><file name="braintree.png" hash="396d721824a86b169ce0055090ce9766"/><file name="gene-logo.png" hash="16efb1b148acc59c46c84a21d726b6e9"/><file name="loader.gif" hash="66b9100930b8e58d46acf2e13d41f7ea"/></dir></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Gene"><dir name="Braintree"><file name="autoload.php" hash="8107054d2dbafaba22b41aad0b87db64"/><dir name="braintree"><dir name="braintree_php"><file name="ACKNOWLEDGEMENTS.md" hash="6644e244fa241d0a8ad6ffe93fb3d2c9"/><file name="CHANGELOG.md" hash="42d27bea3786a0d888a267a22ab308d3"/><file name="LICENSE" hash="7203c8834a3b633e63fba98aaedf7246"/><file name="README.md" hash="ed50631217c4f534e52ff3d54df79acb"/><file name="Rakefile" hash="50ba27aec7a108a08a229ef7c2ef7523"/><file name="ci.sh" hash="8abad344d97531d13613833d1d081954"/><file name="composer.json" hash="7f925434c3334ed83d7f73f15d937985"/><dir name="lib"><dir name="Braintree"><file name="AccountUpdaterDailyReport.php" hash="24081e5126e923c106d38de6d4bfa206"/><file name="AchMandate.php" hash="1c27b15b8508745e678f9637c495f126"/><file name="AddOn.php" hash="82925560fd6d09575150d03851132999"/><file name="AddOnGateway.php" hash="71f1cf435ad4a0f846cbdb61f54582b6"/><file name="Address.php" hash="80b3e24e93c142cc2fdb0401542c74f9"/><file name="AddressGateway.php" hash="5785772be266f1095ec9badc42872eda"/><file name="AmexExpressCheckoutCard.php" hash="e8638efd3aa53c9029c9a779c9a3c0d3"/><file name="AndroidPayCard.php" hash="b2dea285101ac3a6a811b35f854a8f70"/><file name="ApplePayCard.php" hash="ad86024899c22c02b2fe4661fb9795c3"/><file name="Base.php" hash="e32c757071d8f8effc5660cd1ce58c6b"/><file name="ClientToken.php" hash="81e2f643f912c8943560008d2fa7869d"/><file name="ClientTokenGateway.php" hash="46c9885e3c3f40cc60d98dd94ccfa849"/><file name="CoinbaseAccount.php" hash="a0794c8d29dbab81ecf32dac6c4d66c1"/><file name="Collection.php" hash="ba52af974da21b424c7b9a6a881f4f26"/><file name="Configuration.php" hash="1e4c293d778380623a9806674cf1944f"/><file name="ConnectedMerchantPayPalStatusChanged.php" hash="3ebdd7be5c997c811ae134d6a6451f41"/><file name="ConnectedMerchantStatusTransitioned.php" hash="7ead86a6c4fc0c79d0f9277f0efd0068"/><file name="CredentialsParser.php" hash="85c9539be64146fa3ddde216f4ac20c9"/><file name="CreditCard.php" hash="1bcd5f081c77efd099b044731b2ba061"/><file name="CreditCardGateway.php" hash="e8ebf4e755318acfa0c6c014a64c9675"/><file name="CreditCardVerification.php" hash="b06ad08b7120572732498d2035a25952"/><file name="CreditCardVerificationGateway.php" hash="38a299c6e9a500fbf7e962e39f34e4bf"/><file name="CreditCardVerificationSearch.php" hash="93e08c9a258af84003700013d497cd82"/><file name="Customer.php" hash="4fd732fd33dfcf173fcb39cb005c4e3e"/><file name="CustomerGateway.php" hash="ccd09f9c0830b5abaad224d52b023371"/><file name="CustomerSearch.php" hash="8e8d024b951a4baa458556d4281fe988"/><file name="Descriptor.php" hash="97dc19a001fb6845c0c0eb0ee396f9bf"/><file name="Digest.php" hash="622fb0f1a11cf4dc8ee0a6f5fe7150e8"/><file name="Disbursement.php" hash="851eb18f89594984838ce1c59f8e6d8c"/><file name="DisbursementDetails.php" hash="ce5af619a858d883453c21c0f9217163"/><file name="Discount.php" hash="ba59054dd8d42d600c6dfb5813267150"/><file name="DiscountGateway.php" hash="8c354a122a23e3ad2136905e1c9b1d95"/><dir name="Dispute"><file name="TransactionDetails.php" hash="3a554f1576f6269d1d7137d14be8b361"/></dir><file name="Dispute.php" hash="1478be0c3c39725eef8976c6531f4ebb"/><file name="EqualityNode.php" hash="62715d694920f751dfa270ee6234eb43"/><dir name="Error"><file name="Codes.php" hash="6f16da1bd831cb48faeb6f62389ed6f5"/><file name="ErrorCollection.php" hash="b32f1904ee32cf078470c109cec497c8"/><file name="Validation.php" hash="f5062b7d7385bac2c9fb8e653e7ecbdf"/><file name="ValidationErrorCollection.php" hash="bb82bf92f7d33e607d59fc9c36aaf8e0"/></dir><file name="EuropeBankAccount.php" hash="8784a357d37c42673e60f8c866228af8"/><dir name="Exception"><file name="Authentication.php" hash="d21bc381984fa6078377aacfe930f27f"/><file name="Authorization.php" hash="4b17dca02c715fcd50d6d80a40e808ce"/><file name="Configuration.php" hash="225dfca2a3fcb48620e971a03acc6213"/><file name="DownForMaintenance.php" hash="f9827287436a4c51669fad4c637238a6"/><file name="ForgedQueryString.php" hash="c8a65e4c3e20f4f834914d67a9e782cc"/><file name="InvalidChallenge.php" hash="d825f5fc7acf8dd0e92dc886e7351721"/><file name="InvalidSignature.php" hash="a627af00c19b01a92fe01d432e3296d9"/><file name="NotFound.php" hash="7ee49bce52fc34db868443d569300470"/><file name="SSLCaFileNotFound.php" hash="fcc6e63349cad74ae9651af421cfec15"/><file name="SSLCertificate.php" hash="2b23ad8a5f477accd97a5d26db3e9b68"/><file name="ServerError.php" hash="2dbc5d988ed3bf2ba858dfe8c1ce68e6"/><file name="TestOperationPerformedInProduction.php" hash="55dcb7ed8f8886a77edfd754a775567a"/><file name="Timeout.php" hash="48b27846cc5a412148be05ed081288f9"/><file name="TooManyRequests.php" hash="84c506492eae180f47a325871c7e4d5a"/><file name="Unexpected.php" hash="eb871413e9d4c394b2e4a5d4da02c7d4"/><file name="UpgradeRequired.php" hash="22d1766b6d115cd7144ed2b9186afc85"/><file name="ValidationsFailed.php" hash="3ee5ce23d0bda2f2794f5d5451111417"/></dir><file name="Exception.php" hash="cedf12b332e21324f4a6579426a3ab00"/><file name="FacilitatorDetails.php" hash="7a25557b06c663197d1aea39bd93e776"/><file name="Gateway.php" hash="d7705ccfa1caa0734c505651fc1381a2"/><file name="Http.php" hash="3f71d21a7d845c89c11d188d4ca7236b"/><file name="IbanBankAccount.php" hash="fd44b18d5e0e64dec0e1fcffc445e6c1"/><file name="IdealPayment.php" hash="474ea0309045ed88db4de538ec739a4c"/><file name="IdealPaymentGateway.php" hash="b79384c4be5c89f212096cb1cb3c701f"/><file name="Instance.php" hash="827ebd75d39217e53873c82e753fc1ed"/><file name="IsNode.php" hash="783c6ad65c6030a12ad52253cd5bc1a8"/><file name="KeyValueNode.php" hash="6668a312a6aaaddbdcfc940775ed5820"/><file name="MasterpassCard.php" hash="24a6394c5ae1370c01ee35dbd764654b"/><file name="Merchant.php" hash="b1f8444fc109708a43017d6cda9536a2"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="540f9e79b8df5da5267835dd01db45c1"/><file name="BusinessDetails.php" hash="ca8a0dc16bce3fff5831fd22652b2f6b"/><file name="FundingDetails.php" hash="9ba992a0dda1be9a0cf8bd8b53ea33be"/><file name="IndividualDetails.php" hash="4855a6aa64b35ecab7bada4e3e0fc0c3"/></dir><file name="MerchantAccount.php" hash="a4ba2e530164c06b8e50ef8ff10f76f2"/><file name="MerchantAccountGateway.php" hash="ad62343cbbdb3e0d9732edfb7255d26c"/><file name="MerchantGateway.php" hash="e9d0fc529b7a32f7080201991deb29d1"/><file name="Modification.php" hash="5df7d89d7365e9edf7235f09b9b7ced4"/><file name="MultipleValueNode.php" hash="2555632262d8b7d81a69739817e1887d"/><file name="MultipleValueOrTextNode.php" hash="9d4a49bc8051d47fd820da2ffef03936"/><file name="OAuthCredentials.php" hash="661accf840ad921523b48ec1be8d9075"/><file name="OAuthGateway.php" hash="f1e54a919b9b65117114b8de7ebfc6f0"/><file name="OAuthResult.php" hash="6f7384d12e28b6748ef3cb92128d833d"/><file name="PaginatedCollection.php" hash="c45cd3395c53ac37946ab3defaab84ef"/><file name="PaginatedResult.php" hash="821bdf0de25d98df7054af24c33b1ce4"/><file name="PartialMatchNode.php" hash="084258b5f9f39a493ca6b02e7019a101"/><file name="PartnerMerchant.php" hash="389c4fae22a19d75b312998027b3fe0e"/><file name="PayPalAccount.php" hash="902debd6d7cdc62e018e3541484a8a5e"/><file name="PayPalAccountGateway.php" hash="5d0a865c2d012511f4a2b3e2c9029053"/><file name="PaymentInstrumentType.php" hash="44cfb496a9bd50eae618e18fcf41e856"/><file name="PaymentMethod.php" hash="3e53b3edd2bdd87fec010709c8acab8c"/><file name="PaymentMethodGateway.php" hash="574c3481e9a7373d69f293f826b64d66"/><file name="PaymentMethodNonce.php" hash="73330240522e5655bbf01bb90629487f"/><file name="PaymentMethodNonceGateway.php" hash="f103b6749b9700a923e4cc1679f8ba4e"/><file name="Plan.php" hash="fcf369071d74d273604fc63ea2548f2b"/><file name="PlanGateway.php" hash="8713f672e916f26460b06a156b511e32"/><file name="RangeNode.php" hash="a3f74af2c4811a68c9f31ca136cc1c82"/><file name="ResourceCollection.php" hash="8e9da02c6ca6bf5e819efe6ad7837bf2"/><dir name="Result"><file name="CreditCardVerification.php" hash="c64c8bb4a76f77688ebc49a4f6769a20"/><file name="Error.php" hash="09b138f5992593ae33ea3e6f588d1ceb"/><file name="Successful.php" hash="9d2d014d188cbadf773ccca83cc2408d"/></dir><file name="RiskData.php" hash="61de70d88d4b40168e54cea84d2afc70"/><file name="SettlementBatchSummary.php" hash="73a3b6b583b5a852b3d1437b2d62ec5f"/><file name="SettlementBatchSummaryGateway.php" hash="d66b1708f32d1bcc4d738bf39df649b7"/><file name="SignatureService.php" hash="566a5d18567a513f4a527ebf3c8cd410"/><dir name="Subscription"><file name="StatusDetails.php" hash="4c01d220704e6d285c77dc2011f8746e"/></dir><file name="Subscription.php" hash="07ed981ef67b946f97598f48ae00e871"/><file name="SubscriptionGateway.php" hash="b82884333c65a8b747e1dae4919bf2a8"/><file name="SubscriptionSearch.php" hash="e97a9a2a7187058082afab7701f37b1a"/><dir name="Test"><file name="CreditCardNumbers.php" hash="c7b8fbac49f64deb33a8ac3d66757d68"/><file name="MerchantAccount.php" hash="2c700e2724472c0af362ecee6de04bc8"/><file name="Nonces.php" hash="19e6111751b9980732ebb00b41d1d35f"/><file name="Transaction.php" hash="54a421889bb7753192d06150758523ac"/><file name="TransactionAmounts.php" hash="aff59733ffd5a23ddd44ed37f6bda9a7"/><file name="VenmoSdk.php" hash="92872ddddd03c83489a81f8da99839a5"/></dir><file name="TestingGateway.php" hash="3ec7fe4a5a11f2db91b5ecaa6ab6d1c1"/><file name="TextNode.php" hash="da1cc61af2896b945552318d67bd2a46"/><file name="ThreeDSecureInfo.php" hash="8cbb2a63c256368123cb01f2e2a2a194"/><dir name="Transaction"><file name="AddressDetails.php" hash="ca29baa27dcc5c7ccddb7c653d6d99d4"/><file name="AmexExpressCheckoutCardDetails.php" hash="18c96b2d98d81918ec128101d8d69709"/><file name="AndroidPayCardDetails.php" hash="0c278d6aa4bddf669c949617ae37a880"/><file name="ApplePayCardDetails.php" hash="1a544ea0efe19943ff1618ada4100fcc"/><file name="CoinbaseDetails.php" hash="5a5e297bcc19f7d5e21c2f2886abaa09"/><file name="CreditCardDetails.php" hash="13385b916ec0e321e61c18e63baf1c58"/><file name="CustomerDetails.php" hash="fe0012e585006193a39cea9fd6c6eb7c"/><file name="EuropeBankAccountDetails.php" hash="520703e2689c99547bde17e8464df7d5"/><file name="IdealPaymentDetails.php" hash="444d3093c700de8217708a94cd2575e7"/><file name="MasterpassCardDetails.php" hash="f4aa0601b94d6ada0f9b29e27f8a4bc6"/><file name="PayPalDetails.php" hash="022041c82de738e45db9cef4da2eee1f"/><file name="StatusDetails.php" hash="59a90119124d8cb1efcb476e66db984e"/><file name="SubscriptionDetails.php" hash="8fe6507f04dda08b8aafc45a93ed2a4f"/><file name="UsBankAccountDetails.php" hash="52fdad1e440a36a8f2ce27719ecf72b6"/><file name="VenmoAccountDetails.php" hash="87f02410e01dea1e68f1d07130dd0539"/><file name="VisaCheckoutCardDetails.php" hash="d4909eb31f17abc5b16775e09c18687f"/></dir><file name="Transaction.php" hash="95e1fcccd0b58c0547646568fe16cc4f"/><file name="TransactionGateway.php" hash="2c4d9dc9f4a1d2a99788db533a868c6f"/><file name="TransactionSearch.php" hash="634b7a51905a41c1f037f186b53b540e"/><file name="TransparentRedirect.php" hash="134d55a603fa9d0c203c6a0635b93605"/><file name="TransparentRedirectGateway.php" hash="30deff1d0369b6a340260dac78f677ce"/><file name="UnknownPaymentMethod.php" hash="2b5d3ccae34ae73cf728ec38266a42e3"/><file name="UsBankAccount.php" hash="51ab8e304753c92de6ea87d019163b78"/><file name="UsBankAccountGateway.php" hash="ccde686657990c8db38a844ab86809ae"/><file name="Util.php" hash="9b2f24aab2919001d2e859ee8fce1207"/><file name="VenmoAccount.php" hash="fe5a40901d3924f956902f88b9490727"/><file name="Version.php" hash="687a7044b6eef0b2806bdc5247413b44"/><file name="VisaCheckoutCard.php" hash="011c44b8bbf554eb5a114b65b8f02dab"/><file name="WebhookNotification.php" hash="fd2cb2c1872d55795140da78368af6d3"/><file name="WebhookNotificationGateway.php" hash="9a021c6b737362d61890e9e43dff57c2"/><file name="WebhookTesting.php" hash="f3a95c38979c11c1ac3d5d55e65b5a74"/><dir name="Xml"><file name="Generator.php" hash="3a4f2ad0e8c6ae17788c218587dcfc03"/><file name="Parser.php" hash="af8f3729c58efd1d8f8fbf2672faf8a8"/></dir><file name="Xml.php" hash="30bb301518e06e41a17eb4d03c4d8db9"/></dir><file name="Braintree.php" hash="40f87e43c5b205b646186e0b638da941"/><file name="autoload.php" hash="700bd7dbe39f8d89d925ccbb33651898"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="d1155107b085a1ee04dd13a634b00c42"/></dir></dir><file name="phpunit.xml.dist" hash="80635d87e10eb5bf1a4ba767d168eba8"/><dir name="tests"><dir name="Braintree"><file name="CreditCardDefaults.php" hash="caceb16d3b2fc21f7dc2bf6244000485"/><dir name="CreditCardNumbers"><file name="CardTypeIndicators.php" hash="fca486e18deed295d0d9961b19e71c6e"/></dir><file name="OAuthTestHelper.php" hash="7678b026a2d19450150999999a0cddcc"/></dir><file name="Helper.php" hash="a5c43210cd5b1362dae4a1da07847bce"/><file name="SanityTest.php" hash="e75fcbab2870381b960a0583fb9d3ce3"/><file name="Setup.php" hash="d21ea963b4103c6f082aff93a97d75b9"/><dir name="integration"><file name="AddOnsTest.php" hash="6caa89249c72d7746cb1de6ef1460079"/><file name="AddressTest.php" hash="b78f498609625e2d2f5eadf5c07dc303"/><file name="ClientTokenTest.php" hash="c0a7a796eec4dc379045487c32df68bb"/><file name="CreditCardTest.php" hash="b79fd459d25512acfb7b49644ef95f2d"/><file name="CreditCardVerificationAdvancedSearchTest.php" hash="1b741a14706c14fe27b6383f37989ea8"/><file name="CreditCardVerificationTest.php" hash="7f29467a7f84a029fc4ccb36b52b5ced"/><file name="CustomerAdvancedSearchTest.php" hash="f1657f3ef6992d7ab2dfddb60e88f5ce"/><file name="CustomerTest.php" hash="ce1ecded5993d978990542e23e38a074"/><file name="DisbursementTest.php" hash="26505b6c688c23f52617aff41d301020"/><file name="DiscountTest.php" hash="0fc13502d1323679af95ca7e0a5a2622"/><dir name="Error"><file name="ErrorCollectionTest.php" hash="f72638e7a4ce876ee83740f11986a3a8"/><file name="ValidationErrorCollectionTest.php" hash="3db5c126101fd5878d0862af5afb921a"/></dir><file name="EuropeBankAccountTest.php" hash="1fa1e38472ea992c558f20284d50fea3"/><file name="HttpClientApi.php" hash="53aee37b75c8cd892f7817ddbabb3545"/><file name="HttpTest.php" hash="abfb4761fe0cb640df31e767e9f3524a"/><file name="IdealPaymentTest.php" hash="479aaf990df50cf7ace479119cf18d87"/><file name="MasterpassCardTest.php" hash="21c11bbe63eb3613d24c19acd682dffd"/><file name="MerchantAccountTest.php" hash="e3d8386f473255bf7a1c9e29aa094620"/><file name="MerchantTest.php" hash="e8bca1018153fe1361155fb420fe90be"/><file name="MultipleValueNodeTest.php" hash="1b21f6431b0dc593f18d887ed88a30f3"/><file name="OAuthTest.php" hash="cf09acef408069c6131ede44f0004cd3"/><file name="PayPalAccountTest.php" hash="8bfdfdcb1e08687d25bf80260051d820"/><file name="PaymentMethodNonceTest.php" hash="38d982daa6ccd6d2a8d1ac63c50a24de"/><file name="PaymentMethodTest.php" hash="df5d1bbff8ab7a2e1cc60b915147bc75"/><file name="PlanTest.php" hash="bbc260c8a0cd36869f0de96c4639cb2a"/><dir name="Result"><file name="ErrorTest.php" hash="3ff0aedd05f5868c8e28bb7f2f98f8f8"/></dir><file name="SettlementBatchSummaryTest.php" hash="86e8847f6cdf4c6120b473e7bdafc196"/><file name="SubscriptionHelper.php" hash="0d717139be147a5d72f16cd4ff465d22"/><file name="SubscriptionSearchTest.php" hash="712536a2484872abf8b6b3003e67c0bd"/><file name="SubscriptionTest.php" hash="1e4ff49856af4942dc14c199764ee82c"/><file name="TestTransactionTest.php" hash="27cce6bf160d8777358332eb9d7a7eae"/><file name="TextNodeTest.php" hash="6f8afc0387144088127d65ce3e926cba"/><file name="TransactionAdvancedSearchTest.php" hash="430d532eec84d163a6b9e5d7170156f0"/><file name="TransactionTest.php" hash="0e0626c783005cfe375edbd4c5914b22"/><file name="TransparentRedirectTest.php" hash="632073911d63ec46fedc0007b8e1d96c"/><file name="UsBankAccountTest.php" hash="1993f0ead117306c880aa8201de33603"/><file name="VisaCheckoutCardTest.php" hash="b0ff0da1e89f2e651993d399a10b0cb3"/></dir><dir name="unit"><file name="AddOnTest.php" hash="1e9ca24b1d1076d838868b46f3b8db31"/><file name="AddressTest.php" hash="971b65131de89d97627d5fce6d23948f"/><file name="BraintreeTest.php" hash="d5661eb2e0d23eec624cc039bc209baa"/><dir name="ClientApi"><file name="ClientTokenTest.php" hash="ecd06e8aa6238f1a2b4af69d0e8de798"/></dir><file name="ConfigurationTest.php" hash="25bfcb8195d810175357ad34e50d0cee"/><file name="CreditCardTest.php" hash="aff6920d4a64f82c25947a0aad622491"/><file name="CreditCardVerificationTest.php" hash="aadef2854162a79ec7f974a4511c74dc"/><file name="CustomerTest.php" hash="b34959a82a0a9ac2f917086135e30ec3"/><file name="DigestTest.php" hash="91a198a97d0469223d9cda1c032c82cf"/><file name="DisbursementDetailsTest.php" hash="5417ff00d8780050cd3468e891a46f7c"/><file name="DisbursementTest.php" hash="7df421883c72e00553827d5c0e7816d7"/><file name="DiscountTest.php" hash="cda7b5ba54e11c4b0ed852e146236d6d"/><file name="GatewayTest.php" hash="182a77395c8c791754f8f9fd70f1561a"/><file name="InstanceTest.php" hash="fc35293e35840a740e44da14929f13ce"/><file name="MerchantAccountTest.php" hash="a4e7fa438eee317a2c43dff2353d1f09"/><file name="MultipleValueNodeTest.php" hash="0821a1e0ea469210e4cd7ac2dcdd2f3a"/><file name="MultipleValueOrTextNodeTest.php" hash="cb82ba391dbd216a413da9777f50a4d7"/><file name="OAuthTest.php" hash="450ee30874c358112731fb39e0c7a898"/><file name="PaginatedCollectionTest.php" hash="e0f8812afdfbc0a669674054bb78b9ce"/><file name="PayPalAccountTest.php" hash="5d5ed45062b3f4fddf38a95fda7fcec0"/><file name="PaymentMethodTest.php" hash="76e5f53b0573bc9daa9a92c639fc2a1a"/><file name="RangeNodeTest.php" hash="c1aef8c246c603736ed5a7000a150f4a"/><file name="ResourceCollectionTest.php" hash="5b22b79a4e50f486c2f3e9e268cf9d80"/><dir name="Result"><file name="ErrorTest.php" hash="bfa4fbcb181cd8a7fbc05c86f617899b"/><file name="SuccessfulTest.php" hash="a809212d472948c166915eb901f641d7"/></dir><file name="SanityTest.php" hash="80485b716aba99b6eba814c73466994b"/><file name="SubscriptionSearchTest.php" hash="60408ca6fa6249a0edabc6e0d5ffc637"/><file name="SubscriptionTest.php" hash="b53934d3cd0d20df7edac1d658e66f0a"/><file name="TextNodeTest.php" hash="5bce91e12b012a3d55f3478721d85060"/><file name="TransactionTest.php" hash="f92992f2c1adaecd54054e7a290f483c"/><file name="TransparentRedirectTest.php" hash="5a3c18b3b30ddaaedd82b146aaa0b2a1"/><file name="UnknownPaymentMethodTest.php" hash="99dba90eebaee849d207d8c8eaf1146c"/><file name="UsBankAccount.php" hash="d857b03b7cb6ce038a4ba78b6fa6088c"/><file name="UtilTest.php" hash="e7a45f618244339912f1e57687d28c29"/><file name="WebhookNotificationTest.php" hash="267dd423a43629b3fe93f17074bcb485"/><file name="Xml_GeneratorTest.php" hash="c83aeb1546ab2d4165d6ea970b66aed3"/><file name="Xml_ParserTest.php" hash="00bd1b07f1b34df846e70efc0788bcc3"/></dir></dir><dir name=".github"><file name="ISSUE_TEMPLATE.md" hash="6eef2fc0b4a5584498009940d11c6997"/></dir><file name=".gitignore" hash="bfbaaa10ed6adceb1ea6602d629c0273"/></dir></dir><dir name="composer"><file name="ClassLoader.php" hash="292c079dbe63ba06bfbf37fd99fe4bf9"/><file name="LICENSE" hash="955d5fe58c231244f6b49000f383b5e2"/><file name="autoload_classmap.php" hash="8645d3a4e3ad87e7cf4d88a46717aab4"/><file name="autoload_namespaces.php" hash="6bcb68a8ffccb365c563b6de56eb356f"/><file name="autoload_psr4.php" hash="b8019895be4802f81f71a93ef6245399"/><file name="autoload_real.php" hash="048287adcfec3aa0a4a2d55226a4849d"/><file name="autoload_static.php" hash="df2695436329076c2574a584a6935e29"/><file name="installed.json" hash="e7c49fe1dd9257d457b49337f9afb915"/></dir></dir><file name="composer.json" hash="d51bfa1e9adc64cb8c319ae6cc745068"/><file name="composer.lock" hash="9e1c48982218cea6cf7f26f4ddefa6ed"/><file name=".DS_Store" hash="9d5e6245c504b7fad7ffd73c8fac06a1"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="428b924149c6eea93a8a45101a67f125"/></dir></dir></target></contents>
42
  <compatible/>
43
  <dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><package><name/><channel>connect.magentocommerce.com/core</channel><min/><max/></package></required></dependencies>
44
  </package>
skin/adminhtml/default/default/css/gene/braintree/.DS_Store ADDED
Binary file
skin/frontend/base/default/css/gene/braintree/.DS_Store ADDED
Binary file
skin/frontend/base/default/css/gene/braintree/magestore.css CHANGED
@@ -307,7 +307,7 @@ label[for="gene_braintree_paypal_store_in_vault"] {
307
  #credit-card-form .form-list,
308
  #payment_form_gene_braintree_creditcard,
309
  #payment_form_gene_braintree_paypal {
310
- width: 100%;
311
  padding: 0;
312
  }
313
  #payment_form_gene_braintree_creditcard,
307
  #credit-card-form .form-list,
308
  #payment_form_gene_braintree_creditcard,
309
  #payment_form_gene_braintree_paypal {
310
+ width: 90%;
311
  padding: 0;
312
  }
313
  #payment_form_gene_braintree_creditcard,