spree_braintree_vzero 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +15 -0
  3. data/.gitignore +19 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +63 -0
  6. data/Appraisals +45 -0
  7. data/CONTRIBUTING.md +28 -0
  8. data/Gemfile +14 -0
  9. data/LICENSE +26 -0
  10. data/README.md +83 -0
  11. data/Rakefile +21 -0
  12. data/app/assets/images/credit_cards/icons/jcb.png +0 -0
  13. data/app/assets/javascripts/spree/backend/payments.js +19 -0
  14. data/app/assets/javascripts/spree/backend/spree_braintree_vzero.js +81 -0
  15. data/app/assets/javascripts/spree/frontend/spree_braintree_vzero.js +68 -0
  16. data/app/assets/stylesheets/spree/backend/spree_braintree_vzero.css +5 -0
  17. data/app/controllers/spree/admin/payments_controller_decorator.rb +43 -0
  18. data/app/controllers/spree/api/v1/braintree_client_token_controller.rb +31 -0
  19. data/app/controllers/spree/checkout_controller_decorator.rb +38 -0
  20. data/app/controllers/spree/orders_controller_decorator.rb +62 -0
  21. data/app/controllers/spree/user_sessions_controller_decorator.rb +15 -0
  22. data/app/helpers/spree/admin/decorated_navigation_helper.rb +10 -0
  23. data/app/helpers/spree/admin/payment_methods_helper.rb +101 -0
  24. data/app/helpers/spree/braintree_helper.rb +27 -0
  25. data/app/models/braintree/successful_result_decorator.rb +21 -0
  26. data/app/models/spree/address_decorator.rb +18 -0
  27. data/app/models/spree/braintree_checkout.rb +105 -0
  28. data/app/models/spree/gateway/braintree_vzero_base.rb +168 -0
  29. data/app/models/spree/gateway/braintree_vzero_base/address.rb +33 -0
  30. data/app/models/spree/gateway/braintree_vzero_base/braintree_user.rb +25 -0
  31. data/app/models/spree/gateway/braintree_vzero_base/purchase_data.rb +48 -0
  32. data/app/models/spree/gateway/braintree_vzero_base/transaction.rb +39 -0
  33. data/app/models/spree/gateway/braintree_vzero_base/utils.rb +108 -0
  34. data/app/models/spree/gateway/braintree_vzero_drop_in_ui.rb +24 -0
  35. data/app/models/spree/gateway/braintree_vzero_hosted_fields.rb +28 -0
  36. data/app/models/spree/gateway/braintree_vzero_paypal_express.rb +36 -0
  37. data/app/models/spree/order_decorator.rb +153 -0
  38. data/app/models/spree/payment_decorator.rb +10 -0
  39. data/app/models/spree/payment_processing_decorator.rb +61 -0
  40. data/app/models/spree/preferences/preferable_decorator.rb +54 -0
  41. data/app/overrides/spree/admin/orders/customer_details/_form.rb +8 -0
  42. data/app/overrides/spree/admin/payment_methods/_form.rb +10 -0
  43. data/app/overrides/spree/admin/shared/_order_summary.rb +23 -0
  44. data/app/overrides/spree/admin/shared/_refunds.rb +13 -0
  45. data/app/overrides/spree/checkout/_new_user.rb +6 -0
  46. data/app/overrides/spree/checkout/_payment.rb +20 -0
  47. data/app/overrides/spree/checkout/registration.rb +6 -0
  48. data/app/overrides/spree/orders/edit.rb +6 -0
  49. data/app/overrides/spree/shared/_order_details.rb +13 -0
  50. data/app/overrides/spree/shared/_payment.rb +28 -0
  51. data/app/views/spree/admin/payment_methods/_braintree_vzero_form.html.erb +83 -0
  52. data/app/views/spree/admin/payments/source_forms/_braintree_vzero_dropin_ui.html.erb +1 -0
  53. data/app/views/spree/admin/payments/source_forms/_braintree_vzero_hosted_fields.html.erb +1 -0
  54. data/app/views/spree/admin/payments/source_forms/_braintree_vzero_paypal_express.html.erb +1 -0
  55. data/app/views/spree/admin/payments/source_forms/braintree_vzero/_payments.html.erb +87 -0
  56. data/app/views/spree/admin/payments/source_views/_braintree_vzero_dropin_ui.html.erb +1 -0
  57. data/app/views/spree/admin/payments/source_views/_braintree_vzero_hosted_fields.html.erb +1 -0
  58. data/app/views/spree/admin/payments/source_views/_braintree_vzero_paypal_express.html.erb +1 -0
  59. data/app/views/spree/admin/payments/source_views/braintree_vzero/_payment.html.erb +17 -0
  60. data/app/views/spree/braintree_vzero/_paypal_checkout.html.erb +87 -0
  61. data/app/views/spree/checkout/payment/_braintree_vzero_dropin_ui.html.erb +4 -0
  62. data/app/views/spree/checkout/payment/_braintree_vzero_hosted_fields.html.erb +4 -0
  63. data/app/views/spree/checkout/payment/_braintree_vzero_paypal_express.html.erb +4 -0
  64. data/app/views/spree/checkout/payment/braintree_vzero/_buttons.html.erb +11 -0
  65. data/app/views/spree/checkout/payment/braintree_vzero/_dropin_on_error_callback.js.erb +3 -0
  66. data/app/views/spree/checkout/payment/braintree_vzero/_dropin_on_ready_callback.js.erb +1 -0
  67. data/app/views/spree/checkout/payment/braintree_vzero/_hosted_fields_on_field_event_callback.js.erb +12 -0
  68. data/app/views/spree/checkout/payment/braintree_vzero/_hosted_fields_styles.js.erb +29 -0
  69. data/app/views/spree/checkout/payment/braintree_vzero/_payment.html.erb +84 -0
  70. data/app/views/spree/checkout/payment/braintree_vzero/_three_d_secure.html.erb +218 -0
  71. data/app/views/spree/shared/braintree_vzero/_dropin.js.erb +70 -0
  72. data/app/views/spree/shared/braintree_vzero/_hosted.js.erb +66 -0
  73. data/app/views/spree/shared/braintree_vzero/_paypal.js.erb +39 -0
  74. data/bin/rails +7 -0
  75. data/config/initializers/extend_spree_permitted_checkout_attributes.rb +5 -0
  76. data/config/initializers/prepend_helpers.rb +1 -0
  77. data/config/locales/en.yml +79 -0
  78. data/config/routes.rb +7 -0
  79. data/db/migrate/20150904143013_create_spree_braintree_checkouts.rb +9 -0
  80. data/db/migrate/20151002094655_add_braintree_id_to_spree_addresses.rb +5 -0
  81. data/db/migrate/20151018123907_add_braintree_token_and_nonce_to_spree_payments.rb +6 -0
  82. data/db/migrate/20151027135109_add_paypal_email_to_spree_braintree_checkout.rb +5 -0
  83. data/db/migrate/20151028095515_add_advanced_fraud_data_to_spree_braintree_checkout.rb +5 -0
  84. data/db/migrate/20151202095956_add_risk_id_and_risk_decision_to_spree_braintree_checkouts.rb +6 -0
  85. data/db/migrate/20151211100203_add_braintree_last_digits_and_braintree_card_type_to_spree_braintree_checkouts.rb +6 -0
  86. data/db/migrate/20160112153422_add_admin_payment_to_spree_braintree_checkout.rb +5 -0
  87. data/gemfiles/spree_3_5.gemfile +12 -0
  88. data/gemfiles/spree_3_5_spree_auth_devise.gemfile +13 -0
  89. data/gemfiles/spree_3_7.gemfile +12 -0
  90. data/gemfiles/spree_3_7_spree_auth_devise.gemfile +13 -0
  91. data/gemfiles/spree_4_0.gemfile +11 -0
  92. data/gemfiles/spree_4_0_spree_auth_devise.gemfile +12 -0
  93. data/gemfiles/spree_master.gemfile +11 -0
  94. data/gemfiles/spree_master_spree_auth_devise.gemfile +12 -0
  95. data/lib/generators/spree_braintree_vzero/install/install_generator.rb +34 -0
  96. data/lib/spree_braintree_vzero.rb +6 -0
  97. data/lib/spree_braintree_vzero/engine.rb +28 -0
  98. data/lib/spree_braintree_vzero/factories.rb +10 -0
  99. data/lib/spree_braintree_vzero/railtie.rb +8 -0
  100. data/lib/spree_braintree_vzero/version.rb +17 -0
  101. data/lib/tasks/spree_braintree_vzero.rake +6 -0
  102. data/spec/controllers/spree/api/v1/braintree_client_token_controller_spec.rb +49 -0
  103. data/spec/controllers/spree/checkout_controller_spec.rb +85 -0
  104. data/spec/controllers/spree/orders_controller_spec.rb +97 -0
  105. data/spec/factories/braintree_checkout_factory.rb +7 -0
  106. data/spec/factories/braintree_gateway_factory.rb +35 -0
  107. data/spec/factories/payment_factory_decorator.rb +28 -0
  108. data/spec/features/spree/admin/log_entries_spec.rb +63 -0
  109. data/spec/models/gateway/braintree_vzero_base/address_spec.rb +28 -0
  110. data/spec/models/gateway/braintree_vzero_base/purchase_data_spec.rb +57 -0
  111. data/spec/models/gateway/braintree_vzero_base_spec.rb +346 -0
  112. data/spec/models/gateway/braintree_vzero_dropin_ui_spec.rb +35 -0
  113. data/spec/models/gateway/braintree_vzero_hosted_fields_spec.rb +35 -0
  114. data/spec/models/spree/order_spec.rb +186 -0
  115. data/spec/spec_helper.rb +100 -0
  116. data/spec/support/vcr.rb +10 -0
  117. data/spec/vcr/Log_entries/with_a_failed_log_entry/shows_a_failed_attempt.yml +91 -0
  118. data/spec/vcr/Log_entries/with_a_successful_log_entry/shows_a_successful_attempt.yml +113 -0
  119. data/spec/vcr/Spree_Api_V1_BraintreeClientTokenController/POST_create/guest_checkout/returns_proper_json_data_when_gateway_not_specified.yml +90 -0
  120. data/spec/vcr/Spree_Api_V1_BraintreeClientTokenController/POST_create/guest_checkout/returns_proper_json_data_when_gateway_specified.yml +90 -0
  121. data/spec/vcr/Spree_Api_V1_BraintreeClientTokenController/POST_create/user_checkout/returns_proper_json_data_when_gateway_not_specified.yml +191 -0
  122. data/spec/vcr/Spree_Api_V1_BraintreeClientTokenController/POST_create/user_checkout/returns_proper_json_data_when_gateway_specified.yml +191 -0
  123. data/spec/vcr/Spree_CheckoutController/_update/braintree_payment/advanced_fraud_data_in_source_should_be_updated.yml +71 -0
  124. data/spec/vcr/Spree_CheckoutController/_update/braintree_payment/when_token_credit_card_data_in_source_should_be_updated_from_Braintree_Vault.yml +139 -0
  125. data/spec/vcr/Spree_CheckoutController/_update/braintree_paypal_express_payment/amount_in_payment_should_be_updated.yml +280 -0
  126. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_capture/captures_authorized_amount/updates_Payment_state.yml +206 -0
  127. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_credit/with_refundable_state/should_be_a_success.yml +211 -0
  128. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_credit/with_unrefundable_state/should_not_be_a_success.yml +177 -0
  129. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/data_from_admin_panel/should_include_only_essential_data.yml +78 -0
  130. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/does_not_store_Transaction_in_Vault_by_default.yml +111 -0
  131. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/returns_false_with_invalid_nonce.yml +88 -0
  132. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/returns_false_with_invalid_token.yml +88 -0
  133. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/returns_success_with_valid_token.yml +113 -0
  134. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/returns_suceess_with_valid_nonce.yml +111 -0
  135. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/using_Vault/saves_Braintree_Address_id_to_Spree_Address_when_address_is_being_saved.yml +130 -0
  136. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/using_Vault/saves_unique_Braintree_Addresses_ids.yml +143 -0
  137. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/using_Vault/sends_empty_address_id_when_address_is_already_in_vault.yml +553 -0
  138. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/using_Vault/stores_Transaction.yml +181 -0
  139. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/with_3DSecure_option_turned_on/performs_3DSecure_check.yml +112 -0
  140. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/with_3DSecure_option_turned_on/returns_error.yml +112 -0
  141. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/with_advanced_fraud_tool_enabled/returns_fraud_data.yml +111 -0
  142. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_purchase/with_advanced_fraud_tool_enabled/returns_success.yml +111 -0
  143. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_settle/settles_authorized_amount/does_not_update_Order_payment_state.yml +204 -0
  144. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_settle/settles_authorized_amount/prepares_Checkout_for_status_updating.yml +204 -0
  145. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_settle/settles_authorized_amount/submits_Transaction_for_settlement.yml +377 -0
  146. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_settle/settles_authorized_amount/updates_Payment_state.yml +203 -0
  147. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_update_states/does_not_update_completed_Checkout_on_subsequent_runs.yml +202 -0
  148. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_update_states/updates_Order_payment_state_when_Checkout_is_updated.yml +202 -0
  149. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_update_states/updates_Payment_state_when_Checkout_is_updated.yml +202 -0
  150. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_update_states/updates_payment_State.yml +202 -0
  151. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_void/with_unvoidable_state/should_not_change_payment_source_state.yml +178 -0
  152. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/_void/with_voidable_state/should_change_payment_source_state_to_voided.yml +199 -0
  153. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/generates_token_for_User_registered_in_Braintree.yml +356 -0
  154. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/generates_token_for_new_User.yml +189 -0
  155. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/valid_credentials/generates_token_without_User.yml +89 -0
  156. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase/with_invalid_credentials/raises_Braintree_error.yml +62 -0
  157. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase_Address/_create/creates_Braintree_Address.yml +84 -0
  158. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase_Address/_create/deletes_Braintree_Address.yml +141 -0
  159. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase_Address/_create/finds_Braintree_Address.yml +148 -0
  160. data/spec/vcr/Spree_Gateway_BraintreeVzeroBase_Address/_create/updates_Braintree_Address.yml +154 -0
  161. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/with_auto_capture/should_complete_payment.yml +116 -0
  162. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/with_auto_capture/should_update_payment_s_response_code.yml +111 -0
  163. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/with_auto_capture/should_update_payment_s_source_state_and_transaction_id.yml +111 -0
  164. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/without_auto_capture/should_pend_payment.yml +111 -0
  165. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/without_auto_capture/should_update_payment_s_response_code.yml +111 -0
  166. data/spec/vcr/Spree_Order/complete_with_braintree_vzero_standard_payment/without_auto_capture/should_update_payment_s_source_state_and_transaction_id.yml +110 -0
  167. data/spree_braintree_vzero.gemspec +52 -0
  168. data/vendor/assets/javascripts/maskedinput/jquery.maskedinput.min.js +7 -0
  169. metadata +643 -0
