solidus_braintree 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +12 -0
  3. data/.gem_release.yml +5 -0
  4. data/.github_changelog_generator +2 -0
  5. data/.gitignore +20 -11
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +79 -0
  8. data/CHANGELOG.md +178 -18
  9. data/Gemfile +31 -23
  10. data/LICENSE +26 -0
  11. data/README.md +387 -26
  12. data/Rakefile +4 -19
  13. data/app/assets/config/solidus_braintree_manifest.js +1 -0
  14. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_280x48.svg +19 -0
  15. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_320x48.svg +19 -0
  16. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_375x48.svg +19 -0
  17. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_280x48.svg +19 -0
  18. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_320x48.svg +19 -0
  19. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_375x48.svg +19 -0
  20. data/app/assets/images/solidus_braintree/venmo/venmo_blue_acceptance_mark.svg +15 -0
  21. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_280x48.svg +19 -0
  22. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_320x48.svg +19 -0
  23. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_375x48.svg +19 -0
  24. data/app/assets/images/solidus_braintree/venmo/venmo_blue_logo.svg +18 -0
  25. data/app/assets/images/solidus_braintree/venmo/venmo_white_acceptance_mark.svg +20 -0
  26. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_280x48.svg +19 -0
  27. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_320x48.svg +19 -0
  28. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_375x48.svg +19 -0
  29. data/app/assets/images/solidus_braintree/venmo/venmo_white_logo.svg +18 -0
  30. data/app/assets/javascripts/solidus_braintree/apple_pay_button.js +179 -0
  31. data/app/assets/javascripts/solidus_braintree/checkout.js +108 -0
  32. data/app/assets/javascripts/solidus_braintree/client.js +239 -0
  33. data/app/assets/javascripts/solidus_braintree/constants.js +89 -0
  34. data/app/assets/javascripts/solidus_braintree/frontend.js +14 -0
  35. data/app/assets/javascripts/solidus_braintree/hosted_form.js +46 -0
  36. data/app/assets/javascripts/solidus_braintree/paypal_button.js +178 -0
  37. data/app/assets/javascripts/solidus_braintree/paypal_messaging.js +22 -0
  38. data/app/assets/javascripts/solidus_braintree/promise.js +20 -0
  39. data/app/assets/javascripts/solidus_braintree/venmo_button.js +86 -0
  40. data/app/assets/javascripts/spree/backend/solidus_braintree.js +96 -0
  41. data/app/assets/javascripts/spree/frontend/paypal_button.js +34 -0
  42. data/app/assets/javascripts/spree/frontend/solidus_braintree.js +1 -0
  43. data/app/assets/stylesheets/spree/backend/solidus_braintree.scss +28 -0
  44. data/app/assets/stylesheets/spree/frontend/solidus_braintree.scss +51 -0
  45. data/app/decorators/controllers/solidus_braintree/admin_payments_controller_decorator.rb +11 -0
  46. data/app/decorators/controllers/solidus_braintree/checkout_controller_decorator.rb +11 -0
  47. data/app/decorators/controllers/solidus_braintree/client_tokens_controller.rb +41 -0
  48. data/app/decorators/controllers/solidus_braintree/orders_controller_decorator.rb +11 -0
  49. data/app/decorators/models/solidus_braintree/spree/store_decorator.rb +20 -0
  50. data/app/decorators/models/solidus_braintree/spree/user_decorator.rb +13 -0
  51. data/app/helpers/solidus_braintree/braintree_admin_helper.rb +23 -0
  52. data/app/helpers/solidus_braintree/braintree_checkout_helper.rb +60 -0
  53. data/app/models/application_record.rb +5 -0
  54. data/app/models/solidus_braintree/address.rb +64 -0
  55. data/app/models/solidus_braintree/avs_result.rb +69 -0
  56. data/app/models/solidus_braintree/configuration.rb +39 -0
  57. data/app/models/solidus_braintree/customer.rb +8 -0
  58. data/app/models/solidus_braintree/gateway.rb +433 -0
  59. data/app/models/solidus_braintree/response.rb +80 -0
  60. data/app/models/solidus_braintree/source.rb +135 -0
  61. data/app/models/solidus_braintree/transaction.rb +31 -0
  62. data/app/models/solidus_braintree/transaction_address.rb +88 -0
  63. data/app/models/solidus_braintree/transaction_import.rb +98 -0
  64. data/app/overrides/spree/payments/payment/add_paypal_funding_source_to_payment.rb +9 -0
  65. data/app/views/spree/api/payments/source_views/_braintree.json.jbuilder +1 -1
  66. data/app/views/spree/checkout/existing_payment/_braintree.html.erb +10 -0
  67. data/app/views/spree/shared/_apple_pay_button.html.erb +27 -0
  68. data/app/views/spree/shared/_braintree_errors.html.erb +16 -0
  69. data/app/views/spree/shared/_braintree_head_scripts.html.erb +26 -0
  70. data/app/views/spree/shared/_braintree_hosted_fields.html.erb +43 -0
  71. data/app/views/spree/shared/_paypal_cart_button.html.erb +38 -0
  72. data/app/views/spree/shared/_paypal_messaging.html.erb +13 -0
  73. data/app/views/spree/shared/_venmo_button.html.erb +33 -0
  74. data/bin/console +4 -1
  75. data/bin/rails +5 -5
  76. data/bin/rails-engine +13 -0
  77. data/bin/rails-sandbox +16 -0
  78. data/bin/rake +7 -0
  79. data/bin/sandbox +103 -0
  80. data/bin/setup +5 -4
  81. data/config/locales/en.yml +94 -2
  82. data/config/locales/it.yml +56 -0
  83. data/config/routes.rb +12 -3
  84. data/db/migrate/20160830061749_create_solidus_paypal_braintree_sources.rb +16 -0
  85. data/db/migrate/20160906201711_create_solidus_paypal_braintree_customers.rb +13 -0
  86. data/db/migrate/20161114231422_create_solidus_paypal_braintree_configurations.rb +11 -0
  87. data/db/migrate/20161125172005_add_braintree_configuration_to_stores.rb +7 -0
  88. data/db/migrate/20170203191030_add_credit_card_to_braintree_configuration.rb +6 -0
  89. data/db/migrate/20170505193712_add_null_constraint_to_sources.rb +38 -0
  90. data/db/migrate/20170508085402_add_not_null_constraint_to_sources_payment_type.rb +14 -0
  91. data/db/migrate/20190705115327_add_paypal_button_preferences_to_braintree_configurations.rb +5 -0
  92. data/db/migrate/20190911141712_add_3d_secure_to_braintree_configuration.rb +5 -0
  93. data/db/migrate/20211222170950_add_paypal_funding_source_to_solidus_paypal_braintree_sources.rb +5 -0
  94. data/db/migrate/20220104150301_add_venmo_to_braintree_configuration.rb +5 -0
  95. data/db/migrate/20230109080950_rename_solidus_paypal_braintree_source_type.rb +31 -0
  96. data/lib/controllers/backend/solidus_braintree/configurations_controller.rb +48 -0
  97. data/lib/controllers/frontend/solidus_braintree/checkouts_controller.rb +31 -0
  98. data/lib/controllers/frontend/solidus_braintree/transactions_controller.rb +67 -0
  99. data/lib/generators/solidus_braintree/install/install_generator.rb +54 -18
  100. data/lib/generators/solidus_braintree/install/templates/initializer.rb +6 -0
  101. data/lib/solidus_braintree/country_mapper.rb +37 -0
  102. data/lib/solidus_braintree/engine.rb +55 -10
  103. data/lib/solidus_braintree/extension_configuration.rb +23 -0
  104. data/lib/solidus_braintree/request_protection.rb +21 -0
  105. data/lib/solidus_braintree/testing_support/factories.rb +53 -0
  106. data/lib/solidus_braintree/version.rb +3 -1
  107. data/lib/solidus_braintree.rb +14 -2
  108. data/lib/solidus_paypal_braintree.rb +6 -0
  109. data/lib/views/backend/solidus_braintree/configurations/list.html.erb +63 -0
  110. data/lib/views/backend/spree/admin/payments/source_forms/_braintree.html.erb +16 -0
  111. data/lib/views/backend/spree/admin/payments/source_views/_braintree.html.erb +39 -0
  112. data/lib/views/backend/spree/admin/shared/preference_fields/_preference_select.html.erb +13 -0
  113. data/lib/views/backend_v1.2/spree/admin/payments/source_forms/_braintree.html.erb +16 -0
  114. data/lib/views/backend_v2.4/spree/admin/shared/preference_fields/_hash.html.erb +12 -0
  115. data/lib/views/frontend/solidus_braintree/payments/_payment.html.erb +12 -0
  116. data/lib/views/frontend/spree/checkout/payment/_braintree.html.erb +23 -0
  117. data/lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb +32 -0
  118. data/solidus_braintree.gemspec +39 -38
  119. data/spec/controllers/solidus_braintree/checkouts_controller_spec.rb +99 -0
  120. data/spec/controllers/solidus_braintree/client_tokens_controller_spec.rb +55 -0
  121. data/spec/controllers/solidus_braintree/configurations_controller_spec.rb +73 -0
  122. data/spec/controllers/solidus_braintree/transactions_controller_spec.rb +183 -0
  123. data/spec/features/backend/configuration_spec.rb +23 -0
  124. data/spec/features/backend/new_payment_spec.rb +137 -0
  125. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +191 -0
  126. data/spec/features/frontend/paypal_checkout_spec.rb +166 -0
  127. data/spec/features/frontend/venmo_checkout_spec.rb +194 -0
  128. data/spec/fixtures/cassettes/admin/invalid_credit_card.yml +63 -0
  129. data/spec/fixtures/cassettes/admin/resubmit_credit_card.yml +352 -0
  130. data/spec/fixtures/cassettes/admin/valid_credit_card.yml +412 -0
  131. data/spec/fixtures/cassettes/braintree/create_profile.yml +71 -0
  132. data/spec/fixtures/cassettes/braintree/generate_token.yml +63 -0
  133. data/spec/fixtures/cassettes/braintree/token.yml +63 -0
  134. data/spec/fixtures/cassettes/checkout/invalid_credit_card.yml +63 -0
  135. data/spec/fixtures/cassettes/checkout/resubmit_credit_card.yml +216 -0
  136. data/spec/fixtures/cassettes/checkout/update.yml +71 -0
  137. data/spec/fixtures/cassettes/checkout/valid_credit_card.yml +171 -0
  138. data/spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml +599 -0
  139. data/spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml +86 -0
  140. data/spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml +154 -0
  141. data/spec/fixtures/cassettes/gateway/authorize/paypal/EUR.yml +90 -0
  142. data/spec/fixtures/cassettes/gateway/authorize/paypal/address.yml +90 -0
  143. data/spec/fixtures/cassettes/gateway/authorize.yml +86 -0
  144. data/spec/fixtures/cassettes/gateway/authorized_transaction.yml +73 -0
  145. data/spec/fixtures/cassettes/gateway/cancel/missing.yml +63 -0
  146. data/spec/fixtures/cassettes/gateway/cancel/refunds.yml +272 -0
  147. data/spec/fixtures/cassettes/gateway/cancel/void.yml +201 -0
  148. data/spec/fixtures/cassettes/gateway/capture.yml +141 -0
  149. data/spec/fixtures/cassettes/gateway/complete.yml +157 -0
  150. data/spec/fixtures/cassettes/gateway/credit.yml +208 -0
  151. data/spec/fixtures/cassettes/gateway/customer.yml +79 -0
  152. data/spec/fixtures/cassettes/gateway/purchase.yml +87 -0
  153. data/spec/fixtures/cassettes/gateway/settled_transaction.yml +140 -0
  154. data/spec/fixtures/cassettes/gateway/void.yml +137 -0
  155. data/spec/fixtures/cassettes/source/bin.yml +295 -0
  156. data/spec/fixtures/cassettes/source/card_type.yml +267 -0
  157. data/spec/fixtures/cassettes/source/last4.yml +267 -0
  158. data/spec/fixtures/cassettes/transaction/import/valid/capture.yml +224 -0
  159. data/spec/fixtures/cassettes/transaction/import/valid.yml +71 -0
  160. data/spec/fixtures/views/spree/orders/edit.html.erb +50 -0
  161. data/spec/helpers/solidus_braintree/braintree_admin_helper_spec.rb +17 -0
  162. data/spec/helpers/solidus_braintree/braintree_checkout_helper_spec.rb +70 -0
  163. data/spec/models/solidus_braintree/address_spec.rb +71 -0
  164. data/spec/models/solidus_braintree/avs_result_spec.rb +317 -0
  165. data/spec/models/solidus_braintree/gateway_spec.rb +742 -0
  166. data/spec/models/solidus_braintree/response_spec.rb +280 -0
  167. data/spec/models/solidus_braintree/source_spec.rb +539 -0
  168. data/spec/models/solidus_braintree/transaction_address_spec.rb +235 -0
  169. data/spec/models/solidus_braintree/transaction_import_spec.rb +302 -0
  170. data/spec/models/solidus_braintree/transaction_spec.rb +86 -0
  171. data/spec/models/spree/store_spec.rb +14 -0
  172. data/spec/requests/spree/api/orders_controller_spec.rb +36 -0
  173. data/spec/spec_helper.rb +32 -0
  174. data/spec/support/capybara.rb +7 -0
  175. data/spec/support/gateway_helpers.rb +29 -0
  176. data/spec/support/order_ready_for_payment.rb +37 -0
  177. data/spec/support/vcr.rb +42 -0
  178. data/spec/support/views.rb +1 -0
  179. metadata +276 -224
  180. data/LICENSE.txt +0 -21
  181. data/app/controllers/spree/api/braintree_client_token_controller.rb +0 -13
  182. data/app/decorators/lib/solidus_braintree/spree/permitted_attributes_decorator.rb +0 -9
  183. data/app/decorators/models/solidus_braintree/spree/credit_card_decorator.rb +0 -11
  184. data/app/decorators/models/solidus_braintree/spree/payment_decorator.rb +0 -10
  185. data/app/helpers/braintree_view_helpers.rb +0 -20
  186. data/app/models/concerns/solidus_braintree/add_name_validation_concern.rb +0 -8
  187. data/app/models/concerns/solidus_braintree/inject_device_data_concern.rb +0 -18
  188. data/app/models/concerns/solidus_braintree/payment_braintree_nonce_concern.rb +0 -8
  189. data/app/models/concerns/solidus_braintree/permitted_attributes_concern.rb +0 -11
  190. data/app/models/concerns/solidus_braintree/skip_require_card_numbers_concern.rb +0 -14
  191. data/app/models/concerns/solidus_braintree/use_data_field_concern.rb +0 -23
  192. data/app/models/solidus/gateway/braintree_gateway.rb +0 -306
  193. data/app/overrides/spree/checkout/_confirm/braintree_security.html.erb.deface +0 -9
  194. data/app/views/spree/admin/payments/source_forms/_braintree.html.erb +0 -38
  195. data/app/views/spree/admin/payments/source_views/_braintree.html.erb +0 -30
  196. data/app/views/spree/checkout/payment/_braintree.html.erb +0 -55
  197. data/app/views/spree/checkout/payment/_braintree_initialization.html.erb +0 -12
  198. data/config/initializers/braintree.rb +0 -3
  199. data/db/migrate/20150910170527_add_data_to_credit_card.rb +0 -5
  200. data/db/migrate/20160426221931_add_braintree_device_data_to_order.rb +0 -5
  201. data/lib/assets/javascripts/spree/backend/braintree/solidus_braintree.js +0 -59
  202. data/lib/assets/javascripts/spree/frontend/braintree/solidus_braintree.js +0 -144
  203. data/lib/assets/javascripts/vendor/braintree.js +0 -8
  204. data/lib/assets/stylesheets/spree/frontend/solidus_braintree.scss +0 -26
