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,154 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/customers/1/addresses
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <address>
11
+ <company>Company</company>
12
+ <country-code-alpha2>US</country-code-alpha2>
13
+ <country-code-alpha3>USA</country-code-alpha3>
14
+ <country-code-numeric type="integer">840</country-code-numeric>
15
+ <country-name>United States of America</country-name>
16
+ <first-name>John</first-name>
17
+ <last-name>Doe</last-name>
18
+ <locality>Herndon</locality>
19
+ <postal-code>35005</postal-code>
20
+ <region>AL</region>
21
+ <street-address>10 Lovely Street</street-address>
22
+ <extended-address>Northwest</extended-address>
23
+ </address>
24
+ headers:
25
+ Accept-Encoding:
26
+ - gzip
27
+ Accept:
28
+ - application/xml
29
+ User-Agent:
30
+ - Braintree Ruby Gem 2.49.0
31
+ X-Apiversion:
32
+ - '4'
33
+ Content-Type:
34
+ - application/xml
35
+ response:
36
+ status:
37
+ code: 201
38
+ message: Created
39
+ headers:
40
+ Date:
41
+ - Tue, 13 Oct 2015 14:08:24 GMT
42
+ Content-Type:
43
+ - application/xml; charset=utf-8
44
+ Transfer-Encoding:
45
+ - chunked
46
+ Connection:
47
+ - close
48
+ X-Authentication:
49
+ - basic_auth
50
+ Strict-Transport-Security:
51
+ - max-age=31536000
52
+ - max-age=31536000; includeSubDomains
53
+ X-User:
54
+ - 97syg9czj6hrdzyn
55
+ Vary:
56
+ - Accept-Encoding
57
+ Content-Encoding:
58
+ - gzip
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ Etag:
62
+ - '"0e82d90b77b9f4bd942ef02a80dc036f"'
63
+ Cache-Control:
64
+ - max-age=0, private, must-revalidate
65
+ X-Request-Id:
66
+ - 4372d04733cabab547bb62ba10a8b629
67
+ X-Runtime:
68
+ - '0.092786'
69
+ X-Frame-Options:
70
+ - SAMEORIGIN
71
+ body:
72
+ encoding: ASCII-8BIT
73
+ string: !binary |-
74
+ H4sIAFgQHVYAA5RST2/CIBS/+ylI7wxqNTEGMWbLsixmF/WyGylPJWmhAers
75
+ tx9UbRv14gl+/14e78GW57JAJ7BOGb1I0jeaINC5kUofFslu+4lnyZKPmJDS
76
+ gnN8hBBTknvHSDgiymvnTQkWB5wyMoRR3ivrPNaiBP5tjpqRARH1QtzQhwFG
77
+ etjWNmUldMPfL2eofiWi6LwF8PjWWUrR2pygaNCmFRi5M8QMnD1oCbIjf4z1
78
+ xz9wwf6gte2ZXBTKN/wLrJYm9N8xUbZwCHPjqzUj12tkK+O8KHCYIvBsSumU
79
+ kSF1eVmtvW1aAouiOoox323iAx/55/4s+FfPAtljQNdhIyrnswm9S9yUYaQd
80
+ /04rDzLMUnhwyOzRqjWKPt9vyUIwhbl55JsKFokM0KsSEj6m6RSnFKfZNp3M
81
+ 6Ww+nvyGCl2gzdeVfC3fB8LPJN26/gEAAP//AwCaLVqRzAIAAA==
82
+ http_version:
83
+ recorded_at: Tue, 13 Oct 2015 14:08:24 GMT
84
+ - request:
85
+ method: put
86
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/customers/1/addresses/ts
87
+ body:
88
+ encoding: UTF-8
89
+ string: |
90
+ <?xml version="1.0" encoding="UTF-8"?>
91
+ <address>
92
+ <first-name>new_name</first-name>
93
+ </address>
94
+ headers:
95
+ Accept-Encoding:
96
+ - gzip
97
+ Accept:
98
+ - application/xml
99
+ User-Agent:
100
+ - Braintree Ruby Gem 2.49.0
101
+ X-Apiversion:
102
+ - '4'
103
+ Content-Type:
104
+ - application/xml
105
+ response:
106
+ status:
107
+ code: 200
108
+ message: OK
109
+ headers:
110
+ Date:
111
+ - Tue, 13 Oct 2015 14:08:25 GMT
112
+ Content-Type:
113
+ - application/xml; charset=utf-8
114
+ Transfer-Encoding:
115
+ - chunked
116
+ Connection:
117
+ - close
118
+ X-Authentication:
119
+ - basic_auth
120
+ Strict-Transport-Security:
121
+ - max-age=31536000
122
+ - max-age=31536000; includeSubDomains
123
+ X-User:
124
+ - 97syg9czj6hrdzyn
125
+ Vary:
126
+ - Accept-Encoding
127
+ Content-Encoding:
128
+ - gzip
129
+ X-Ua-Compatible:
130
+ - IE=Edge,chrome=1
131
+ Etag:
132
+ - '"93ed435c674ff5d4f439faf2083c4f41"'
133
+ Cache-Control:
134
+ - max-age=0, private, must-revalidate
135
+ X-Request-Id:
136
+ - a2da95ff3c0592cc958c60c5e62286c3
137
+ X-Runtime:
138
+ - '0.092180'
139
+ X-Frame-Options:
140
+ - SAMEORIGIN
141
+ body:
142
+ encoding: ASCII-8BIT
143
+ string: !binary |-
144
+ H4sIAFkQHVYAA4xST2/CIBS/+ylI76zU2sQYxJgtyw5mF/Wyy0LKU5u00ABV
145
+ ++33qNYa9bAT/P7B4z344lyV5AjWFUbPo+SNRQR0blSh9/Nou/mk02ghRlwq
146
+ ZcE5MSKEF0p4x2NcAsob500FliJOeHwPg7wrrPNUywqEhtNv2PD4jgyeUvbo
147
+ w6A6wO58U9VSt+L9suINVyKIzlsAT/vqEkZW5ghlS9adwOMHQ8jA2YNWoG7k
148
+ t7H+cAKH9ietK8/ksix8K77AamU0VtgzQbawx96J5YrH121ga+O8LCl2EkSa
149
+ MZbx+J66vKzR3rYdQWVZH+RYbNfhgc/8a3+K/uWrQPoc0A1OpcjFdMIeEr1y
150
+ H+nav9WFB4W9lB4cMTuy7IxyyA9TsoAm7Jsnvq1hHimEvqggEmOWZDRhNEk3
151
+ yWTGprPx5AdPuAW6fFOr/+czzA8B/J3xbVx/AAAA//8DANEe46/QAgAA
152
+ http_version:
153
+ recorded_at: Tue, 13 Oct 2015 14:08:25 GMT
154
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,116 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <channel>SpreeCommerceInc_Cart_Braintree</channel>
12
+ <customer>
13
+ </customer>
14
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
15
+ <amount>12.73</amount>
16
+ <order-id>R501866290</order-id>
17
+ <descriptor>
18
+ <name></name>
19
+ </descriptor>
20
+ <options>
21
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
22
+ <add-billing-address-to-payment-method type="boolean">false</add-billing-address-to-payment-method>
23
+ <three-d-secure>
24
+ <required type="boolean">false</required>
25
+ </three-d-secure>
26
+ <store-in-vault type="boolean">false</store-in-vault>
27
+ </options>
28
+ <type>sale</type>
29
+ </transaction>
30
+ headers:
31
+ Accept-Encoding:
32
+ - gzip
33
+ Accept:
34
+ - application/xml
35
+ User-Agent:
36
+ - Braintree Ruby Gem 2.58.0
37
+ X-Apiversion:
38
+ - '4'
39
+ Content-Type:
40
+ - application/xml
41
+ response:
42
+ status:
43
+ code: 201
44
+ message: Created
45
+ headers:
46
+ Date:
47
+ - Wed, 24 Feb 2016 09:40:20 GMT
48
+ Content-Type:
49
+ - application/xml; charset=utf-8
50
+ Transfer-Encoding:
51
+ - chunked
52
+ Connection:
53
+ - close
54
+ X-Frame-Options:
55
+ - SAMEORIGIN
56
+ - SAMEORIGIN
57
+ X-Xss-Protection:
58
+ - 1; mode=block
59
+ X-Content-Type-Options:
60
+ - nosniff
61
+ X-Authentication:
62
+ - basic_auth
63
+ X-User:
64
+ - 97syg9czj6hrdzyn
65
+ Vary:
66
+ - Accept-Encoding
67
+ Content-Encoding:
68
+ - gzip
69
+ Etag:
70
+ - W/"4a15270d3728736c1afdd8803590fbfc"
71
+ Cache-Control:
72
+ - max-age=0, private, must-revalidate
73
+ X-Request-Id:
74
+ - d45f79c6-fedf-472d-bfe0-cb4b8ab9a71e
75
+ X-Runtime:
76
+ - '2.233330'
77
+ Strict-Transport-Security:
78
+ - max-age=31536000; includeSubDomains
79
+ body:
80
+ encoding: ASCII-8BIT
81
+ string: !binary |-
82
+ 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
113
+ 9PxeYhMAAA==
114
+ http_version:
115
+ recorded_at: Wed, 24 Feb 2016 09:40:20 GMT
116
+ recorded_with: VCR 3.0.1
@@ -0,0 +1,111 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <customer>
12
+ </customer>
13
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
14
+ <amount>20.00</amount>
15
+ <order-id>R049794534</order-id>
16
+ <descriptor>
17
+ <name></name>
18
+ </descriptor>
19
+ <options>
20
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
21
+ <add-billing-address-to-payment-method type="boolean">false</add-billing-address-to-payment-method>
22
+ <three-d-secure>
23
+ <required type="boolean">false</required>
24
+ </three-d-secure>
25
+ <store-in-vault type="boolean">false</store-in-vault>
26
+ </options>
27
+ <type>sale</type>
28
+ </transaction>
29
+ headers:
30
+ Accept-Encoding:
31
+ - gzip
32
+ Accept:
33
+ - application/xml
34
+ User-Agent:
35
+ - Braintree Ruby Gem 2.49.0
36
+ X-Apiversion:
37
+ - '4'
38
+ Content-Type:
39
+ - application/xml
40
+ response:
41
+ status:
42
+ code: 201
43
+ message: Created
44
+ headers:
45
+ Date:
46
+ - Tue, 20 Oct 2015 12:37:18 GMT
47
+ Content-Type:
48
+ - application/xml; charset=utf-8
49
+ Transfer-Encoding:
50
+ - chunked
51
+ Connection:
52
+ - close
53
+ X-Authentication:
54
+ - basic_auth
55
+ X-User:
56
+ - 97syg9czj6hrdzyn
57
+ Vary:
58
+ - Accept-Encoding
59
+ Content-Encoding:
60
+ - gzip
61
+ X-Ua-Compatible:
62
+ - IE=Edge,chrome=1
63
+ Etag:
64
+ - '"73c328db49ec8ae8ab0b9c68268041c5"'
65
+ Cache-Control:
66
+ - max-age=0, private, must-revalidate
67
+ X-Request-Id:
68
+ - 46e378ec404a020266dc862d3d319b83
69
+ X-Runtime:
70
+ - '0.695855'
71
+ X-Frame-Options:
72
+ - SAMEORIGIN
73
+ Strict-Transport-Security:
74
+ - max-age=31536000; includeSubDomains
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: !binary |-
78
+ H4sIAH41JlYAA+RYS2/jNhC+768wfGckOQ7iBIqCRbdbtIsW7e6mBXIJKGls
79
+ sZZIlaQcO7++Q4l6RVSSHvoAerNmPg45D858dHh7LPLFAaRigt8sgzN/uQCe
80
+ iJTx3c3y7utHslneRu9CLSlXNNGIit4tFiFLo/2VPj6loYc/jURpqisVqSou
81
+ mNaQPmyFfFCgdQ4FcB16FmCw+lRCpGgOoVf/NLKkkhJ3PhGmBMEDQPTt3efQ
82
+ m4oNmBai4jpa+We+H3r2yygKkElGuSY0SYyQ4OlUSeVeibwyp1eqfBIi9FxA
83
+ Y0DIFKT5+Oyvry6v1hfn69DrhPVBJVD0j1C9MIe/Wab4qVkBSzxPcEECn6z8
84
+ r8Hq+vzyOtjcowvdgnp9VaZ/bX2/wAZKaYHHNx91Jhac5TdLLStYela4ZVJp
85
+ wmkBDmVO53WJKErKTw4NFJTlDvkjxIppl60yE9wl39Ljc6nJc+9VGLM8xwL8
86
+ hz1UWgJgQaSpBKVcIThq4KnJxCwkFwnNmXaZl7DD+nPFSeDVyJvivloH/mXo
87
+ DUXtsbFI5Wneq0ZtVhCalxldvQl1/hqKV5gUlkwTNsgRurateEqmieo1yhY7
88
+ lZKeRkqM56C7uIzg/dUMw9F3k2crXMZppTMh2dPr5gdmY6qTzInJWFn+L0vy
89
+ hQL5z9TiMDu2P5ItgzxVthYOioCUQhKMUYlDAJyu1biB62N09CNOmhcBrYlx
90
+ 1p6Bvm+svIip3TgcpvtPhQa6w/HwSE+o+R2aKseJo6aJDUspEtwN49DeDlrD
91
+ a0vffHfx6eMv2HteAo2tjI8S+GYYz2lnVmqs4Oh9iZoDpM7VNaIObZoycxIM
92
+ /hQ28fUgWGIStMXE4wqsnRjkNCKVoQG4SzPiZ1CaHklDMpwqOEJRttM8FiIH
93
+ ypfRlubKEJwO0LIH9IIkVKa2xLXYg+sOxoxHaz9YbTam2fJhH1lHwWYThJ79
94
+ sFcFTZKaTv3KFMVa6b7bVlEy2aSyEFxnUbAKvYlwgj0BlUhMVv4IXEvtvnZy
95
+ E9NoaoJ496Wf5720P2Um8jrY7vbBCroDUsk8yrQu1bXnUYUtWp3FkjJuro2t
96
+ 9zPsm15JT6ZzPxSAtZo+5GInvAP6f1by3S3wA5OCG8CNojyNxRH5amff9joJ
97
+ JUVu95Mw5df8bjQZ0FxneGKI7viei0ceegNZA0ohZrrXN59WVUlMHNbgrsoN
98
+ gxugnmu6QWB4Kc66HjqQ2fPSkxT5ANEKbPiUqrAV4ijj+x4zko5bq9gSo6U8
99
+ QTe/vDc7ThVtqERaJTVX7nfvZQ2o4uyPCuxVQjEGn2Ezntwqc0eBF4KodD9z
100
+ dzq95Yjju2OfHCRjWGryNOIA3fysEYCGbFLMhUOujYqifCP/7vCdBfuU6SnG
101
+ 8HVTI+YeKE2EFPLcgm4ZcnvVEnlzsAFPUQI7E0S0RJBD3rjnTf37m11+y/Pu
102
+ 3wxAJ7FF0TT5nLqJXxWrRLJylhgO9F1TrlkvKZGIiJQg9yImls72PULisaR2
103
+ YvHIz/Yxk47gUHOw2pSp+no6ddBYEW1nnmmwc+8ybInTs42NImM0D3L0a+bG
104
+ dvpm2OELm8PUKub8YKbzFmBurpptxSNpsjnRYhjiSqqGtKeg8Wmq2qY7Urlz
105
+ M2D87u3HmMl/EG+Ew9EEAIeNdB/DvH6wUpGnugxWSeIg9JiRGd+N52WlwVUa
106
+ dkoSxpF3Vs0LyjCDpqM+mI4aenOgMXMbODomeEPyNgt63VZN916z1XFCydTe
107
+ ZJl2D7PoPPj53v/thw/3F58+tP9O1bcjYeZPrpZsmtK2kjqsI0uhzpBnELy2
108
+ pp4BQ7IV40yMmlL07k8AAAD//wMAsxc8LkgTAAA=
109
+ http_version:
110
+ recorded_at: Tue, 20 Oct 2015 12:37:18 GMT
111
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,111 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <customer>
12
+ </customer>
13
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
14
+ <amount>20.00</amount>
15
+ <order-id>R826688162</order-id>
16
+ <descriptor>
17
+ <name></name>
18
+ </descriptor>
19
+ <options>
20
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
21
+ <add-billing-address-to-payment-method type="boolean">false</add-billing-address-to-payment-method>
22
+ <three-d-secure>
23
+ <required type="boolean">false</required>
24
+ </three-d-secure>
25
+ <store-in-vault type="boolean">false</store-in-vault>
26
+ </options>
27
+ <type>sale</type>
28
+ </transaction>
29
+ headers:
30
+ Accept-Encoding:
31
+ - gzip
32
+ Accept:
33
+ - application/xml
34
+ User-Agent:
35
+ - Braintree Ruby Gem 2.49.0
36
+ X-Apiversion:
37
+ - '4'
38
+ Content-Type:
39
+ - application/xml
40
+ response:
41
+ status:
42
+ code: 201
43
+ message: Created
44
+ headers:
45
+ Date:
46
+ - Tue, 20 Oct 2015 12:37:11 GMT
47
+ Content-Type:
48
+ - application/xml; charset=utf-8
49
+ Transfer-Encoding:
50
+ - chunked
51
+ Connection:
52
+ - close
53
+ X-Authentication:
54
+ - basic_auth
55
+ X-User:
56
+ - 97syg9czj6hrdzyn
57
+ Vary:
58
+ - Accept-Encoding
59
+ Content-Encoding:
60
+ - gzip
61
+ X-Ua-Compatible:
62
+ - IE=Edge,chrome=1
63
+ Etag:
64
+ - '"93f563622a00cce999779f6f3f535698"'
65
+ Cache-Control:
66
+ - max-age=0, private, must-revalidate
67
+ X-Request-Id:
68
+ - 32f92bb5b27986894d8074a58f4692fb
69
+ X-Runtime:
70
+ - '2.697307'
71
+ X-Frame-Options:
72
+ - SAMEORIGIN
73
+ Strict-Transport-Security:
74
+ - max-age=31536000; includeSubDomains
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: !binary |-
78
+ H4sIAHc1JlYAA+RYS2/jNhC+768wfGckOWk2GygK9tAWbdHFYrMpilwCShxb
79
+ rCVSJSnH3l/foUS9IirJpQ+gN2vm45Dz4MxHx7fHslgdQGkuxc06OgvXKxCZ
80
+ ZFzsbtb3X38gV+vb5F1sFBWaZgZRybvVKuYsSXf6fMviAH9aiTbU1DrRdVpy
81
+ Y4A9bqV61GBMASUIEwcOYLHmVEGiaQFx0Py0sqxWCnc+Ea4lwQNA8v39lziY
82
+ iy2YlrIWJtmEZ2EYB+7LKkpQWU6FITTLrJDg6XRF1V7Loran17r6JmUc+IDW
83
+ gFQMlP34crW5vLy6ii43cdALm4MqoOgfoWZlD3+zZvhpeAlrPE/0HYlCsgm/
84
+ Rpvr8/fX4YcHdKFf0KyvK/bm9VGE64cFLlDaSDy+/WgysRK8uFkbVcM6cMIt
85
+ V9oQQUvwKAu6rMtkWVFx8migpLzwyJ8g1dz4bFW5FD75lh6fS22eB6/ilBcF
86
+ FuA/7KE2CgALgjEFWvtCcDQgmM3EIqSQGS248ZlXsMP688VJ4tUo2uL+cBGF
87
+ 7+NgLOqOjUWqTstetWq7gtCiyunmTajz11CixqTwbJ6wUY7QtW0tGJknatBo
88
+ V+xUKXqaKDGeo+7iM4L313AMx9BNnq3wGae1yaXi3143PzKbUpPlXkzOq+p/
89
+ WZIvFMh/phbH2XH9kWw5FEy7WjhoAkpJRTBGFQ4B8LrW4EauT9HJrzhpXgR0
90
+ JqZZewb6qbXyIqZx43CY7z8XWugOx8MTPaHmD2irHCeOnic2rpTMcDeMQ3c7
91
+ aANvLD3cbc5//4S95yXQ1Mr0KFFoh/GSdmGlwQpOPlaoOQDzrm4QTWgZ4/Yk
92
+ GPw5bObrQfLMJmiLiccVWDspqHlEaksDcJd2xC+gDD2SlmR4VXCEsuqmeSpl
93
+ AVSsky0ttCU4PaBjD+gFyahirsSN3IPvDqZcJBdhtLm6ss1WjPvIRRIhM4kD
94
+ 9+GuCpokDZ36jWuKtdJ/d62i4qpNZSmFyZMImc1MOMOegCokJptwAm6kbl83
95
+ uYltNA1BvL8b5vkgHU6Zy6IJtr998JLugNSqSHJjKn0dBFRji9ZnqaJc2Gvj
96
+ 6v0M+2ZQ0ZPt3I8lYK2yx0LuZHBA/88qsbsFceBKCgu40VSwVB6Rr/b2Xa9T
97
+ UFHkdp+kLb/2d6vJgRYmxxNDci/2Qj6JOBjJWhCDlJtB3346Va0wcViDu7qw
98
+ DG6Eeq7pB4HlpTjrBuhI5s5LT0oWI0QncOHTusZWiKNM7AfMRDptrXJLrJaK
99
+ DN28+2h3nCu6UElWZw1XHnYfZC2oFvzPGtxVQjEGn2Mznt0qe0dBlJJotl+4
100
+ O73eccTp3XFPDpJzLDV1mnCAfn42CEBDLin2wiHXRkVZvZF/9/jegnvKDBRj
101
+ /LppEEsPlDZCGnluSbccub3uiLw92IinaImdCRJaIcgjb90L5v79zS6/5Xn3
102
+ bwagl7iiaJt8Qf3Er051pni1SAxH+r4pN6yXVEhEJCPIvYiNpbd9T5B4LGW8
103
+ WDzys33spCM41DyslnHdXE+vDlorsuvMCw126V2GLXF+tqlRZIz2QY5+LdzY
104
+ Xt8OO3xhC5hbxZwf7HTeAizNVbutfCJtNmdaDENaK92SdgYGn6a6a7oTlT83
105
+ I8bv336Kmf0H8UY4HG0AcNgo/zHs6wcrFXmqz2CdZR5CjxlZ8N16XtUGfKXh
106
+ piThAnln3b6gLDNoO+qj7ahxsASaMreRo1OCNyZvi6DXbTV07zVbPSdUXO9t
107
+ lmn/MEvOo88P4S8//3gR3n3u/p1qbkfG7Z9cHdm0pe0kTVgnlmKTI88geG1t
108
+ PQOGZCunmZg0peTdXwAAAP//AwBMtP3ISBMAAA==
109
+ http_version:
110
+ recorded_at: Tue, 20 Oct 2015 12:37:12 GMT
111
+ recorded_with: VCR 2.9.3