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,206 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://twt598sqr68r2dgv:700c4c7701c90b2a2e67e6ef363a19d7@api.sandbox.braintreegateway.com/merchants/y27h9tyq25cf3zhg/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>R438614138</order-id>
17
+ <descriptor>
18
+ <name></name>
19
+ </descriptor>
20
+ <options>
21
+ <submit-for-settlement type="boolean">false</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.69.1
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
+ - Mon, 02 Jan 2017 11:31:00 GMT
48
+ Content-Type:
49
+ - application/xml; charset=utf-8
50
+ Transfer-Encoding:
51
+ - chunked
52
+ X-Frame-Options:
53
+ - SAMEORIGIN
54
+ - SAMEORIGIN
55
+ X-Xss-Protection:
56
+ - 1; mode=block
57
+ X-Content-Type-Options:
58
+ - nosniff
59
+ X-Authentication:
60
+ - basic_auth
61
+ X-User:
62
+ - mqh49v3cwdxwxg6c
63
+ Vary:
64
+ - Accept-Encoding
65
+ Content-Encoding:
66
+ - gzip
67
+ Etag:
68
+ - W/"4f3b96283fa7b3ffc21be8c81e7164ac"
69
+ Cache-Control:
70
+ - max-age=0, private, must-revalidate
71
+ X-Request-Id:
72
+ - 2d3c6a81-74f7-4af6-82e5-b5f037786e5f
73
+ X-Runtime:
74
+ - '0.386750'
75
+ Strict-Transport-Security:
76
+ - max-age=31536000; includeSubDomains
77
+ body:
78
+ encoding: ASCII-8BIT
79
+ string: !binary |-
80
+ H4sIAPQ5algAA+RXUW/jNgx+768I8q7aTnprVrjuthsG3IAN2Ho9DHspZJuJ
81
+ tciSK8lpcr9+lGU7di233cswYG82+YkiKYr8FN8dS744gNJMittldBkuFyAy
82
+ mTOxu10+fP6JbJZ3yUVsFBWaZgZRycViEbM8eXoqtd59+BAH+GNl2lBT64TW
83
+ ppCKfYU8DlqR1ZpTBYmmHOKg+bSyrFYKdzsRpiXBTSF5uP8xDqZiC6alrIVJ
84
+ otXl9ToO2j+rKEFlBRWG0CyzQoL+6IqqvZa8th7rOPBhGp/rlHh0C8H47dKo
85
+ GpaB24NqA+pdUKlyRKL936/Wm2+iq2i9iYNe2IStgBrICTULm4rbZY6/hpWw
86
+ TFZhdE3CiISrz1F0s45uwvBPTEi/oFlfV/k/W39e0KZdG4mh2J/mLF/GgMIt
87
+ U9oQQUvwKDmd12WyrKg4eTRQUsY98mdINTM+W1UhhU++pcdJ2oNhVHHKOMcS
88
+ /pcj1EYBYHHkuQKtfSk4GhC5PYlZCJcZ5cz4zCvYYTX78iTxonF3Vb69isLr
89
+ OBiKOrexYNVpPiqntisI5VVBV+9Crd9CiRoPhWXTAxucEYa2rUXuu069RrfF
90
+ TpWip5ES8znoTz4j2A0Mw3RoMIZDCXhzxyt8xs+N7C3zA7MpNVnhxRSsqv6X
91
+ JflKgfxnanF4Om1/JFsGPNdtLRw0AaWkIpijCkcKeENrcIPQx+jkF5xbrwI6
92
+ E+NTewH65Ky8imnCOBym+0+FFrrD8fBMT6j5C1yV48TR04ONKyUz3A3z0N0O
93
+ 2sAbS7+t/7j++Qv2ntdAYytjV6IwDIfLp456dAYrOPm+Qs3BUo45RJPaPGfW
94
+ E0z+FDaJ9SBZZg9oiwePK7B2UlDTjNSWEuAubsTPoAw9EkdZvCo4Qll10zyV
95
+ kgMVy2RLubZ0qQd07AGjIBlVeVviRu7BdwdTJpKrMFptNrbZimEfuUqizSaK
96
+ g/anvSpokjTk7AvTFGul/+9aRcWUO8pSClMgF4uDiXCCPQFVSExW4QjcSNt9
97
+ 28lNbKNpKObD/Xmen6VnLwvJm2T72wcr6Q5IrXhSGFPpmyCgGlu0vkwVZcJe
98
+ m7beL7FvBhU92c79WALWav7I5U4GB4z/shK7OxAHpqSwgFtNRZ7KI/Ld3n7b
99
+ 6xRUFLndr9KWn/t2mgIoNwV6jMxW7IV8FnEwkDlQDikzZ737bVW1woPDGtzV
100
+ 3DK4Aeqlph8ElqPirDtDB7LWX3pSkg8QnaBNn9Y1tkIcZWJ/xoyk49Yqt8Rq
101
+ qcggsdtNpV2eZF5nDfc+b32WOVAt2FMN7T1CMWaeYSeeXCl7QUGUkuh8P3Nx
102
+ en1LEMcXp32vkIJhnanTiAD0w7NBABpqT8TeNiTaqCird5LvHt9bePWh1CDm
103
+ 3jouQxpJbll/Pe1pirzmu53l1baUkejrjtVbRwekRUtsU5DQiqFDU7kLN3gZ
104
+ by9pc+QaHqd+ElSnOlOsmiVJA33foBoGSCocyjInyEOIzaa3lY2Q6JYyXiy6
105
+ /GIf2/UJNngPw8uZbqrVqwNnRXZdaqbZzL1RsD1MfRsbRfZkn7oY10wB93rX
106
+ +PHlKYAn99hj4KO71PBJZI8fMRmPP3S9DQu9BTpqqg52jG0B5gaQ9Uk+E3fU
107
+ Ey3mKK2Vduw2B4O1prvuNFL5D25Ajf3bjzGTp/874XC0QWNXVn437DMByxgJ
108
+ nc9gnWUe5ovHNRO7jbyqDfjqph0nhAkkaLV7atgR6rrPo+0+cTAHGlOcQaBj
109
+ JjRkObOgt201vOgtWz15MgUWF8G7Z4sS0PWtHGds1FmSi78BAAD//wMALU5B
110
+ tFsSAAA=
111
+ http_version:
112
+ recorded_at: Mon, 02 Jan 2017 11:31:00 GMT
113
+ - request:
114
+ method: put
115
+ uri: https://twt598sqr68r2dgv:700c4c7701c90b2a2e67e6ef363a19d7@api.sandbox.braintreegateway.com/merchants/y27h9tyq25cf3zhg/transactions/qqmssg55/submit_for_settlement
116
+ body:
117
+ encoding: UTF-8
118
+ string: |
119
+ <?xml version="1.0" encoding="UTF-8"?>
120
+ <transaction>
121
+ <amount>12.73</amount>
122
+ </transaction>
123
+ headers:
124
+ Accept-Encoding:
125
+ - gzip
126
+ Accept:
127
+ - application/xml
128
+ User-Agent:
129
+ - Braintree Ruby Gem 2.69.1
130
+ X-Apiversion:
131
+ - '4'
132
+ Content-Type:
133
+ - application/xml
134
+ response:
135
+ status:
136
+ code: 200
137
+ message: OK
138
+ headers:
139
+ Date:
140
+ - Mon, 02 Jan 2017 11:31:01 GMT
141
+ Content-Type:
142
+ - application/xml; charset=utf-8
143
+ Transfer-Encoding:
144
+ - chunked
145
+ X-Frame-Options:
146
+ - SAMEORIGIN
147
+ - SAMEORIGIN
148
+ X-Xss-Protection:
149
+ - 1; mode=block
150
+ X-Content-Type-Options:
151
+ - nosniff
152
+ X-Authentication:
153
+ - basic_auth
154
+ X-User:
155
+ - mqh49v3cwdxwxg6c
156
+ Vary:
157
+ - Accept-Encoding
158
+ Content-Encoding:
159
+ - gzip
160
+ Etag:
161
+ - W/"a318f08e4c32c5ff9250445b11ed9325"
162
+ Cache-Control:
163
+ - max-age=0, private, must-revalidate
164
+ X-Request-Id:
165
+ - f2d6cc82-536b-4364-acb6-263e1eb3f4f6
166
+ X-Runtime:
167
+ - '0.268680'
168
+ Strict-Transport-Security:
169
+ - max-age=31536000; includeSubDomains
170
+ body:
171
+ encoding: ASCII-8BIT
172
+ string: !binary |-
173
+ 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
204
+ http_version:
205
+ recorded_at: Mon, 02 Jan 2017 11:31:02 GMT
206
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,211 @@
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-paypal-one-time-nonce</payment-method-nonce>
14
+ <amount>20.00</amount>
15
+ <order-id>R273629909</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 11:34:10 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
+ - '"4b2ab84b9d00ffa082347f4fbc858f52"'
65
+ Cache-Control:
66
+ - max-age=0, private, must-revalidate
67
+ X-Request-Id:
68
+ - b9576cc68ee203ae8997829ac4caf1fc
69
+ X-Runtime:
70
+ - '0.408690'
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
+ 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
112
+ bDRd+Op3AAAA//8DAGLDBwElFwAA
113
+ http_version:
114
+ recorded_at: Tue, 20 Oct 2015 11:34:10 GMT
115
+ - request:
116
+ method: post
117
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions/dz58t8/refund
118
+ body:
119
+ encoding: UTF-8
120
+ string: |
121
+ <?xml version="1.0" encoding="UTF-8"?>
122
+ <transaction>
123
+ <amount>13.17</amount>
124
+ </transaction>
125
+ headers:
126
+ Accept-Encoding:
127
+ - gzip
128
+ Accept:
129
+ - application/xml
130
+ User-Agent:
131
+ - Braintree Ruby Gem 2.49.0
132
+ X-Apiversion:
133
+ - '4'
134
+ Content-Type:
135
+ - application/xml
136
+ response:
137
+ status:
138
+ code: 201
139
+ message: Created
140
+ headers:
141
+ Date:
142
+ - Tue, 20 Oct 2015 11:34:11 GMT
143
+ Content-Type:
144
+ - application/xml; charset=utf-8
145
+ Transfer-Encoding:
146
+ - chunked
147
+ Connection:
148
+ - close
149
+ X-Authentication:
150
+ - basic_auth
151
+ X-User:
152
+ - 97syg9czj6hrdzyn
153
+ Vary:
154
+ - Accept-Encoding
155
+ Content-Encoding:
156
+ - gzip
157
+ X-Ua-Compatible:
158
+ - IE=Edge,chrome=1
159
+ Etag:
160
+ - '"0125ab93cbe6c31f6403a592f1eecb20"'
161
+ Cache-Control:
162
+ - max-age=0, private, must-revalidate
163
+ X-Request-Id:
164
+ - e55fe4d68390e03a870d39305b3d0432
165
+ X-Runtime:
166
+ - '0.312467'
167
+ X-Frame-Options:
168
+ - SAMEORIGIN
169
+ Strict-Transport-Security:
170
+ - max-age=31536000; includeSubDomains
171
+ body:
172
+ encoding: ASCII-8BIT
173
+ string: !binary |-
174
+ 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
208
+ AAA=
209
+ http_version:
210
+ recorded_at: Tue, 20 Oct 2015 11:34:12 GMT
211
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,177 @@
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>R091349888</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 11:34:05 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
+ - '"17ae53e823e4f7ac18b016da37d64e26"'
65
+ Cache-Control:
66
+ - max-age=0, private, must-revalidate
67
+ X-Request-Id:
68
+ - 8eab926537c0ace6d526135d7b7c2ab6
69
+ X-Runtime:
70
+ - '0.975873'
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
+ H4sIAK0mJlYAA+RYS2/cNhC++1cYe6clrZ3UCWQZQdEiDdCgSOI26cXgSrMr
79
+ xhKpktR6N7++MxL1sijbPfQB9Laa+TjkPDjzcePrQ1mc7kEboeTVKjoLV6cg
80
+ U5UJubta3Xz6kV2urpOT2GouDU8topKT09NYZMnL+1368msc4E+SGMttbRJT
81
+ b0phLWS3W6VvDVhbQAnSxoEDENYeK0gMLyAOmp8kS2utcecjE0YxPAAkP9x8
82
+ iIO5mMC8VLW0yTo8C8M4cF+kKEGnOZeW8TQlIcPTmYrrO6OKmk5vTPVNqTjw
83
+ AcmA0hlo+vgQvorOL15dXl7GQS9sDqqBo3+M21M6/NUqw08rSljheaIXLArZ
84
+ OvwURa/PL16HL35HF/oFzfq6yv7a+mGBC5SxCo9PH00mTqUorlZW17AKnHAr
85
+ tLFM8hI8yoIv61JVVlwePRoouSg88nvYGGF9tqpcSZ98yw8PpZTnwat4I4oC
86
+ C/Af9tBYDYAFkWUajPGF4GBBZpSJRUihUl4I6zOvYYf154uTwqtRtMX96iIK
87
+ v4uDsag7NhapPi571appBeNFlfP1s1DnT6FkjUkR6Txhoxyha9taZmyeqEFj
88
+ XLFzrflxosR4jrqLzwjeXyswHEM3ebDCZ5zXNldafHva/Mjshts092JyUVX/
89
+ y5J8pED+M7U4zo7rj2wroMiMq4W9YaC10gxjVOEQAK9rDW7k+hSd/IyT5lFA
90
+ Z2KatQegn1orj2IaN/b7+f5zIUF3OB7u+RE1X6Gtcpw4Zp7YuNIqxd0wDt3t
91
+ 4A28sfTh/W9f3n3G3vMYaGplepQopGG8pF1YabGCkzcVavaQeVc3iCa0WSbo
92
+ JBj8OWzm616JlBK0xcTjCqydDeh5RGqiAbhLO+IXUJYfWEsyvCo4QFl103yj
93
+ VAFcrpItLwwRnB7QsQf0gqVcZ67ErboD3x3cCJlchNGaCAj9HvWRiyS6vIzi
94
+ wH24q4ImWUOnfhWGY630312rqIRuU1kqafMkWsfBTDjDHoFrJCbrcAJupG5f
95
+ N7kZNZqGIN58HOb5IB1OmauiCba/fYiS74DVukhyayvzOgi4wRZtzjaaC0nX
96
+ xtX7GfbNoOJH6ty3JWCtZreF2qlgj/6fVXJ3DXIvtJIEuDJcZht1QL7a23e9
97
+ TkPFkdu9V1R+7e9WkwMvbI4nhuRG3kl1L+NgJGtBGWyEHfTtp1PVGhOHNbir
98
+ C2JwI9RDTT8IiJfirBugI5k7Lz9qVYwQncCFz5gaWyGOMnk3YCbSaWtVW0Za
99
+ LlN08+Mb2nGu6EKlsjptuPKw+yBrQbUUf9TgrhKKMfgCm/HsVtEdBVkqZrK7
100
+ hbvT6x1HnN4d9+RgucBS08cJB+jnZ4MANOSSQhcOuTYqyuqZ/LvH9xbcU2ag
101
+ GOPXTYNYeqC0ETLIc0u+FcjtTUfk6WAjnmIUdiZIeIUgj7x1L5j79ze7/Jzn
102
+ 3b8ZgF7iiqJt8gX3E796Y1ItqkViONL3TblhvaxCIqIyhtyLUSy97XuCxGNp
103
+ 68XikR/sQ5OO4VDzsNpMmOZ6enXQWlFdZ15osEvvMmyJ87NNjSJjpAc5+rVw
104
+ Y3t9O+zwhS1hbhVzvqfpvAVYmqu0rbpnbTZnWgzDptamJe0ZWHyamq7pTlT+
105
+ 3IwYv3/7KWb2H8Qz4XCgAOCw0f5j0OsHKxV5qs9gnaYeQo8ZWfCdPK9qC77S
106
+ cFOSCYm8s25fUMQM2o56Sx01DpZAU+Y2cnRK8MbkbRH0tK2G7j1lq+eEWpg7
107
+ yjLvH2bJefTL9+GX8O3bj5/fdf9ONbcjFfQnV0c2qbSdpAnrxFJsc+QZDK8t
108
+ 1TNgSLZqmolJU0pO/gQAAP//AwABWffrSBMAAA==
109
+ http_version:
110
+ recorded_at: Tue, 20 Oct 2015 11:34:06 GMT
111
+ - request:
112
+ method: post
113
+ uri: https://yd57hn7c4r5bhp8g:1cc8b0097ef43165847630438f864834@api.sandbox.braintreegateway.com/merchants/yccdpmn3cvtjbgnr/transactions/6wgc6j/refund
114
+ body:
115
+ encoding: UTF-8
116
+ string: |
117
+ <?xml version="1.0" encoding="UTF-8"?>
118
+ <transaction>
119
+ <amount>13.17</amount>
120
+ </transaction>
121
+ headers:
122
+ Accept-Encoding:
123
+ - gzip
124
+ Accept:
125
+ - application/xml
126
+ User-Agent:
127
+ - Braintree Ruby Gem 2.49.0
128
+ X-Apiversion:
129
+ - '4'
130
+ Content-Type:
131
+ - application/xml
132
+ response:
133
+ status:
134
+ code: 422
135
+ message: Unprocessable Entity
136
+ headers:
137
+ Date:
138
+ - Tue, 20 Oct 2015 11:34:07 GMT
139
+ Content-Type:
140
+ - application/xml; charset=utf-8
141
+ Transfer-Encoding:
142
+ - chunked
143
+ Connection:
144
+ - close
145
+ X-Authentication:
146
+ - basic_auth
147
+ X-User:
148
+ - 97syg9czj6hrdzyn
149
+ Vary:
150
+ - Accept-Encoding
151
+ Content-Encoding:
152
+ - gzip
153
+ X-Ua-Compatible:
154
+ - IE=Edge,chrome=1
155
+ Cache-Control:
156
+ - no-cache
157
+ X-Request-Id:
158
+ - 5833afbf2f5605962c82ea5d5023c2c2
159
+ X-Runtime:
160
+ - '0.151641'
161
+ X-Frame-Options:
162
+ - SAMEORIGIN
163
+ Strict-Transport-Security:
164
+ - max-age=31536000; includeSubDomains
165
+ body:
166
+ encoding: ASCII-8BIT
167
+ string: !binary |-
168
+ H4sIAK8mJlYAA6xSQW6DMBC85xWW78RBUdNWMs6hUl/QPmAxW0oENlovafl9
169
+ TYBAqqin3nZ2Ztc7I+vjd1OLM1KovMtkut1Jgc76onJlJt/fXpMneTQbDW2V
170
+ IJGnhDC03gU0GyH0pRWG8goE9y1mEoigl2qimMAFsBwfGTv35TM3swuOnXgU
171
+ muf0YXfQ6lKvSWCmKu8Yp32hb3JfS5NDQK2u7M1MgyFAieYFnPMsCD86VwgQ
172
+ q2NF5+qoEhWLKoiAzDUWW63m0eVedXPwBOdk1C//a1q3QNCEP4KCxneOTbrf
173
+ po/Ry4juLx7UIxjdRPmas94x+bpGMqvBMOR5JTZTNmQ/wXFSFaa3tmgbt7dn
174
+ PuWlo8H+wo76WBy+Sns4aTX2tFp8/UvS0cqdP/gDAAD//wMAztQc1MACAAA=
175
+ http_version:
176
+ recorded_at: Tue, 20 Oct 2015 11:34:07 GMT
177
+ recorded_with: VCR 2.9.3