@@ -0,0 +1,599 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/customers
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <customer>
11
+ <payment-method-nonce>fake-venmo-account-nonce</payment-method-nonce>
12
+ </customer>
13
+ headers:
14
+ Accept-Encoding:
15
+ - gzip
16
+ Accept:
17
+ - application/xml
18
+ User-Agent:
19
+ - Braintree Ruby Gem 3.4.0
20
+ X-Apiversion:
21
+ - '6'
22
+ Content-Type:
23
+ - application/xml
24
+ Authorization:
25
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: Created
30
+ headers:
31
+ Date:
32
+ - Fri, 14 Jan 2022 15:59:11 GMT
33
+ Content-Type:
34
+ - application/xml; charset=utf-8
35
+ Transfer-Encoding:
36
+ - chunked
37
+ X-Frame-Options:
38
+ - SAMEORIGIN
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ X-Content-Type-Options:
42
+ - nosniff
43
+ X-Download-Options:
44
+ - noopen
45
+ X-Permitted-Cross-Domain-Policies:
46
+ - none
47
+ Referrer-Policy:
48
+ - strict-origin-when-cross-origin
49
+ X-Authentication:
50
+ - basic_auth
51
+ Strict-Transport-Security:
52
+ - max-age=31536000
53
+ X-User:
54
+ - 4b9yb8scv4785hg6
55
+ Vary:
56
+ - Accept-Encoding, Origin
57
+ Content-Encoding:
58
+ - gzip
59
+ Etag:
60
+ - W/"81b0c4f3649de9ac00f31053c20e3880"
61
+ Cache-Control:
62
+ - max-age=0, private, must-revalidate
63
+ X-Runtime:
64
+ - '2.456603'
65
+ X-Request-Id:
66
+ - 9b6be68b-2654-44f6-aba2-3e6d310817d2
67
+ Content-Security-Policy:
68
+ - frame-ancestors 'self'
69
+ X-Broxyid:
70
+ - 9b6be68b-2654-44f6-aba2-3e6d310817d2
71
+ Paypal-Debug-Id:
72
+ - 127618c95ae54
73
+ body:
74
+ encoding: ASCII-8BIT
75
+ string: !binary |-
76
+ H4sIAM+d4WEAA6RUTY/aMBC976+IcjdOAkGAQtBKFUhI9ETZlsvKiQfwktip7RDCr6+TQFg+Km3Vo997M2M/z0wwOaaJdQCpmOBj2+04tgU8FpTx7dj+sZyigT0JX4I4V1qkIMMXywoYDV1n0B/23O4gwOZUgYaMd4RrZM593zsV0aCvf++HB784BfgzW6k3TCqNOEnB4iwZ21rmYOOaSsjfmFikGeHlAw4pYckDmu0Ef8yxIccHrIBIMf2kngSigSKiLV1mMLapOWqWgh16juchx0Vub+n6I384cobrAF8D6vg8o1+Odx0Tfw1o6temow2DhKrmSttERCSpXPzVXZ3obKjXP+ebxfK19/1j7yyWi16Ar5rzIyjTKCaSqvM1iJSkPL+RUCpBKXjGHYCnApE4FjnXt4KKv1c02D/6Vr/71rc6x396V+egsCF5ckkQCZEA4XZY/XCAz2QrZinZAsplEu60ztQIY2Js0aoTScK4lgBbk78gZce0Ic5ImQLX7ynonaDvidgKXJvRyfh2AvzApOCVYqwIp5E4mjlpC1xKarEHHvapVxRcBrg5XkglchkDoqBiyTJtxjNcVQWs18btkVXX+xDmLU+0rY8KZDVM4VXdQhdN84sVXDVNXQXNBSA3wLdUe7c8ais9aZymCc4bA91ui8/wg/Qr3f1EfMlzReLZ1I/eVjmduQmd7Q7r6dBbv/k6cgfe+tu8Sz2/vBsUE48f2vkOUmYT4usq/AMAAP//AwAp1uX9PQUAAA==
77
+ recorded_at: Fri, 14 Jan 2022 15:59:11 GMT
78
+ - request:
79
+ method: get
80
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/payment_methods/any/6d2wwnr
81
+ body:
82
+ encoding: US-ASCII
83
+ string: ''
84
+ headers:
85
+ Accept-Encoding:
86
+ - gzip
87
+ Accept:
88
+ - application/xml
89
+ User-Agent:
90
+ - Braintree Ruby Gem 3.4.0
91
+ X-Apiversion:
92
+ - '6'
93
+ Content-Type:
94
+ - application/xml
95
+ Authorization:
96
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
97
+ response:
98
+ status:
99
+ code: 200
100
+ message: ''
101
+ headers:
102
+ Date:
103
+ - Fri, 14 Jan 2022 15:59:12 GMT
104
+ Content-Type:
105
+ - application/xml; charset=utf-8
106
+ X-Frame-Options:
107
+ - SAMEORIGIN
108
+ X-Xss-Protection:
109
+ - 1; mode=block
110
+ X-Content-Type-Options:
111
+ - nosniff
112
+ X-Download-Options:
113
+ - noopen
114
+ X-Permitted-Cross-Domain-Policies:
115
+ - none
116
+ Referrer-Policy:
117
+ - strict-origin-when-cross-origin
118
+ X-Authentication:
119
+ - basic_auth
120
+ X-User:
121
+ - 4b9yb8scv4785hg6
122
+ Vary:
123
+ - Accept-Encoding, Origin
124
+ Content-Encoding:
125
+ - gzip
126
+ Etag:
127
+ - W/"ea38a8fb9c23c4e8f500d972070c51c5"
128
+ Cache-Control:
129
+ - max-age=0, private, must-revalidate
130
+ X-Runtime:
131
+ - '0.048795'
132
+ X-Request-Id:
133
+ - 80edaecc-ea2b-4443-9f4b-aa83ccc08b7b
134
+ Content-Security-Policy:
135
+ - frame-ancestors 'self'
136
+ X-Broxyid:
137
+ - 80edaecc-ea2b-4443-9f4b-aa83ccc08b7b
138
+ Strict-Transport-Security:
139
+ - max-age=31536000; includeSubDomains
140
+ Paypal-Debug-Id:
141
+ - 811aa4a2cf924
142
+ Transfer-Encoding:
143
+ - chunked
144
+ body:
145
+ encoding: ASCII-8BIT
146
+ string: !binary |-
147
+ H4sIANCd4WEAA5RSTW/iMBC991dEuRvHgVSATFClCiQk9sTSbi6VE09D2tgT2Q40++s3Hy2h0l56nDfvvRm/MV9/qNI7g7EF6pXPJoHvgc5QFjpf+b8PGzL31/EdP4NWSESWYa1dfOd5PDMgHEginOeaCla+bEtXKPDjMAhDEjDCZgcWLaPFkgUJp6Og19eV/Jl+FPR6Ca+iLr/EKWIJQvuxMzVw+tnsiYUSOZDalPHJucouKRXWgrOT1IhCOwOQt74X0UwyVLQSjQLtXhS4E8qXEnOk/eMnlc7XoM+FQd0xVlZomeIHp+OAbpzDd9DxvQwvF204HcquYbE2GRAJNjNF5dq842Nn7D0MqS69fs4btvv/h9tnZsFooSAemVeo6w9X6iBSyMGd7BAI4/R7q9+nTq/u9jNGYYxofDocuLYO1cBnwfx+MWPTeXvGG/gbLS8xFWUH/5ke/8rtwiXPu9f94WH26+092B/2sxvxSO48xirbbqL06VjLLSvl9nRONosweYpcyuZh8ribyjBqOL1Rf73s+jX/AQAA//8DAGHXMa/SAgAA
148
+ recorded_at: Fri, 14 Jan 2022 15:59:12 GMT
149
+ - request:
150
+ method: post
151
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/transactions
152
+ body:
153
+ encoding: UTF-8
154
+ string: |
155
+ <?xml version="1.0" encoding="UTF-8"?>
156
+ <transaction>
157
+ <amount>20.00</amount>
158
+ <order-id>R300000001</order-id>
159
+ <channel>Solidus</channel>
160
+ <options>
161
+ <store-in-vault-on-success type="boolean">true</store-in-vault-on-success>
162
+ </options>
163
+ <payment-method-token>6d2wwnr</payment-method-token>
164
+ <customer-id>108694138</customer-id>
165
+ <type>sale</type>
166
+ </transaction>
167
+ headers:
168
+ Accept-Encoding:
169
+ - gzip
170
+ Accept:
171
+ - application/xml
172
+ User-Agent:
173
+ - Braintree Ruby Gem 3.4.0
174
+ X-Apiversion:
175
+ - '6'
176
+ Content-Type:
177
+ - application/xml
178
+ Authorization:
179
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
180
+ response:
181
+ status:
182
+ code: 201
183
+ message: Created
184
+ headers:
185
+ Date:
186
+ - Fri, 14 Jan 2022 15:59:14 GMT
187
+ Content-Type:
188
+ - application/xml; charset=utf-8
189
+ Transfer-Encoding:
190
+ - chunked
191
+ X-Frame-Options:
192
+ - SAMEORIGIN
193
+ X-Xss-Protection:
194
+ - 1; mode=block
195
+ X-Content-Type-Options:
196
+ - nosniff
197
+ X-Download-Options:
198
+ - noopen
199
+ X-Permitted-Cross-Domain-Policies:
200
+ - none
201
+ Referrer-Policy:
202
+ - strict-origin-when-cross-origin
203
+ X-Authentication:
204
+ - basic_auth
205
+ Strict-Transport-Security:
206
+ - max-age=31536000
207
+ X-User:
208
+ - 4b9yb8scv4785hg6
209
+ Vary:
210
+ - Accept-Encoding, Origin
211
+ Content-Encoding:
212
+ - gzip
213
+ Etag:
214
+ - W/"d3c8043832cbd1aff0a8464e72a2f8aa"
215
+ Cache-Control:
216
+ - max-age=0, private, must-revalidate
217
+ X-Runtime:
218
+ - '1.431154'
219
+ X-Request-Id:
220
+ - a337730f-bfd0-4714-9502-2db5a0d9181a
221
+ Content-Security-Policy:
222
+ - frame-ancestors 'self'
223
+ X-Broxyid:
224
+ - a337730f-bfd0-4714-9502-2db5a0d9181a
225
+ Paypal-Debug-Id:
226
+ - 71b80eeedf854
227
+ body:
228
+ encoding: ASCII-8BIT
229
+ string: !binary |-
230
+ H4sIANKd4WEAA+xZy3PbNhO/56/QaHqFqadjZ2SmmS9NvmbGaes4L18yIAGJsEiCAUA9/Nd3QZAUKQKU0smhh/pk7f4ALBb75uLlLokHGyok4+nNcHwxGg5oGnLC0tXN8OP9G3Q1fOk/WyiBU4lDBSj/2WCwYMRPnm9CkuzJwoMfmiYVVrn0ca4iLtgTBU5J0ly1z6gvcUwXXvGvpoW5EHDaHjHJERxK/Y8fXi+8LlmDccLzVPmT0cVotPDKXwcGEvR7TqWipA1p0DU4oSKMMJBxGBZsEP6WE0LJb7ngcuHZAMXt8gBZeIOUxTdDJXI69MwBGM4SZ0G5IICE/e+mI/M3Xng1sVCQoBgkR1gNtNJuhgR+KpbQIVxyMkGjMRrP7sfzF/PrF+PpA6iuXlCszzNy/voZrD8sKB9IKg5X0T/Mq49HV5fXs/H0qnp2IC+ZkAqlOKHHVwRmjN28kCcZTvcWDk0wiy30LQ0kU7a9soinNvoS7yzUVcwDHGs1f51+eiJvr9XDl3fL2/tXs/eP69Ht/e1s4R0wWhVeUxeLgMUxuEitF9vBP18rUglKwaQIEVRKm9p2iqZEv58TEvMQx0zZthd0Bf5t0y0HR44LV7TKC/Yt9u7rGLZejXCcRXhyFmp6CpXm8Bos7LiV13gcuNMyT4nN+2qOLH0DC4H3LSYoshH4bJtkWCgGqpFUqZgmFBy9vcK2+SFCntq+sW2AVRhZMRHLsv9s8V9qi83XKcMpWjIaE1naQpketLkBrGkQpeUEnMcUp0N/iWMJ2bNnhdlxIxEVggvIfDLjqaRWZRW4hjLbaP93OKgXUG3RtgP7Lr2YQjGbzRH1FgJuh6ihK8hPW7wHziM1fgMpT3ZNZZEJHsJpoIfK33ABL3a6vLv69OH5wusFtXdpizIe6RLDxXWsVOAT/qsMOBtdHbkQhWoJYVoSUH4X1rnrhrNQP9ASHh5WgDUGVHQ1kuuaBE4xNYYDpfAOmdLJyqI7mmTKYZsHgAlNIS5/mncqCzHXU0Gs2DIVoZSqLRdrpPiaurygb0lVOoEGUYhFVaYY3iWZbLepAFkraJHObaGmCIwzm+vDpkjLZQ17GRPGiBKeqshfeB1SB7mnWLSBBaU8rSw8kA6Xyh4VtUQRj4tntYc+luAVRbmI/UipTL7wPAzqU/IiEJil2kFLz7qAmO9leK+zzreEgleQbzFfcS9P1ynfphdZunpJ0w0TPNWYG4lTEvAdFIT1EWWoFjTDUD59NAv1oxmCYUcUxyoCyekB0aAZEKEBUwe++VmycgHvBma1ymNdtDZQx5w6memyHPL1AdqglULjveBxA1ERSjVKmeuoG+B0fcC0qO30wJdIc3Ea0uapXWalM07ysOg6GmqracfVa/j2zTz4/Cknb8cxeRttHt5cP34dX00eXr+bksl8f1TFNhKOw3zzlIGXlrEBVsEDM8hXnTChgw5NE44kWTtctOYfnQzi6At3c+WRy5YHlMt+mhkXu55vxD1RQ3IIqBQRKkPBihjnf9KbD14ZkV8MirMeOSjDgi0VLqnQLusfsDWpqWdN1K9YnIDecYrGlYor1hnGMXn4PFeB20CqLRtKL/t6FDEIQ2LfqmfrWrBAUFhbvpNWHLSZwEiyM1vPGl/v0DtQMCblmAnUmvUjGsf815QGEAmCC6aMdg9CNupv80Q+zhgI06Wbq3rHd60ppX5MQgMLt9bqeVC//yl+nZqKZgZlUF9ygqCkRlqTFn88QoJYQlmxIPLRObrcQFBZWJoVwmRhClZeac28SlWO3OPqzcHLurK1N4VGQI+D4F6OKFPzTdaPcJrS2P/AY0ZyCTGlJJhuSmx0nbSk1FXh6LP5Fpkn7XBBF0EupGnICFWYxbJKRi2W/YEa3Zz9+DamMwY7E053+tIQxMRJMQJdDZ69UHccYOfQvNh2zcPQ0uXBezqUplWW5Yr2dcimFsLkEUogvd6GLWM8Yim0GblpwfWAsQhk38pAtvBcsHap3tBNu6JvVutO0Om9ivr+1F51E1BVte1TvnxZeHaOdU2xm4S4GsObGuagbiQ007JbLYGKIKMiCCbayygob8k7L7zEIYMuvpgbtp2iHoJCcrmcT562wdWl+r6+3sy3T41Ja526akqR/d6boN0AVklx4TnOPMgCqm3LwrVNIZxlMQvLHi9m1Jxu/vvGyC9lGfDLZCpm8+l6N989CTFfQV3Qt951QiHvn3g/0D3KoMjcto0aub4sEypjNXVL2dUs8ZqiVnpGKYdCqi4urKva6mqrpZgdSbQUPEE9c5V6xOSKmlWOcPHr7qw17fJHuhAYjcez8Xx+PZ4d7PAI5+qmtfvi3m66cvB2PCnaLCr7puKTVmniWl4mKF3Ju8aISrDTY75yFFlXYvYw1ztp7F1rnWbWK7qTIft80r3gUEKS/7+LgvR99HV6lwWT+TK4J5OvkztFP/91XGkavZ2Qu6s+txQGvQFmMQiBlFb1Mf54Mp3NL5/rasGJ0Vvo5IDj2ORTqyk3EL2aPokrTZQmG10u4O4jhN9zMDPREbT7xekQR023VoUVx3yHioSlhQrPgbeD7+vfPvzv7vc/7/+4s4Xlw0cvM+mr24MTo+KfPwe2VpzNj3sHARcQ2SCsCt3mEte0qQEpK98AOtUqnTrmWTpiJrZ4WgVqqF0py+rWtvtN9R/6Vm9n9ENfXe2R97wJqCNqnz0DHfykGe6PGbHTjM8w5F5T7jHmU+bc00JZTfqHg8IPh4WB9YP+P3OmMxzG63hMq0X3n/0NAAD//wMAdSGQTsggAAA=
231
+ recorded_at: Fri, 14 Jan 2022 15:59:14 GMT
232
+ - request:
233
+ method: get
234
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/payment_methods/any/6d2wwnr
235
+ body:
236
+ encoding: US-ASCII
237
+ string: ''
238
+ headers:
239
+ Accept-Encoding:
240
+ - gzip
241
+ Accept:
242
+ - application/xml
243
+ User-Agent:
244
+ - Braintree Ruby Gem 3.4.0
245
+ X-Apiversion:
246
+ - '6'
247
+ Content-Type:
248
+ - application/xml
249
+ Authorization:
250
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
251
+ response:
252
+ status:
253
+ code: 200
254
+ message: ''
255
+ headers:
256
+ Date:
257
+ - Fri, 14 Jan 2022 15:59:15 GMT
258
+ Content-Type:
259
+ - application/xml; charset=utf-8
260
+ X-Frame-Options:
261
+ - SAMEORIGIN
262
+ X-Xss-Protection:
263
+ - 1; mode=block
264
+ X-Content-Type-Options:
265
+ - nosniff
266
+ X-Download-Options:
267
+ - noopen
268
+ X-Permitted-Cross-Domain-Policies:
269
+ - none
270
+ Referrer-Policy:
271
+ - strict-origin-when-cross-origin
272
+ X-Authentication:
273
+ - basic_auth
274
+ X-User:
275
+ - 4b9yb8scv4785hg6
276
+ Vary:
277
+ - Accept-Encoding, Origin
278
+ Content-Encoding:
279
+ - gzip
280
+ Etag:
281
+ - W/"013474601343415776eaa85ef4251c3a"
282
+ Cache-Control:
283
+ - max-age=0, private, must-revalidate
284
+ X-Runtime:
285
+ - '0.042309'
286
+ X-Request-Id:
287
+ - fb468060-a5a5-46ad-af98-4fe155eb1715
288
+ Content-Security-Policy:
289
+ - frame-ancestors 'self'
290
+ X-Broxyid:
291
+ - fb468060-a5a5-46ad-af98-4fe155eb1715
292
+ Strict-Transport-Security:
293
+ - max-age=31536000; includeSubDomains
294
+ Paypal-Debug-Id:
295
+ - 11622960ec834
296
+ Transfer-Encoding:
297
+ - chunked
298
+ body:
299
+ encoding: ASCII-8BIT
300
+ string: !binary |-
301
+ H4sIANOd4WEAA5RSTW/iMBC991dEuRvHgVSATFClCiQk9sTSbi6VE09D2tgT2Q40++s3Hy2h0l56nDfvvRm/MV9/qNI7g7EF6pXPJoHvgc5QFjpf+b8PGzL31/EdP4NWSESWYa1dfOd5PDMgHEginOeaCla+bEtXKPDjMAhDEjDCZgcWLaPFkgUJp6Og19eV/Jl+FPR6Ca+iLr/EKWIJQvuxMzVw+tnsiYUSOZDalPHJucouKRXWgrOT1IhCOwOQt74X0UwyVLQSjQLtXhS4E8qXEnOk/eMnlc7XoM+FQd0xVlZomeIHp+OAbpzDd9DxvQwvF204HcquYbE2GRAJNjNF5dq842Nn7D0MqS69fs4btvv/h9tnZsFooSAemVeo6w9X6iBSyMGd7BAI4/R7q9+nTq/u9jNGYYxofDocuLYO1cBnwfx+MWPTeXvGG/gbLS8xFWUH/5ke/8rtwiXPu9f94WH26+092B/2sxvxSO48xirbbqL06VjLLSvl9nRONosweYpcyuZh8ribyjBqOL1Rf73s+jX/AQAA//8DAGHXMa/SAgAA
302
+ recorded_at: Fri, 14 Jan 2022 15:59:15 GMT
303
+ - request:
304
+ method: get
305
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/payment_methods/any/6d2wwnr
306
+ body:
307
+ encoding: US-ASCII
308
+ string: ''
309
+ headers:
310
+ Accept-Encoding:
311
+ - gzip
312
+ Accept:
313
+ - application/xml
314
+ User-Agent:
315
+ - Braintree Ruby Gem 3.4.0
316
+ X-Apiversion:
317
+ - '6'
318
+ Content-Type:
319
+ - application/xml
320
+ Authorization:
321
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
322
+ response:
323
+ status:
324
+ code: 200
325
+ message: ''
326
+ headers:
327
+ Date:
328
+ - Fri, 14 Jan 2022 15:59:15 GMT
329
+ Content-Type:
330
+ - application/xml; charset=utf-8
331
+ X-Frame-Options:
332
+ - SAMEORIGIN
333
+ X-Xss-Protection:
334
+ - 1; mode=block
335
+ X-Content-Type-Options:
336
+ - nosniff
337
+ X-Download-Options:
338
+ - noopen
339
+ X-Permitted-Cross-Domain-Policies:
340
+ - none
341
+ Referrer-Policy:
342
+ - strict-origin-when-cross-origin
343
+ X-Authentication:
344
+ - basic_auth
345
+ X-User:
346
+ - 4b9yb8scv4785hg6
347
+ Vary:
348
+ - Accept-Encoding, Origin
349
+ Content-Encoding:
350
+ - gzip
351
+ Etag:
352
+ - W/"013474601343415776eaa85ef4251c3a"
353
+ Cache-Control:
354
+ - max-age=0, private, must-revalidate
355
+ X-Runtime:
356
+ - '0.082385'
357
+ X-Request-Id:
358
+ - 111f0ea5-3826-4019-b543-04e88b1f6ea0
359
+ Content-Security-Policy:
360
+ - frame-ancestors 'self'
361
+ X-Broxyid:
362
+ - 111f0ea5-3826-4019-b543-04e88b1f6ea0
363
+ Strict-Transport-Security:
364
+ - max-age=31536000; includeSubDomains
365
+ Paypal-Debug-Id:
366
+ - 2f411f12f8be4
367
+ Transfer-Encoding:
368
+ - chunked
369
+ body:
370
+ encoding: ASCII-8BIT
371
+ string: !binary |-
372
+ H4sIANOd4WEAA5RSTW/iMBC991dEuRvHgVSATFClCiQk9sTSbi6VE09D2tgT2Q40++s3Hy2h0l56nDfvvRm/MV9/qNI7g7EF6pXPJoHvgc5QFjpf+b8PGzL31/EdP4NWSESWYa1dfOd5PDMgHEginOeaCla+bEtXKPDjMAhDEjDCZgcWLaPFkgUJp6Og19eV/Jl+FPR6Ca+iLr/EKWIJQvuxMzVw+tnsiYUSOZDalPHJucouKRXWgrOT1IhCOwOQt74X0UwyVLQSjQLtXhS4E8qXEnOk/eMnlc7XoM+FQd0xVlZomeIHp+OAbpzDd9DxvQwvF204HcquYbE2GRAJNjNF5dq842Nn7D0MqS69fs4btvv/h9tnZsFooSAemVeo6w9X6iBSyMGd7BAI4/R7q9+nTq/u9jNGYYxofDocuLYO1cBnwfx+MWPTeXvGG/gbLS8xFWUH/5ke/8rtwiXPu9f94WH26+092B/2sxvxSO48xirbbqL06VjLLSvl9nRONosweYpcyuZh8ribyjBqOL1Rf73s+jX/AQAA//8DAGHXMa/SAgAA
373
+ recorded_at: Fri, 14 Jan 2022 15:59:15 GMT
374
+ - request:
375
+ method: get
376
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/payment_methods/any/6d2wwnr
377
+ body:
378
+ encoding: US-ASCII
379
+ string: ''
380
+ headers:
381
+ Accept-Encoding:
382
+ - gzip
383
+ Accept:
384
+ - application/xml
385
+ User-Agent:
386
+ - Braintree Ruby Gem 3.4.0
387
+ X-Apiversion:
388
+ - '6'
389
+ Content-Type:
390
+ - application/xml
391
+ Authorization:
392
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
393
+ response:
394
+ status:
395
+ code: 200
396
+ message: ''
397
+ headers:
398
+ Date:
399
+ - Fri, 14 Jan 2022 15:59:16 GMT
400
+ Content-Type:
401
+ - application/xml; charset=utf-8
402
+ X-Frame-Options:
403
+ - SAMEORIGIN
404
+ X-Xss-Protection:
405
+ - 1; mode=block
406
+ X-Content-Type-Options:
407
+ - nosniff
408
+ X-Download-Options:
409
+ - noopen
410
+ X-Permitted-Cross-Domain-Policies:
411
+ - none
412
+ Referrer-Policy:
413
+ - strict-origin-when-cross-origin
414
+ X-Authentication:
415
+ - basic_auth
416
+ X-User:
417
+ - 4b9yb8scv4785hg6
418
+ Vary:
419
+ - Accept-Encoding, Origin
420
+ Content-Encoding:
421
+ - gzip
422
+ Etag:
423
+ - W/"c2f2de8e6145fe1f28148ec02d341b3a"
424
+ Cache-Control:
425
+ - max-age=0, private, must-revalidate
426
+ X-Runtime:
427
+ - '0.041208'
428
+ X-Request-Id:
429
+ - 80771f20-d1bb-4b5d-96d5-90101e5e92d6
430
+ Content-Security-Policy:
431
+ - frame-ancestors 'self'
432
+ X-Broxyid:
433
+ - 80771f20-d1bb-4b5d-96d5-90101e5e92d6
434
+ Strict-Transport-Security:
435
+ - max-age=31536000; includeSubDomains
436
+ Paypal-Debug-Id:
437
+ - 450dfccfcd7f4
438
+ Transfer-Encoding:
439
+ - chunked
440
+ body:
441
+ encoding: ASCII-8BIT
442
+ string: !binary |-
443
+ H4sIANSd4WEAA5RSTW/iMBC991dEuRvHgVSATFClCiQk9sTSbi6VE09D2tgT2Q40++s3Hy2h0l56nDfvvRm/MV9/qNI7g7EF6pXPJoHvgc5QFjpf+b8PGzL31/EdP4NWSESWYa1dfOd5PDMgHEginOeaCla+bEtXKPDjMAhDEjDCZgcWLaPFkgUJp6Og19eV/Jl+FPR6Ca+iLr/EKWIJQvuxMzVw+tnsiYUSOZDalPHJucouKRXWgrOT1IhCOwOQt74X0UwyVLQSjQLtXhS4E8qXEnOk/eMnlc7XoM+FQd0xVlZomeIHp+OAbpzDd9DxvQwvF204HcquYbE2GRAJNjNF5dq842Nn7D0MqS69fs4btvv/h9tnZsFooSAemVeo6w9X6iBSyMGd7BAI4/R7q9+nTq/u9jNGYYxofDocuLYO1cBnwfx+MWPTeXvGG/gbLS8xFWUH/5ke/8rtwiXPu9f94WH26+092B/2sxvxSO48xirbbqL06VjLLSvl9nRONosweYpcyuZh8ribyjBqOL1Rf73s+jX/AQAA//8DAGHXMa/SAgAA
444
+ recorded_at: Fri, 14 Jan 2022 15:59:16 GMT
445
+ - request:
446
+ method: post
447
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/transactions
448
+ body:
449
+ encoding: UTF-8
450
+ string: |
451
+ <?xml version="1.0" encoding="UTF-8"?>
452
+ <transaction>
453
+ <amount>20.00</amount>
454
+ <order-id>R300000002</order-id>
455
+ <channel>Solidus</channel>
456
+ <options>
457
+ <store-in-vault-on-success type="boolean">true</store-in-vault-on-success>
458
+ </options>
459
+ <payment-method-token>6d2wwnr</payment-method-token>
460
+ <customer-id>108694138</customer-id>
461
+ <type>sale</type>
462
+ </transaction>
463
+ headers:
464
+ Accept-Encoding:
465
+ - gzip
466
+ Accept:
467
+ - application/xml
468
+ User-Agent:
469
+ - Braintree Ruby Gem 3.4.0
470
+ X-Apiversion:
471
+ - '6'
472
+ Content-Type:
473
+ - application/xml
474
+ Authorization:
475
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
476
+ response:
477
+ status:
478
+ code: 201
479
+ message: ''
480
+ headers:
481
+ Date:
482
+ - Fri, 14 Jan 2022 15:59:17 GMT
483
+ Content-Type:
484
+ - application/xml; charset=utf-8
485
+ X-Frame-Options:
486
+ - SAMEORIGIN
487
+ X-Xss-Protection:
488
+ - 1; mode=block
489
+ X-Content-Type-Options:
490
+ - nosniff
491
+ X-Download-Options:
492
+ - noopen
493
+ X-Permitted-Cross-Domain-Policies:
494
+ - none
495
+ Referrer-Policy:
496
+ - strict-origin-when-cross-origin
497
+ X-Authentication:
498
+ - basic_auth
499
+ X-User:
500
+ - 4b9yb8scv4785hg6
501
+ Vary:
502
+ - Accept-Encoding, Origin
503
+ Content-Encoding:
504
+ - gzip
505
+ Etag:
506
+ - W/"c184a27dbdf08734c94c8087afc0d6f8"
507
+ Cache-Control:
508
+ - max-age=0, private, must-revalidate
509
+ X-Runtime:
510
+ - '0.339873'
511
+ X-Request-Id:
512
+ - 1a03d7fa-f8b4-4d90-ba57-c23c3caf9894
513
+ Content-Security-Policy:
514
+ - frame-ancestors 'self'
515
+ X-Broxyid:
516
+ - 1a03d7fa-f8b4-4d90-ba57-c23c3caf9894
517
+ Strict-Transport-Security:
518
+ - max-age=31536000; includeSubDomains
519
+ Paypal-Debug-Id:
520
+ - 7ce93c5faced4
521
+ Transfer-Encoding:
522
+ - chunked
523
+ body:
524
+ encoding: ASCII-8BIT
525
+ string: !binary |-
526
+ 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
527
+ recorded_at: Fri, 14 Jan 2022 15:59:17 GMT
528
+ - request:
529
+ method: get
530
+ uri: https://api.sandbox.braintreegateway.com/merchants/652zwb86tqk9v5wz/payment_methods/any/6d2wwnr
531
+ body:
532
+ encoding: US-ASCII
533
+ string: ''
534
+ headers:
535
+ Accept-Encoding:
536
+ - gzip
537
+ Accept:
538
+ - application/xml
539
+ User-Agent:
540
+ - Braintree Ruby Gem 3.4.0
541
+ X-Apiversion:
542
+ - '6'
543
+ Content-Type:
544
+ - application/xml
545
+ Authorization:
546
+ - Basic bnl2eGpncnlid3k1amNtODpjZWMxN2Q3NDM2ODU4MjM3M2ZlMjQyOTJiMjQyNDAwYg==
547
+ response:
548
+ status:
549
+ code: 200
550
+ message: ''
551
+ headers:
552
+ Date:
553
+ - Fri, 14 Jan 2022 15:59:17 GMT
554
+ Content-Type:
555
+ - application/xml; charset=utf-8
556
+ X-Frame-Options:
557
+ - SAMEORIGIN
558
+ X-Xss-Protection:
559
+ - 1; mode=block
560
+ X-Content-Type-Options:
561
+ - nosniff
562
+ X-Download-Options:
563
+ - noopen
564
+ X-Permitted-Cross-Domain-Policies:
565
+ - none
566
+ Referrer-Policy:
567
+ - strict-origin-when-cross-origin
568
+ X-Authentication:
569
+ - basic_auth
570
+ X-User:
571
+ - 4b9yb8scv4785hg6
572
+ Vary:
573
+ - Accept-Encoding, Origin
574
+ Content-Encoding:
575
+ - gzip
576
+ Etag:
577
+ - W/"f9c848e2b5dd8437a5e38291b338d437"
578
+ Cache-Control:
579
+ - max-age=0, private, must-revalidate
580
+ X-Runtime:
581
+ - '0.031702'
582
+ X-Request-Id:
583
+ - b28ad837-f50b-4ec8-943b-a9c3b1d7ff66
584
+ Content-Security-Policy:
585
+ - frame-ancestors 'self'
586
+ X-Broxyid:
587
+ - b28ad837-f50b-4ec8-943b-a9c3b1d7ff66
588
+ Strict-Transport-Security:
589
+ - max-age=31536000; includeSubDomains
590
+ Paypal-Debug-Id:
591
+ - 7aeb9e3a70134
592
+ Transfer-Encoding:
593
+ - chunked
594
+ body:
595
+ encoding: ASCII-8BIT
596
+ string: !binary |-
597
+ H4sIANWd4WEAA5RSTW/iMBC991dEuRvHgVSATFClCiQk9sTSbi6VE09D2tgT2Q40++s3Hy2h0l56nDfvvRm/MV9/qNI7g7EF6pXPJoHvgc5QFjpf+b8PGzL31/EdP4NWSESWYa1dfOd5PDMgHEginOeaCla+bEtXKPDjMAhDEjDCZgcWLaPFkgUJp6Og19eV/Jl+FPR6Ca+iLr/EKWIJQvuxMzVw+tnsiYUSOZDalPHJucouKRXWgrOT1IhCOwOQt74X0UwyVLQSjQLtXhS4E8qXEnOk/eMnlc7XoM+FQd0xVlZomeIHp+OAbpzDd9DxvQwvF204HcquYbE2GRAJNjNF5dq842Nn7D0MqS69fs4btvv/h9tnZsFooSAemVeo6w9X6iBSyMGd7BAI4/R7q9+nTq/u9jNGYYxofDocuLYO1cBnwfx+MWPTeXvGG/gbLS8xFWUH/5ke/8rtwiXPu9f94WH26+092B/2sxvxSO48xirbbqL06VjLLSvl9nRONosweYpcyuZh8ribyjBqOL1Rf73s+jX/AQAA//8DAGHXMa/SAgAA
598
+ recorded_at: Fri, 14 Jan 2022 15:59:17 GMT
599
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,86 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <transaction>
11
+ <amount>10.00</amount>
12
+ <channel>Solidus</channel>
13
+ <options>
14
+ <store-in-vault-on-success type="boolean">true</store-in-vault-on-success>
15
+ </options>
16
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
17
+ <billing>
18
+ <first-name>Dick</first-name>
19
+ <last-name>Grayson</last-name>
20
+ <street-address>15 Robin Walk Apt 123</street-address>
21
+ <locality>Blüdhaven</locality>
22
+ <postal-code>90210</postal-code>
23
+ <region>CA</region>
24
+ <country-code-alpha2>US</country-code-alpha2>
25
+ </billing>
26
+ <type>sale</type>
27
+ </transaction>
28
+ headers:
29
+ Accept-Encoding:
30
+ - gzip
31
+ Accept:
32
+ - application/xml
33
+ User-Agent:
34
+ - Braintree Ruby Gem 2.98.0
35
+ X-Apiversion:
36
+ - '5'
37
+ Content-Type:
38
+ - application/xml
39
+ Authorization:
40
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
41
+ response:
42
+ status:
43
+ code: 201
44
+ message: Created
45
+ headers:
46
+ Date:
47
+ - Fri, 13 Sep 2019 14:27:21 GMT
48
+ Content-Type:
49
+ - application/xml; charset=utf-8
50
+ Transfer-Encoding:
51
+ - chunked
52
+ X-Frame-Options:
53
+ - SAMEORIGIN
54
+ X-Xss-Protection:
55
+ - 1; mode=block
56
+ X-Content-Type-Options:
57
+ - nosniff
58
+ X-Authentication:
59
+ - basic_auth
60
+ X-User:
61
+ - 3v249hqtptsg744y
62
+ Vary:
63
+ - Accept-Encoding
64
+ Content-Encoding:
65
+ - gzip
66
+ Etag:
67
+ - W/"352c8901a89656457f414fe8ab578ca2"
68
+ Cache-Control:
69
+ - max-age=0, private, must-revalidate
70
+ X-Runtime:
71
+ - '0.473273'
72
+ X-Request-Id:
73
+ - 01-1568384840.821-92.223.152.178-12966756
74
+ Content-Security-Policy:
75
+ - frame-ancestors 'self'
76
+ X-Broxyid:
77
+ - 01-1568384840.821-92.223.152.178-12966756
78
+ Strict-Transport-Security:
79
+ - max-age=31536000; includeSubDomains
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: !binary |-
83
+ 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
84
+ http_version:
85
+ recorded_at: Fri, 13 Sep 2019 14:27:21 GMT
86
+ recorded_with: VCR 5.0.0