@@ -0,0 +1,191 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://5ffsvj9qxt38xptf:50ea069d312d35fbf779a66b6c86b897@api.sandbox.braintreegateway.com/merchants/zt9ssvxzppgzdjmn/customers/1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip
12
+ Accept:
13
+ - application/xml
14
+ User-Agent:
15
+ - Braintree Ruby Gem 2.64.0
16
+ X-Apiversion:
17
+ - '4'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Wed, 27 Jul 2016 15:37:45 GMT
25
+ Content-Type:
26
+ - application/xml; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ X-Frame-Options:
30
+ - SAMEORIGIN
31
+ - SAMEORIGIN
32
+ X-Xss-Protection:
33
+ - 1; mode=block
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ X-Authentication:
37
+ - basic_auth
38
+ X-User:
39
+ - vzw4dwqpkk82wnfg
40
+ Vary:
41
+ - Accept-Encoding
42
+ Content-Encoding:
43
+ - gzip
44
+ Etag:
45
+ - W/"f67e82f8ea926a55e3dd8646d8911e09"
46
+ Cache-Control:
47
+ - max-age=0, private, must-revalidate
48
+ X-Request-Id:
49
+ - 1c5e7e1a-bc52-437f-b5d9-e003ee8dc4f3
50
+ X-Runtime:
51
+ - '0.286375'
52
+ Strict-Transport-Security:
53
+ - max-age=31536000; includeSubDomains
54
+ body:
55
+ encoding: ASCII-8BIT
56
+ string: !binary |-
57
+ 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
100
+ rheaAAA=
101
+ http_version:
102
+ recorded_at: Wed, 27 Jul 2016 15:37:45 GMT
103
+ - request:
104
+ method: post
105
+ uri: https://5ffsvj9qxt38xptf:50ea069d312d35fbf779a66b6c86b897@api.sandbox.braintreegateway.com/merchants/zt9ssvxzppgzdjmn/client_token
106
+ body:
107
+ encoding: UTF-8
108
+ string: |
109
+ <?xml version="1.0" encoding="UTF-8"?>
110
+ <client-token>
111
+ <customer-id type="integer">1</customer-id>
112
+ <version type="integer">2</version>
113
+ </client-token>
114
+ headers:
115
+ Accept-Encoding:
116
+ - gzip
117
+ Accept:
118
+ - application/xml
119
+ User-Agent:
120
+ - Braintree Ruby Gem 2.64.0
121
+ X-Apiversion:
122
+ - '4'
123
+ Content-Type:
124
+ - application/xml
125
+ response:
126
+ status:
127
+ code: 201
128
+ message: Created
129
+ headers:
130
+ Date:
131
+ - Wed, 27 Jul 2016 15:37:46 GMT
132
+ Content-Type:
133
+ - application/xml; charset=utf-8
134
+ Transfer-Encoding:
135
+ - chunked
136
+ X-Frame-Options:
137
+ - SAMEORIGIN
138
+ - SAMEORIGIN
139
+ X-Xss-Protection:
140
+ - 1; mode=block
141
+ X-Content-Type-Options:
142
+ - nosniff
143
+ X-Authentication:
144
+ - basic_auth
145
+ X-User:
146
+ - vzw4dwqpkk82wnfg
147
+ Vary:
148
+ - Accept-Encoding
149
+ Content-Encoding:
150
+ - gzip
151
+ Etag:
152
+ - W/"62ceea689040985e124769b45cdaa56e"
153
+ Cache-Control:
154
+ - max-age=0, private, must-revalidate
155
+ X-Request-Id:
156
+ - 0426bd29-6706-46b5-aade-10ef202a1cfe
157
+ X-Runtime:
158
+ - '0.081845'
159
+ Strict-Transport-Security:
160
+ - max-age=31536000; includeSubDomains
161
+ body:
162
+ encoding: ASCII-8BIT
163
+ string: !binary |-
164
+ H4sIAErVmFcAA8RVy3KjOBTd91eksu9pECYTqtLdFccBTBm5TQAh7UCiw0MC
165
+ T2zM4+vn4mTSSVXmsZsFG6T7Oufco5vvg5IXp/zpULbN10v9N+3yIm94K8rm
166
+ 8etlFNqfry+/f/t0w2WZN8fPx7bOm2+fLi5uTqns8m/56CGWeFNKrG5dtePm
167
+ zitEErSZ4e1zZWvz/0DJjqF45K63z5pduS09RatbDat73V+xApO48sPHEYeP
168
+ Olvdm7hi0l/RyV8JRUlkbEOv3jpY0RBLn9jl1tktMMElnijaEk+ycN37jr/4
169
+ 6eCREVtjJPhJk53lV7cDLrUej9qI9d2Aw3bCU6vhcoHw5EP+9cJf+U/+6rb3
170
+ 7QF6uR2xwjo3glNG4jFBsv4R2lyEcF6xI8xZpY7dCdvas5V+JVZy4gZb5M2y
171
+ Z8a+TpXeJW7UQ17E3bjMHFkl6CjzUNOZYpNQrcmTQvOnYsHdQK3LvqTI6piS
172
+ TZx4B8CvTN1A465/tRmtgjt1x5HdMcc75XdmyZUN+AUwY9zQJJAC2eZG4VMW
173
+ wkwr/9wzRUUBd6aNsde2CZ5EU1xxd9nkKvgjI4sTRcOeEVNLkN2nDxbyH6wq
174
+ Q6ZKidD5C1/PfUEeZ5CZEpKP6ysyepVoaJk89CXEozTxTpnS5QufEyVmTZW1
175
+ eI59rrFLlvv/Z671Ya3siaNY43o8Znfrq7UqNOEup215faIQzxLIpbyREtkJ
176
+ FzRERCGc2KBJ3QEnx/McSayl9kfx8P/ORFDvmI3m6+z/mo+YReZKwBhP62r/
177
+ +7r5IPfLHBtid5QMpgAN8f9Y42+wKX8CZ8IpZnzvIxRXIvFkAL1QNUgG9SGX
178
+ zuAOd2wTvsM/nZ37VsGeG8sDTeSWEl3O/Gbq+nHuAe50+Rl/fEhJ3Il7Wc/n
179
+ uzg2GPEX3PHcRI8dYgs/coOWRayMgfGdMn9EUVEwR0cJsuTWYQf//n70Y1sx
180
+ 7XqkiY2j2qpYLWigHb2o2g282YeRXmgpYmkcYcPXg1FMuxI8qOdKIkqw+U5/
181
+ q/a0QfECeu4zJ3rBbNnP3IgES17bDVexzOa+3/F+O+tW5o4N8w3yrM0HS8sM
182
+ f64FOsHyQ50bWArX72jjFSlwOudmCPwpEUX+YMLeaXP8yz0cc9XPu9QKN+j5
183
+ NPeKW0bwU2bE2qZZFnmyLLK717gadlBSI7j7VX/fCTIc5pywuyehnXsvt7Bb
184
+ gkTACcyl5Aj7fpw1FiprC3tggFc/QSx47TCxj/f7BP4FfJryjBWcQ9zss/jV
185
+ EwErpuwDR3OdNxqN3usgI/YEmh3/0rk/zlqBd8EZ9uA1S2bMup7rBtNbHf7K
186
+ rUuucEtnfyG4AmxeczPk9dSAdwbmpEY9YzRrHXRvVnkkp0zDJ+ZE8zzuTt6e
187
+ 9wI0AHWBAxTbmbLBs+P6LRZvvMeb+1g3H+8Y1Hrxg1kzlmKlZ918eX4jP918
188
+ ef96/gkAAP//AwBwIIdPdAcAAA==
189
+ http_version:
190
+ recorded_at: Wed, 27 Jul 2016 15:37:46 GMT
191
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,71 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jp6z459pbpbhk923:9660751f1afe06d008d71c74efd226a7@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/payment_methods/any/k5jkr6
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip
12
+ Accept:
13
+ - application/xml
14
+ User-Agent:
15
+ - Braintree Ruby Gem 2.56.0
16
+ X-Apiversion:
17
+ - '4'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 14 Dec 2015 13:55:16 GMT
25
+ Content-Type:
26
+ - application/xml; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - close
31
+ X-Authentication:
32
+ - basic_auth
33
+ X-User:
34
+ - 8x9btyr9rkybbwgr
35
+ Vary:
36
+ - Accept-Encoding
37
+ Content-Encoding:
38
+ - gzip
39
+ X-Ua-Compatible:
40
+ - IE=Edge,chrome=1
41
+ Etag:
42
+ - '"05563fd46908a1d0548907892793a562"'
43
+ Cache-Control:
44
+ - max-age=0, private, must-revalidate
45
+ X-Request-Id:
46
+ - 7f7a379c48ced90422c70f9281e36dfd
47
+ X-Runtime:
48
+ - '0.138665'
49
+ X-Frame-Options:
50
+ - SAMEORIGIN
51
+ Strict-Transport-Security:
52
+ - max-age=31536000; includeSubDomains
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: !binary |-
56
+ H4sIAETKblYAA3xUy7KiMBDd36+w2Ecevi2Mu/mB0VnM5lZDWsgYEiYJXv37
57
+ SQAFte6wgT7n9CPdHdL9tRKTC2rDldwF8TQKJihzxbgsdsHx8IOsgz39SHON
58
+ jFuSg2b0YzJJMy7pPPZPGvpvj3mS2FuN9Bc3kIaDfWdLJRhqIqHCieRiF1jd
59
+ YBB2vKoq1DkHQY/yLNWXdBEGrJM00uobUSfCjWlA5jjWvpOtk0awyAjYia9l
60
+ FzBnWl5hQJMoXpA4InFyiJNtstrOVr9doIdD598Yq1wVhDOaOHZkPtFC5WBd
61
+ E+nx50j1QL2WYcbtUHFndsQJGnEvMFNKIMiA+u54WUt2wka7bhONRSN8kaNg
62
+ r4yX47Xmus1PKiVtSf243sAX5Q1B+9asnqQt+lAie631BMJg79FnLxGELd3c
63
+ R1MaYV7CKyiQNFrQ0trabMMQjEFrppkG7saJWLjDfMFt6lYhrOFWobSfFdpS
64
+ sU+hChVe3KpNa1nsUV64VtILdgYky9Q1DYf4bTa3F26vSQbyPJT0hHqZAGPJ
65
+ nHbL3Rsed+m1EqP1vAMtqbEGPhrIHfCkaTKTa177Tpq+c6A13Prdt+qMkp4X
66
+ f856mYad5fFG8r8NEtlUWbtx7mz8xFHTzWo9m2VRMpux+fq03CS4wbl7LVeQ
67
+ bZINS8NvXdu4Nfv/nYhJND/E0XYx2yaxuxODQ+t/QVkpYtj5my148L1au9Td
68
+ PXg7fXvfhl/LPwAAAP//AwAkEDuOkAQAAA==
69
+ http_version:
70
+ recorded_at: Mon, 14 Dec 2015 13:55:16 GMT
71
+ recorded_with: VCR 3.0.0
@@ -0,0 +1,139 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jp6z459pbpbhk923:9660751f1afe06d008d71c74efd226a7@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/payment_methods/any/k5jkr6
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip
12
+ Accept:
13
+ - application/xml
14
+ User-Agent:
15
+ - Braintree Ruby Gem 2.56.0
16
+ X-Apiversion:
17
+ - '4'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 14 Dec 2015 14:23:39 GMT
25
+ Content-Type:
26
+ - application/xml; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - close
31
+ X-Authentication:
32
+ - basic_auth
33
+ X-User:
34
+ - 8x9btyr9rkybbwgr
35
+ Vary:
36
+ - Accept-Encoding
37
+ Content-Encoding:
38
+ - gzip
39
+ X-Ua-Compatible:
40
+ - IE=Edge,chrome=1
41
+ Etag:
42
+ - '"7ffc4a63bad4224655289b99691d92f9"'
43
+ Cache-Control:
44
+ - max-age=0, private, must-revalidate
45
+ X-Request-Id:
46
+ - a7f40a1d1c8bf933538069a1276f3a7e
47
+ X-Runtime:
48
+ - '0.174155'
49
+ X-Frame-Options:
50
+ - SAMEORIGIN
51
+ Strict-Transport-Security:
52
+ - max-age=31536000; includeSubDomains
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: !binary |-
56
+ H4sIAOvQblYAA3xUy7KiMBDd36+w2Ecevi2Mu/mB0VnM5lZDWsgYEiYJXv37
57
+ SQAFte6wgT7n9CPdHdL9tRKTC2rDldwF8TQKJihzxbgsdsHx8IOsgz39SHON
58
+ jFuSg2b0YzJJMy7pPPZPGvpvj3mS2FuN9Bc3kIaDfWdLJRhqIqHCieRiF1jd
59
+ YBB2vKoq1DkHQY/yLNWXdBEGrJM00uobUSfCjWlA5jjWvpOtk0awyAjYia9l
60
+ FzBnWl5hQJMoXpA4InFyiJNtstrOVr9doIdD598Yq1wVhDOaOHZkPtFC5WBd
61
+ E+nx50j1QL2WYcbtUHFndsQJGnEvMFNKIMiA+u54WUt2wka7bhONRSN8kaNg
62
+ r4yX47Xmus1PKiVtSf243sAX5Q1B+9asnqQt+lAie631BMJg79FnLxGELd3c
63
+ R1MaYV7CKyiQNFrQ0trabMMQjEFrppkG7saJWLjDfMFt6lYhrOFWobSfFdpS
64
+ sU+hChVe3KpNa1nsUV64VtILdgYky9Q1DYf4bTa3F26vSQbyPJT0hHqZAGPJ
65
+ nHbL3Rsed+m1EqP1vAMtqbEGPhrIHfCkaTKTa177Tpq+c6A13Prdt+qMkp4X
66
+ f856mYad5fFG8r8NEtlUWbtx7mz8xFHTzWo9m2VRMpux+fq03CS4wbl7LVeQ
67
+ bZINS8NvXdu4Nfv/nYhJND/E0XYx2yaxuxODQ+t/QVkpYtj5my148L1au9Td
68
+ PXg7fXvfhl/LPwAAAP//AwAkEDuOkAQAAA==
69
+ http_version:
70
+ recorded_at: Mon, 14 Dec 2015 14:23:40 GMT
71
+ - request:
72
+ method: get
73
+ uri: https://jp6z459pbpbhk923:9660751f1afe06d008d71c74efd226a7@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/payment_methods/any/k5jkr6
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ''
77
+ headers:
78
+ Accept-Encoding:
79
+ - gzip
80
+ Accept:
81
+ - application/xml
82
+ User-Agent:
83
+ - Braintree Ruby Gem 2.56.0
84
+ X-Apiversion:
85
+ - '4'
86
+ response:
87
+ status:
88
+ code: 200
89
+ message: OK
90
+ headers:
91
+ Date:
92
+ - Mon, 14 Dec 2015 14:23:40 GMT
93
+ Content-Type:
94
+ - application/xml; charset=utf-8
95
+ Transfer-Encoding:
96
+ - chunked
97
+ Connection:
98
+ - close
99
+ X-Authentication:
100
+ - basic_auth
101
+ X-User:
102
+ - 8x9btyr9rkybbwgr
103
+ Vary:
104
+ - Accept-Encoding
105
+ Content-Encoding:
106
+ - gzip
107
+ X-Ua-Compatible:
108
+ - IE=Edge,chrome=1
109
+ Etag:
110
+ - '"29d22915f441957a83e788efc0b63923"'
111
+ Cache-Control:
112
+ - max-age=0, private, must-revalidate
113
+ X-Request-Id:
114
+ - 035ca7a945c6c9028b32e8dba1010457
115
+ X-Runtime:
116
+ - '0.093395'
117
+ X-Frame-Options:
118
+ - SAMEORIGIN
119
+ Strict-Transport-Security:
120
+ - max-age=31536000; includeSubDomains
121
+ body:
122
+ encoding: ASCII-8BIT
123
+ string: !binary |-
124
+ H4sIAOzQblYAA3xUy7KiMBDd36+w2Ecevi2Mu/mB0VnM5lZDWsgYEiYJXv37
125
+ SQAFte6wgT7n9CPdHdL9tRKTC2rDldwF8TQKJihzxbgsdsHx8IOsgz39SHON
126
+ jFuSg2b0YzJJMy7pPPZPGvpvj3mS2FuN9Bc3kIaDfWdLJRhqIqHCieRiF1jd
127
+ YBB2vKoq1DkHQY/yLNWXdBEGrJM00uobUSfCjWlA5jjWvpOtk0awyAjYia9l
128
+ FzBnWl5hQJMoXpA4InFyiJNtstrOVr9doIdD598Yq1wVhDOaOHZkPtFC5WBd
129
+ E+nx50j1QL2WYcbtUHFndsQJGnEvMFNKIMiA+u54WUt2wka7bhONRSN8kaNg
130
+ r4yX47Xmus1PKiVtSf243sAX5Q1B+9asnqQt+lAie631BMJg79FnLxGELd3c
131
+ R1MaYV7CKyiQNFrQ0trabMMQjEFrppkG7saJWLjDfMFt6lYhrOFWobSfFdpS
132
+ sU+hChVe3KpNa1nsUV64VtILdgYky9Q1DYf4bTa3F26vSQbyPJT0hHqZAGPJ
133
+ nHbL3Rsed+m1EqP1vAMtqbEGPhrIHfCkaTKTa177Tpq+c6A13Prdt+qMkp4X
134
+ f856mYad5fFG8r8NEtlUWbtx7mz8xFHTzWo9m2VRMpux+fq03CS4wbl7LVeQ
135
+ bZINS8NvXdu4Nfv/nYhJND/E0XYx2yaxuxODQ+t/QVkpYtj5my148L1au9Td
136
+ PXg7fXvfhl/LPwAAAP//AwAkEDuOkAQAAA==
137
+ http_version:
138
+ recorded_at: Mon, 14 Dec 2015 14:23:41 GMT
139
+ recorded_with: VCR 3.0.0
@@ -0,0 +1,280 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/customers/1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip
12
+ Accept:
13
+ - application/xml
14
+ User-Agent:
15
+ - Braintree Ruby Gem 2.49.0
16
+ X-Apiversion:
17
+ - '4'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Wed, 04 Nov 2015 11:44:08 GMT
25
+ Content-Type:
26
+ - application/xml; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - close
31
+ X-Authentication:
32
+ - basic_auth
33
+ X-User:
34
+ - 97syg9czj6hrdzyn
35
+ Vary:
36
+ - Accept-Encoding
37
+ Content-Encoding:
38
+ - gzip
39
+ X-Ua-Compatible:
40
+ - IE=Edge,chrome=1
41
+ Etag:
42
+ - '"aa3a781d7c32f669d923b213e8910fa7"'
43
+ Cache-Control:
44
+ - max-age=0, private, must-revalidate
45
+ X-Request-Id:
46
+ - c9ad387ad0d205a8e382e6536545efbe
47
+ X-Runtime:
48
+ - '0.462492'
49
+ X-Frame-Options:
50
+ - SAMEORIGIN
51
+ Strict-Transport-Security:
52
+ - max-age=31536000; includeSubDomains
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: !binary |-
56
+ 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
113
+ 2GGOrPXufwAAAP//AwBzY43hjswAAA==
114
+ http_version:
115
+ recorded_at: Wed, 04 Nov 2015 11:44:09 GMT
116
+ - request:
117
+ method: post
118
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions
119
+ body:
120
+ encoding: UTF-8
121
+ string: |
122
+ <?xml version="1.0" encoding="UTF-8"?>
123
+ <transaction>
124
+ <customer-id>1</customer-id>
125
+ <payment-method-token>2v7s52</payment-method-token>
126
+ <amount>20.0</amount>
127
+ <order-id>R018990159</order-id>
128
+ <descriptor>
129
+ <name></name>
130
+ </descriptor>
131
+ <options>
132
+ <submit-for-settlement type="boolean">false</submit-for-settlement>
133
+ <add-billing-address-to-payment-method type="boolean">false</add-billing-address-to-payment-method>
134
+ <three-d-secure>
135
+ <required type="boolean">false</required>
136
+ </three-d-secure>
137
+ <store-in-vault type="boolean">false</store-in-vault>
138
+ </options>
139
+ <type>sale</type>
140
+ </transaction>
141
+ headers:
142
+ Accept-Encoding:
143
+ - gzip
144
+ Accept:
145
+ - application/xml
146
+ User-Agent:
147
+ - Braintree Ruby Gem 2.49.0
148
+ X-Apiversion:
149
+ - '4'
150
+ Content-Type:
151
+ - application/xml
152
+ response:
153
+ status:
154
+ code: 201
155
+ message: Created
156
+ headers:
157
+ Date:
158
+ - Wed, 04 Nov 2015 11:44:12 GMT
159
+ Content-Type:
160
+ - application/xml; charset=utf-8
161
+ Transfer-Encoding:
162
+ - chunked
163
+ Connection:
164
+ - close
165
+ X-Authentication:
166
+ - basic_auth
167
+ X-User:
168
+ - 97syg9czj6hrdzyn
169
+ Vary:
170
+ - Accept-Encoding
171
+ Content-Encoding:
172
+ - gzip
173
+ X-Ua-Compatible:
174
+ - IE=Edge,chrome=1
175
+ Etag:
176
+ - '"37e8a47a78a35c299e1df1e4ad1e65f8"'
177
+ Cache-Control:
178
+ - max-age=0, private, must-revalidate
179
+ X-Request-Id:
180
+ - 8505cd9e6bb847ef363d5520f625d136
181
+ X-Runtime:
182
+ - '1.751229'
183
+ X-Frame-Options:
184
+ - SAMEORIGIN
185
+ Strict-Transport-Security:
186
+ - max-age=31536000; includeSubDomains
187
+ body:
188
+ encoding: ASCII-8BIT
189
+ string: !binary |-
190
+ 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
225
+ http_version:
226
+ recorded_at: Wed, 04 Nov 2015 11:44:12 GMT
227
+ - request:
228
+ method: get
229
+ uri: https://api.sandbox.braintreegateway.com/merchants//customers/1
230
+ body:
231
+ encoding: US-ASCII
232
+ string: ''
233
+ headers:
234
+ Accept-Encoding:
235
+ - gzip
236
+ Accept:
237
+ - application/xml
238
+ User-Agent:
239
+ - Braintree Ruby Gem 2.57.0
240
+ X-Apiversion:
241
+ - '4'
242
+ response:
243
+ status:
244
+ code: 404
245
+ message: Not Found
246
+ headers:
247
+ Date:
248
+ - Tue, 23 Feb 2016 15:18:14 GMT
249
+ Content-Type:
250
+ - application/xml; charset=utf-8
251
+ Transfer-Encoding:
252
+ - chunked
253
+ Connection:
254
+ - close
255
+ X-Frame-Options:
256
+ - SAMEORIGIN
257
+ - SAMEORIGIN
258
+ X-Xss-Protection:
259
+ - 1; mode=block
260
+ X-Content-Type-Options:
261
+ - nosniff
262
+ Vary:
263
+ - Accept-Encoding
264
+ Content-Encoding:
265
+ - gzip
266
+ Cache-Control:
267
+ - no-cache
268
+ X-Request-Id:
269
+ - 7465b3d8-444f-4760-8a22-2595f9df66c5
270
+ X-Runtime:
271
+ - '0.012202'
272
+ Strict-Transport-Security:
273
+ - max-age=31536000; includeSubDomains
274
+ body:
275
+ encoding: ASCII-8BIT
276
+ string: !binary |-
277
+ H4sIADZ4zFYAAwAAAP//AwAAAAAAAAAAAA==
278
+ http_version:
279
+ recorded_at: Tue, 23 Feb 2016 15:18:14 GMT
280
+ recorded_with: VCR 3.0.1