spree_braintree_vzero 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ H4sIAIjvOVYAA+ydW4+jOBbH3/tTRBlp3qhgbkmYFL21Mzsajbp7WurqXWlf
57
+ WgachCowKSC3/vRrkxBCAimCWxTZOVKpO/hyIPbP52+wOZm83wR+b0Wi2Avp
58
+ fR/dyf0eoU7oenR23//6+Ls06r+33k2cZZyEAYmsd73exHMtNBmwf/kBS3Tm
59
+ mCYSO946jrsIqOqskid7RqPJ4DiXl556UZxIFAfE+i0MPOo9TwZHabyIj7Oj
60
+ P7CPk8kgT+DZThgsMN32qOff95NoSfqDNJ0E2POteBER8g+ywcHCJ3es7GSw
61
+ y+BFFvOQkrOKU7w5S1sTO/aS87JORHBCXAknvWS7IPd9lx0mXkD6liIjXUKy
62
+ JBuPSDGVkamo/50M8gpp/eXCva5+XmF3/rQbpKlHfDc+XJLrJZKDIzfeG8VR
63
+ hLd9nlvM36WwNNvzfdbBEnbdiMRxlr7r2qfnrG/3aVnfS7t+Pz7MCx11oo2j
64
+ 007dF8p78reQnHRsdrJd91q/7v5np9sn5EXihPVxcrh4JPc+hCvib3tf0ozJ
65
+ 4KRAXpNsEkJd3pz7rE9hlMzXJGaVzvKOLjt0sO8lW+sPElE3pOzKs5S8UERm
66
+ bAhZDx8mg/3HPG8Rxgn2JTasiKXqsqxPBsdJx99+SZNomyZL2F/MsWJ9/cIb
67
+ 4Tz9Ui2V1Xooq6ZWVaNL1qWeY400+aRelnNeMe26r5QNFJe1PeM07oXT3kNa
68
+ HOdWTnv49TGE2BhQTdlgf2djaG+lxkgqWimOpNTGoGIcsPFBLU1GymjEyxx6
69
+ csIHkcRPZ/3bi/k3PBwfl5iHvsuGB//apw4kQ5y7RQ/7rPGeabimKeVZWl5s
70
+ 13zhVPLieImpQ4q9epxxqCTeuDXGe16ED4SEw55SepaalXeJ7SX5t90d5plT
71
+ vPSzC7bD0CeY9q0p9mPCy6a5eellxLpEYmNs6fMrP7J6mpNVIZuFF6UXJAUh
72
+ TeYWUvh4P0ksKb0lOGLtpsiF4mlqoTTjv/zi97mH0nOC/WTOICH5ZR+lZcW8
73
+ AM+ItIx8a54ki9gcDHAckyS+syPsUe7dZuwLrvGWK9xggbcBocm3gCTz0P3m
74
+ h7NwsGJ83i3o7D2hKy8KKS9wH2Pq2uGGufeD/cMZGUh8JNiYPueXVkjNiqZe
75
+ W7PQaIT2Llw75LFLiUL/iOss4VAgIgvMQPoUsrz95ywvXtqxE3kL3shFKcvH
76
+ ThI+E2opq2Gssz7cHWV5S+q9LFN/Zae0sq/sMaWMLMe2kYtU1bFdTZ1qmLiG
77
+ a2tDV3E0W1MMZqiy6sH2a+4GSbL2iJCpjk1ZL3c3K0KDUIrd5wpYDvlHNSJ2
78
+ GbuxVNoi6fgtyvv1gv9igOCD4L+54CNTRqYyFhT83AoI/lmzjEDwQfD3Z7wp
79
+ wbdnkRrbnRL8Gu6mq4Kv6SD4IPhvLviyqY9NTfQOP7cCgl+zcUHwQfA7LvhP
80
+ i2hM1x0U/IvupquCvwpA8EHwOyD4SDP1obDgZ1ZA8Gs2Lgg+CH7HBV/X4plt
81
+ dFLwL7ibrgq+ooLgg+B3QPBl9qcIC35mBQS/ZuOC4IPgd1zwx98X0bCbd/gX
82
+ 3E1XBV9fgeCD4L+14MtjU0emIvhI/8gKCH7NxgXBB8HvuOBremC4s+4J/mV3
83
+ 01XBDzYg+CD4HRB8zTBVXVjwMysg+DUbFwQfBL/jgm9vEqOLd/iX3c2bCv7/
84
+ sUOTjUdFMWXV1MGhgUO7SYc2NWbzcdA1h6Y+ykNTNUwNgUN7A4emmNr5i97g
85
+ 0MCh3YBDm9uG/dI1h1YcV+DQWnVoyNTZDA3eEwOHdpMOzVg8O0HUTYcmV8ah
86
+ aMOhFRLSZ2i8TxbYl7CT+o3S4DHFIkducP9EbsaI4wSxlin3aK97HWXI36JD
87
+ momae53rHMUuINATpuTODauCBf2g4bZrwGsGXH3YR+OYPp0vqLwOZLHJS4D0
88
+ YolHbaLElzzqJR7PP+/fyaAMjzaYkUc8hInOvoAGzFzFzNNIacYMUvhtJmt1
89
+ peI2s/PMXIjLJcgMv5gqZNg3I9Ht8qJqzjhpwsulMGaCvJym7dRsvzpESnXs
90
+ dOmI9elcO15ArdP7r8euS4tdjl+3O1l5DLtd3xSXRf+Do+3PP6mK9kv87JFZ
91
+ 2BsPjKq107OV09ITHFZFH3FEf/5J0dRf1udrpdlK6ceH05XS4jqpyjpbLl0o
92
+ LV0m/fzh4jJp6SLp579KK6nllbKFUAMZl5dIiwukn0OfjZfy5dBa63XMPxqm
93
+ opuqXO5eavrY3MbpmJkMCt1dxvSQCjD9ZzinrwBdvh/g1d0ATfcCNNoJUGMf
94
+ QPUugJp7AJrsAGi0/t9w9V9k7b8u7CNTVUytYvt5TdhzGw1gd1YCsFOy/sY/
95
+ APAAfG3g2Q2HXPGCZW3guY2ycDE1gB+twbsD7C3Cjir2Gl8DOyp75lUD9u9b
96
+ 8O4AfKvAD0254tFAfeCH5dE/awAfzQF4AL494Mcmf7VdbDqzs9FwOhNtYDoD
97
+ sLcFuzISfTKT22gAux4D7AB7m7CLPZnJbTSAfTMG2AH2VmDnb+vrlWGv6sF+
98
+ ZKMJ7AHM2wH4VoE3BG9U9za0ZsAnLnh3gL012MemVvHCUH3Y9zYawK4pADvA
99
+ 3ibswlOZvY0GsK+GMJUB4FsGXhd6KrO30fBG9UkH7w6wtwU7Gle+Klgb9sxG
100
+ A9gXADvA3irsFZvzr4K94U0qhe0DAHzrwIvO3bmNsldyagC/tsG7A+xtwa5o
101
+ lXGpasOe2Wgyb48AdoC9HdiRqcimKubZcxsNYI9hKgPAtw58+e8wXwW81nCv
102
+ jAHbBwD2NmFPI2eJwl72WnSdV/Yc8O4AfEvAq2nYhGFlEPl64eb2NprulxF5
103
+ bQ+8O8B+NewCU5mCjSZ7ZWAqA7C3Cbsq8My9YKMJ7CJ73GEqA8BfCbxmyiNT
104
+ EQN+Z6PhY8gEpjIAe6uwi83bcxtNnspMAXaAvU3YK+JBXgV7w9XUqchOyAfq
105
+ bl+B/Z8pOiJxwZCi9h7DNY0Jj1r1Q+KBfcG093uEqePFTlhN9q+XI4KNNYQQ
106
+ kF1GpcZD4iF9FyKgIdkFG01Wk0RChAHZQHY1lZpsIoG3Tgs2GpAdiMQTqPg1
107
+ PJifAOvX/jCb8I9Q1QkFNhJgfRqGwDqwfius6yJPWcCvA+vXsH7hF7aFf024
108
+ zn2nyMZG8OvA+g2xrqjg14H1NljnL4myP4F704KNJqyLzGHArwPrN8T6SiQg
109
+ Evh1YP0a1pEmFPyrYKMB6zORH5EBvw6s3xDrmkj8APDrwPo1rOv8kaEg65mN
110
+ Ji+Yfge/Dqz/PVh/McCvA+utsI5MGQm9j1Gw0WTHrsi+LvDrwPoNsf70DH4d
111
+ WG+FdTWNJy02h8ltNGDdnoFfB9b/Hqw/vQiw/hEnyZysX+H9cR4GOBbfx6v1
112
+ PmKPsh74Qft4/wrwHFdz/elfF7k2RkgdAtclTCpDPtdAmqk1n68UbVzk+nBA
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