solidus_paypal_braintree 0.4.0 → 1.0.0

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +40 -0
  3. data/.gem_release.yml +5 -0
  4. data/.github/stale.yml +17 -0
  5. data/.gitignore +18 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +68 -0
  8. data/CHANGELOG.md +258 -0
  9. data/Gemfile +43 -0
  10. data/LICENSE +2 -2
  11. data/README.md +77 -23
  12. data/Rakefile +4 -25
  13. data/app/assets/javascripts/solidus_paypal_braintree/checkout.js +32 -3
  14. data/app/assets/javascripts/solidus_paypal_braintree/client.js +23 -4
  15. data/app/assets/javascripts/solidus_paypal_braintree/constants.js +19 -0
  16. data/app/assets/javascripts/solidus_paypal_braintree/frontend.js +1 -0
  17. data/app/assets/javascripts/solidus_paypal_braintree/hosted_form.js +15 -5
  18. data/app/assets/javascripts/solidus_paypal_braintree/paypal_button.js +47 -20
  19. data/app/assets/javascripts/solidus_paypal_braintree/paypal_messaging.js +22 -0
  20. data/app/decorators/controllers/solidus_paypal_braintree/admin_payments_controller_decorator.rb +11 -0
  21. data/app/decorators/controllers/solidus_paypal_braintree/checkout_controller_decorator.rb +11 -0
  22. data/app/decorators/controllers/solidus_paypal_braintree/client_tokens_controller.rb +41 -0
  23. data/app/decorators/controllers/solidus_paypal_braintree/orders_controller_decorator.rb +11 -0
  24. data/app/decorators/models/solidus_paypal_braintree/spree/store_decorator.rb +20 -0
  25. data/app/decorators/models/solidus_paypal_braintree/spree/user_decorator.rb +13 -0
  26. data/app/helpers/solidus_paypal_braintree/braintree_admin_helper.rb +23 -0
  27. data/app/helpers/solidus_paypal_braintree/braintree_checkout_helper.rb +46 -0
  28. data/app/models/application_record.rb +2 -0
  29. data/app/models/solidus_paypal_braintree/address.rb +30 -0
  30. data/app/models/solidus_paypal_braintree/configuration.rb +26 -3
  31. data/app/models/solidus_paypal_braintree/customer.rb +7 -3
  32. data/app/models/solidus_paypal_braintree/gateway.rb +52 -20
  33. data/app/models/solidus_paypal_braintree/response.rb +3 -2
  34. data/app/models/solidus_paypal_braintree/source.rb +21 -7
  35. data/app/models/solidus_paypal_braintree/transaction.rb +2 -0
  36. data/app/models/solidus_paypal_braintree/transaction_address.rb +30 -12
  37. data/app/models/solidus_paypal_braintree/transaction_import.rb +13 -9
  38. data/app/views/spree/api/payments/source_views/_paypal_braintree.json.jbuilder +3 -0
  39. data/app/views/spree/checkout/existing_payment/_paypal_braintree.html.erb +10 -0
  40. data/app/views/spree/shared/_apple_pay_button.html.erb +2 -2
  41. data/app/views/spree/shared/_braintree_errors.html.erb +11 -17
  42. data/app/views/spree/shared/_braintree_hosted_fields.html.erb +24 -9
  43. data/app/views/spree/shared/_paypal_braintree_head_scripts.html.erb +9 -6
  44. data/app/views/spree/shared/_paypal_cart_button.html.erb +16 -2
  45. data/app/views/spree/shared/_paypal_messaging.html.erb +13 -0
  46. data/bin/console +17 -0
  47. data/bin/rails +15 -0
  48. data/bin/setup +8 -0
  49. data/config/locales/en.yml +10 -0
  50. data/config/locales/it.yml +51 -8
  51. data/config/routes.rb +2 -0
  52. data/db/migrate/20160906201711_create_solidus_paypal_braintree_customers.rb +3 -1
  53. data/db/migrate/20161125172005_add_braintree_configuration_to_stores.rb +5 -7
  54. data/db/migrate/20170505193712_add_null_constraint_to_sources.rb +3 -1
  55. data/db/migrate/20190705115327_add_paypal_button_preferences_to_braintree_configurations.rb +5 -0
  56. data/db/migrate/20190911141712_add_3d_secure_to_braintree_configuration.rb +5 -0
  57. data/lib/controllers/backend/solidus_paypal_braintree/configurations_controller.rb +20 -5
  58. data/lib/controllers/frontend/solidus_paypal_braintree/checkouts_controller.rb +25 -21
  59. data/lib/controllers/frontend/solidus_paypal_braintree/transactions_controller.rb +55 -51
  60. data/lib/generators/solidus_paypal_braintree/install/install_generator.rb +7 -5
  61. data/lib/solidus_paypal_braintree.rb +4 -0
  62. data/lib/solidus_paypal_braintree/country_mapper.rb +4 -2
  63. data/lib/solidus_paypal_braintree/engine.rb +11 -11
  64. data/lib/solidus_paypal_braintree/factories.rb +8 -4
  65. data/lib/solidus_paypal_braintree/request_protection.rb +3 -0
  66. data/lib/solidus_paypal_braintree/version.rb +3 -1
  67. data/lib/views/backend/solidus_paypal_braintree/configurations/list.html.erb +30 -5
  68. data/lib/views/backend/spree/admin/payments/source_forms/_paypal_braintree.html.erb +2 -2
  69. data/lib/views/backend/spree/admin/payments/source_views/_paypal_braintree.html.erb +2 -2
  70. data/lib/views/backend_v1.2/spree/admin/payments/source_forms/_paypal_braintree.html.erb +2 -2
  71. data/lib/views/frontend/spree/checkout/payment/_paypal_braintree.html.erb +4 -2
  72. data/lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb +30 -0
  73. data/solidus_paypal_braintree.gemspec +42 -0
  74. data/spec/controllers/solidus_paypal_braintree/checkouts_controller_spec.rb +99 -0
  75. data/spec/controllers/solidus_paypal_braintree/client_tokens_controller_spec.rb +55 -0
  76. data/spec/controllers/solidus_paypal_braintree/configurations_controller_spec.rb +73 -0
  77. data/spec/controllers/solidus_paypal_braintree/transactions_controller_spec.rb +183 -0
  78. data/spec/features/backend/configuration_spec.rb +23 -0
  79. data/spec/features/backend/new_payment_spec.rb +137 -0
  80. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +187 -0
  81. data/spec/features/frontend/paypal_checkout_spec.rb +166 -0
  82. data/spec/fixtures/cassettes/admin/invalid_credit_card.yml +63 -0
  83. data/spec/fixtures/cassettes/admin/resubmit_credit_card.yml +352 -0
  84. data/spec/fixtures/cassettes/admin/valid_credit_card.yml +412 -0
  85. data/spec/fixtures/cassettes/braintree/create_profile.yml +71 -0
  86. data/spec/fixtures/cassettes/braintree/generate_token.yml +63 -0
  87. data/spec/fixtures/cassettes/braintree/token.yml +63 -0
  88. data/spec/fixtures/cassettes/checkout/invalid_credit_card.yml +63 -0
  89. data/spec/fixtures/cassettes/checkout/resubmit_credit_card.yml +216 -0
  90. data/spec/fixtures/cassettes/checkout/update.yml +71 -0
  91. data/spec/fixtures/cassettes/checkout/valid_credit_card.yml +156 -0
  92. data/spec/fixtures/cassettes/gateway/authorize.yml +86 -0
  93. data/spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml +86 -0
  94. data/spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml +154 -0
  95. data/spec/fixtures/cassettes/gateway/authorize/paypal/EUR.yml +90 -0
  96. data/spec/fixtures/cassettes/gateway/authorize/paypal/address.yml +90 -0
  97. data/spec/fixtures/cassettes/gateway/authorized_transaction.yml +73 -0
  98. data/spec/fixtures/cassettes/gateway/cancel/missing.yml +63 -0
  99. data/spec/fixtures/cassettes/gateway/cancel/refunds.yml +272 -0
  100. data/spec/fixtures/cassettes/gateway/cancel/void.yml +201 -0
  101. data/spec/fixtures/cassettes/gateway/capture.yml +141 -0
  102. data/spec/fixtures/cassettes/gateway/complete.yml +157 -0
  103. data/spec/fixtures/cassettes/gateway/credit.yml +208 -0
  104. data/spec/fixtures/cassettes/gateway/purchase.yml +87 -0
  105. data/spec/fixtures/cassettes/gateway/settled_transaction.yml +140 -0
  106. data/spec/fixtures/cassettes/gateway/void.yml +137 -0
  107. data/spec/fixtures/cassettes/source/card_type.yml +267 -0
  108. data/spec/fixtures/cassettes/source/last4.yml +267 -0
  109. data/spec/fixtures/cassettes/transaction/import/valid.yml +71 -0
  110. data/spec/fixtures/cassettes/transaction/import/valid/capture.yml +224 -0
  111. data/spec/fixtures/views/spree/orders/edit.html.erb +50 -0
  112. data/spec/helpers/solidus_paypal_braintree/braintree_admin_helper_spec.rb +17 -0
  113. data/spec/models/solidus_paypal_braintree/address_spec.rb +51 -0
  114. data/spec/models/solidus_paypal_braintree/avs_result_spec.rb +317 -0
  115. data/spec/models/solidus_paypal_braintree/gateway_spec.rb +692 -0
  116. data/spec/models/solidus_paypal_braintree/response_spec.rb +280 -0
  117. data/spec/models/solidus_paypal_braintree/source_spec.rb +360 -0
  118. data/spec/models/solidus_paypal_braintree/transaction_address_spec.rb +253 -0
  119. data/spec/models/solidus_paypal_braintree/transaction_import_spec.rb +283 -0
  120. data/spec/models/solidus_paypal_braintree/transaction_spec.rb +85 -0
  121. data/spec/models/spree/store_spec.rb +14 -0
  122. data/spec/requests/spree/api/orders_controller_spec.rb +36 -0
  123. data/spec/spec_helper.rb +26 -0
  124. data/spec/support/capybara.rb +7 -0
  125. data/spec/support/factories.rb +2 -0
  126. data/spec/support/gateway_helpers.rb +29 -0
  127. data/spec/support/order_ready_for_payment.rb +37 -0
  128. data/spec/support/vcr.rb +42 -0
  129. data/spec/support/views.rb +1 -0
  130. metadata +182 -194
  131. data/app/controllers/solidus_paypal_braintree/client_tokens_controller.rb +0 -22
  132. data/app/helpers/braintree_admin_helper.rb +0 -18
  133. data/app/models/spree/store_decorator.rb +0 -11
  134. data/app/views/spree/shared/_paypal_checkout_button.html.erb +0 -27
  135. data/config/initializers/braintree.rb +0 -1
@@ -0,0 +1,267 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/customers
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <customer>
11
+ </customer>
12
+ headers:
13
+ Accept-Encoding:
14
+ - gzip
15
+ Accept:
16
+ - application/xml
17
+ User-Agent:
18
+ - Braintree Ruby Gem 2.98.0
19
+ X-Apiversion:
20
+ - '5'
21
+ Content-Type:
22
+ - application/xml
23
+ Authorization:
24
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
25
+ response:
26
+ status:
27
+ code: 201
28
+ message: Created
29
+ headers:
30
+ Date:
31
+ - Fri, 13 Sep 2019 14:26:31 GMT
32
+ Content-Type:
33
+ - application/xml; charset=utf-8
34
+ Transfer-Encoding:
35
+ - chunked
36
+ X-Frame-Options:
37
+ - SAMEORIGIN
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ X-Authentication:
43
+ - basic_auth
44
+ X-User:
45
+ - 3v249hqtptsg744y
46
+ Vary:
47
+ - Accept-Encoding
48
+ Content-Encoding:
49
+ - gzip
50
+ Etag:
51
+ - W/"a8e61a976412f48ed3e7b4d6aae9bf48"
52
+ Cache-Control:
53
+ - max-age=0, private, must-revalidate
54
+ X-Runtime:
55
+ - '0.132308'
56
+ X-Request-Id:
57
+ - 02-1568384790.635-92.223.152.178-13010244
58
+ Content-Security-Policy:
59
+ - frame-ancestors 'self'
60
+ X-Broxyid:
61
+ - 02-1568384790.635-92.223.152.178-13010244
62
+ Strict-Transport-Security:
63
+ - max-age=31536000; includeSubDomains
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: !binary |-
67
+ H4sIABene10AA5RRz0+DMBS+768gvVcG1QELsIvRxGTxMo3u9kYfUG0LaYtu/PXCtjgT9ODx+9X3vtd0tVfS+0BjRaMzElzNiYe6aLjQVUaeNnc0Jqt8lhaddY1Ck888LxU8j+OIxQvGWOoPaCQHsahBOzrgyPAqCd+inYrK95t6MP1UR3cpjHVUg0JPC5kRZzok/lGS8JdSNKoFfZjwqEDICdvWjZ6+UcJ+wn3izgr3yzyD4JBTcJ47tJgRPkAnFJI8nAcJnSc0YJvgehkulizYpv4lcMx3Lf9f/hI4zT8enZYCJbenlSrZ7ECOV3xlzz2/T9z25aF8vK3Yuq/Cdb/uU//iOZfgwtECDLfnNcAYOJw7AucGrcWJNrT5/vMvAAAA//8DAGGcIVomAgAA
68
+ http_version:
69
+ recorded_at: Fri, 13 Sep 2019 14:26:31 GMT
70
+ - request:
71
+ method: post
72
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods
73
+ body:
74
+ encoding: UTF-8
75
+ string: |
76
+ <?xml version="1.0" encoding="UTF-8"?>
77
+ <payment-method>
78
+ <payment-method-nonce>fake-valid-country-of-issuance-usa-nonce</payment-method-nonce>
79
+ <customer-id>887386333</customer-id>
80
+ </payment-method>
81
+ headers:
82
+ Accept-Encoding:
83
+ - gzip
84
+ Accept:
85
+ - application/xml
86
+ User-Agent:
87
+ - Braintree Ruby Gem 2.98.0
88
+ X-Apiversion:
89
+ - '5'
90
+ Content-Type:
91
+ - application/xml
92
+ Authorization:
93
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
94
+ response:
95
+ status:
96
+ code: 201
97
+ message: Created
98
+ headers:
99
+ Date:
100
+ - Fri, 13 Sep 2019 14:26:32 GMT
101
+ Content-Type:
102
+ - application/xml; charset=utf-8
103
+ Transfer-Encoding:
104
+ - chunked
105
+ X-Frame-Options:
106
+ - SAMEORIGIN
107
+ X-Xss-Protection:
108
+ - 1; mode=block
109
+ X-Content-Type-Options:
110
+ - nosniff
111
+ X-Authentication:
112
+ - basic_auth
113
+ X-User:
114
+ - 3v249hqtptsg744y
115
+ Vary:
116
+ - Accept-Encoding
117
+ Content-Encoding:
118
+ - gzip
119
+ Etag:
120
+ - W/"542e7d55e2ec7398658887008e4c4a7e"
121
+ Cache-Control:
122
+ - max-age=0, private, must-revalidate
123
+ X-Runtime:
124
+ - '0.241721'
125
+ X-Request-Id:
126
+ - 02-1568384791.617-92.223.152.178-13010465
127
+ Content-Security-Policy:
128
+ - frame-ancestors 'self'
129
+ X-Broxyid:
130
+ - 02-1568384791.617-92.223.152.178-13010465
131
+ Strict-Transport-Security:
132
+ - max-age=31536000; includeSubDomains
133
+ body:
134
+ encoding: ASCII-8BIT
135
+ string: !binary |-
136
+ H4sIABine10AA6xVwXLaMBC98xWM78Y2dgnOGGd6SW49tEk7zSWzthasIkuuJJPw910ZgwmBtJ32ht6+Xe0+vxXZzUstxhvUhiu58KJJ6I1RlopxuVp4D/e3/ty7yUdZqZFx65egWT4aj7OCC0EUHxjTaIzDCOUsb+ZZwFl/LltjVY3aJ2Q+v4rnsziOs+AY3hGXXBvrS6hxLLlYeFa36AV9UMDlWKnqBuT2TMRYjWj3DZ4h4ItFyZC9QxGqBMHtufIaV6TYmUCjjAXhk4SYp0kUXmXBMbRvu5VWbzvIB9FUMD073Ckr/h1LtqQrL9+hXRJSI1gnhh3bbYMLj9HR8hq9fBpGqR+mfhTfR8n1dHYdTx/pIx4S+gptw/6uwpDQWSo44ynymcyTMJqGoYvLDnMm9N0V+VdugDo5nPfRSglG9jo3qnMMSVRyEPmDXEv1LKnCgI2OpFJLnxvTgiwxf/jy0fHeBkb/Lt4f7slAc760ZD/q6oh1QB2XYcHtMOHuuAssoRX7RgulBIL0cqeQo3XBHbHVpLhPRm+Fa/ao2Glk1K1Tw3V3v18raas8mmbBG/CEuUXQJNE0fEXt0AMT2WmvSxAG+4z+9pVQBa0YCVXe3X4ovn1t2V0k2F21ebxNf3yPUs3k5+fHO5MFA9UlVgjCVmQaHOY7whyF17BCv9Uir6xtzHUQgDFozaTQwKV7ZlakwjNsJ+SjoIFtjdI+1WgrxZ6EWqlgQz6dNHJ1g3LDtZKOsDAgWaFe6Lk81O9uI2O5LShAroeWXqGj/aOY5OHMadcfHE7XayWOvL0HuqDGBmjwT4rw/vcOV6wtrdNkyBswRzFtYUrNG/eBTP9BQGvY9mtl1Rplvt7Yhq2zYHdyeCv5z7Z7l4rOyDQ5X3LUeVhEkDA2S3EWz1iaxgnE0RUDiJMIkySh9+FS6ug/vDYblLXyDVtfMNch3rM1Xb1brzfTd+s8/Dv+AgAA//8DADBA2i1TBwAA
137
+ http_version:
138
+ recorded_at: Fri, 13 Sep 2019 14:26:32 GMT
139
+ - request:
140
+ method: get
141
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods/any/kvtpdk
142
+ body:
143
+ encoding: US-ASCII
144
+ string: ''
145
+ headers:
146
+ Accept-Encoding:
147
+ - gzip
148
+ Accept:
149
+ - application/xml
150
+ User-Agent:
151
+ - Braintree Ruby Gem 2.98.0
152
+ X-Apiversion:
153
+ - '5'
154
+ Content-Type:
155
+ - application/xml
156
+ Authorization:
157
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
158
+ response:
159
+ status:
160
+ code: 200
161
+ message: OK
162
+ headers:
163
+ Date:
164
+ - Fri, 13 Sep 2019 14:26:33 GMT
165
+ Content-Type:
166
+ - application/xml; charset=utf-8
167
+ Transfer-Encoding:
168
+ - chunked
169
+ X-Frame-Options:
170
+ - SAMEORIGIN
171
+ X-Xss-Protection:
172
+ - 1; mode=block
173
+ X-Content-Type-Options:
174
+ - nosniff
175
+ X-Authentication:
176
+ - basic_auth
177
+ X-User:
178
+ - 3v249hqtptsg744y
179
+ Vary:
180
+ - Accept-Encoding
181
+ Content-Encoding:
182
+ - gzip
183
+ Etag:
184
+ - W/"1d1dc0ec90596e65e546f301db422d7f"
185
+ Cache-Control:
186
+ - max-age=0, private, must-revalidate
187
+ X-Runtime:
188
+ - '0.099681'
189
+ X-Request-Id:
190
+ - 02-1568384792.728-92.223.152.178-13010638
191
+ Content-Security-Policy:
192
+ - frame-ancestors 'self'
193
+ X-Broxyid:
194
+ - 02-1568384792.728-92.223.152.178-13010638
195
+ Strict-Transport-Security:
196
+ - max-age=31536000; includeSubDomains
197
+ body:
198
+ encoding: ASCII-8BIT
199
+ string: !binary |-
200
+ H4sIABmne10AA6xVwXLaMBC98xWM78Y2dgnOGGd6SW49tEk7zSWzthasIkuuJJPw910ZgwmBtJ32ht6+Xe0+vxXZzUstxhvUhiu58KJJ6I1RlopxuVp4D/e3/ty7yUdZqZFx65egWT4aj7OCC0EUHxjTaIzDCOUsb+ZZwFl/LltjVY3aJ2Q+v4rnsziOs+AY3hGXXBvrS6hxLLlYeFa36AV9UMDlWKnqBuT2TMRYjWj3DZ4h4ItFyZC9QxGqBMHtufIaV6TYmUCjjAXhk4SYp0kUXmXBMbRvu5VWbzvIB9FUMD073Ckr/h1LtqQrL9+hXRJSI1gnhh3bbYMLj9HR8hq9fBpGqR+mfhTfR8n1dHYdTx/pIx4S+gptw/6uwpDQWSo44ynymcyTMJqGoYvLDnMm9N0V+VdugDo5nPfRSglG9jo3qnMMSVRyEPmDXEv1LKnCgI2OpFJLnxvTgiwxf/jy0fHeBkb/Lt4f7slAc760ZD/q6oh1QB2XYcHtMOHuuAssoRX7RgulBIL0cqeQo3XBHbHVpLhPRm+Fa/ao2Glk1K1Tw3V3v18raas8mmbBG/CEuUXQJNE0fEXt0AMT2WmvSxAG+4z+9pVQBa0YCVXe3X4ovn1t2V0k2F21ebxNf3yPUs3k5+fHO5MFA9UlVgjCVmQaHOY7whyF17BCv9Uir6xtzHUQgDFozaTQwKV7ZlakwjNsJ+SjoIFtjdI+1WgrxZ6EWqlgQz6dNHJ1g3LDtZKOsDAgWaFe6Lk81O9uI2O5LShAroeWXqGj/aOY5OHMadcfHE7XayWOvL0HuqDGBmjwT4rw/vcOV6wtrdNkyBswRzFtYUrNG/eBTP9BQGvY9mtl1Rplvt7Yhq2zYHdyeCv5z7Z7l4rOyDQ5X3LUeVhEkDA2S3EWz1iaxgnE0RUDiJMIkySh9+FS6ug/vDYblLXyDVtfMNch3rM1Xb1brzfTd+s8/Dv+AgAA//8DADBA2i1TBwAA
201
+ http_version:
202
+ recorded_at: Fri, 13 Sep 2019 14:26:33 GMT
203
+ - request:
204
+ method: get
205
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods/any/kvtpdk
206
+ body:
207
+ encoding: US-ASCII
208
+ string: ''
209
+ headers:
210
+ Accept-Encoding:
211
+ - gzip
212
+ Accept:
213
+ - application/xml
214
+ User-Agent:
215
+ - Braintree Ruby Gem 2.98.0
216
+ X-Apiversion:
217
+ - '5'
218
+ Content-Type:
219
+ - application/xml
220
+ Authorization:
221
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
222
+ response:
223
+ status:
224
+ code: 200
225
+ message: OK
226
+ headers:
227
+ Date:
228
+ - Fri, 13 Sep 2019 14:26:34 GMT
229
+ Content-Type:
230
+ - application/xml; charset=utf-8
231
+ Transfer-Encoding:
232
+ - chunked
233
+ X-Frame-Options:
234
+ - SAMEORIGIN
235
+ X-Xss-Protection:
236
+ - 1; mode=block
237
+ X-Content-Type-Options:
238
+ - nosniff
239
+ X-Authentication:
240
+ - basic_auth
241
+ X-User:
242
+ - 3v249hqtptsg744y
243
+ Vary:
244
+ - Accept-Encoding
245
+ Content-Encoding:
246
+ - gzip
247
+ Etag:
248
+ - W/"0d1d13944d385fc31fa7c4fcf23f72ef"
249
+ Cache-Control:
250
+ - max-age=0, private, must-revalidate
251
+ X-Runtime:
252
+ - '0.097855'
253
+ X-Request-Id:
254
+ - 02-1568384793.685-92.223.152.178-13010819
255
+ Content-Security-Policy:
256
+ - frame-ancestors 'self'
257
+ X-Broxyid:
258
+ - 02-1568384793.685-92.223.152.178-13010819
259
+ Strict-Transport-Security:
260
+ - max-age=31536000; includeSubDomains
261
+ body:
262
+ encoding: ASCII-8BIT
263
+ string: !binary |-
264
+ H4sIABqne10AA6xVwXLaMBC98xWM78Y2dgnOGGd6SW49tEk7zSWzthasIkuuJJPw910ZgwmBtJ32ht6+Xe0+vxXZzUstxhvUhiu58KJJ6I1RlopxuVp4D/e3/ty7yUdZqZFx65egWT4aj7OCC0EUHxjTaIzDCOUsb+ZZwFl/LltjVY3aJ2Q+v4rnsziOs+AY3hGXXBvrS6hxLLlYeFa36AV9UMDlWKnqBuT2TMRYjWj3DZ4h4ItFyZC9QxGqBMHtufIaV6TYmUCjjAXhk4SYp0kUXmXBMbRvu5VWbzvIB9FUMD073Ckr/h1LtqQrL9+hXRJSI1gnhh3bbYMLj9HR8hq9fBpGqR+mfhTfR8n1dHYdTx/pIx4S+gptw/6uwpDQWSo44ynymcyTMJqGoYvLDnMm9N0V+VdugDo5nPfRSglG9jo3qnMMSVRyEPmDXEv1LKnCgI2OpFJLnxvTgiwxf/jy0fHeBkb/Lt4f7slAc760ZD/q6oh1QB2XYcHtMOHuuAssoRX7RgulBIL0cqeQo3XBHbHVpLhPRm+Fa/ao2Glk1K1Tw3V3v18raas8mmbBG/CEuUXQJNE0fEXt0AMT2WmvSxAG+4z+9pVQBa0YCVXe3X4ovn1t2V0k2F21ebxNf3yPUs3k5+fHO5MFA9UlVgjCVmQaHOY7whyF17BCv9Uir6xtzHUQgDFozaTQwKV7ZlakwjNsJ+SjoIFtjdI+1WgrxZ6EWqlgQz6dNHJ1g3LDtZKOsDAgWaFe6Lk81O9uI2O5LShAroeWXqGj/aOY5OHMadcfHE7XayWOvL0HuqDGBmjwT4rw/vcOV6wtrdNkyBswRzFtYUrNG/eBTP9BQGvY9mtl1Rplvt7Yhq2zYHdyeCv5z7Z7l4rOyDQ5X3LUeVhEkDA2S3EWz1iaxgnE0RUDiJMIkySh9+FS6ug/vDYblLXyDVtfMNch3rM1Xb1brzfTd+s8/Dv+AgAA//8DADBA2i1TBwAA
265
+ http_version:
266
+ recorded_at: Fri, 13 Sep 2019 14:26:34 GMT
267
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,267 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/customers
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <customer>
11
+ </customer>
12
+ headers:
13
+ Accept-Encoding:
14
+ - gzip
15
+ Accept:
16
+ - application/xml
17
+ User-Agent:
18
+ - Braintree Ruby Gem 2.98.0
19
+ X-Apiversion:
20
+ - '5'
21
+ Content-Type:
22
+ - application/xml
23
+ Authorization:
24
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
25
+ response:
26
+ status:
27
+ code: 201
28
+ message: Created
29
+ headers:
30
+ Date:
31
+ - Fri, 13 Sep 2019 14:26:26 GMT
32
+ Content-Type:
33
+ - application/xml; charset=utf-8
34
+ Transfer-Encoding:
35
+ - chunked
36
+ X-Frame-Options:
37
+ - SAMEORIGIN
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ X-Authentication:
43
+ - basic_auth
44
+ X-User:
45
+ - 3v249hqtptsg744y
46
+ Vary:
47
+ - Accept-Encoding
48
+ Content-Encoding:
49
+ - gzip
50
+ Etag:
51
+ - W/"4abcfc9584eb926068740e116aad143f"
52
+ Cache-Control:
53
+ - max-age=0, private, must-revalidate
54
+ X-Runtime:
55
+ - '0.131264'
56
+ X-Request-Id:
57
+ - 02-1568384786.135-92.223.152.178-13009402
58
+ Content-Security-Policy:
59
+ - frame-ancestors 'self'
60
+ X-Broxyid:
61
+ - 02-1568384786.135-92.223.152.178-13009402
62
+ Strict-Transport-Security:
63
+ - max-age=31536000; includeSubDomains
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: !binary |-
67
+ H4sIABKne10AA5RRW0vDMBR+368oeY+9bdZK272IgjBBqDL3dtacdtEkLUnm2v16swtOqD4IefluObds3kvhfaI2vFU5Ca8C4qGqWsZVk5OX8p7ekHkxyaqtsa1EXUw8L+OsmMVBmITBNM58hw6kE6sNKEsdTjRr0ug9Wcuk/phtnOmnenDXXBtLFUj0FBc5sXqLxD9KAv5SqlZ2oIYRjxK4GLHdplXjP2roR9wO14bbX+ppBIuMgvXs0GFOmIOWSyRFFIQpDVIaxmU4vY2u3Vtl/iVwzG879r/8JXCqf1w6rTkKZk4tNaJdgzhs8S1+3bOH1K6Wj/VTudgtyqpf3D3vM//iOQ/BuKUVaGbObYDWMJxnBMY0GoMjzU3zffMvAAAA//8DAK1eZpomAgAA
68
+ http_version:
69
+ recorded_at: Fri, 13 Sep 2019 14:26:26 GMT
70
+ - request:
71
+ method: post
72
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods
73
+ body:
74
+ encoding: UTF-8
75
+ string: |
76
+ <?xml version="1.0" encoding="UTF-8"?>
77
+ <payment-method>
78
+ <payment-method-nonce>fake-valid-country-of-issuance-usa-nonce</payment-method-nonce>
79
+ <customer-id>530171043</customer-id>
80
+ </payment-method>
81
+ headers:
82
+ Accept-Encoding:
83
+ - gzip
84
+ Accept:
85
+ - application/xml
86
+ User-Agent:
87
+ - Braintree Ruby Gem 2.98.0
88
+ X-Apiversion:
89
+ - '5'
90
+ Content-Type:
91
+ - application/xml
92
+ Authorization:
93
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
94
+ response:
95
+ status:
96
+ code: 201
97
+ message: Created
98
+ headers:
99
+ Date:
100
+ - Fri, 13 Sep 2019 14:26:27 GMT
101
+ Content-Type:
102
+ - application/xml; charset=utf-8
103
+ Transfer-Encoding:
104
+ - chunked
105
+ X-Frame-Options:
106
+ - SAMEORIGIN
107
+ X-Xss-Protection:
108
+ - 1; mode=block
109
+ X-Content-Type-Options:
110
+ - nosniff
111
+ X-Authentication:
112
+ - basic_auth
113
+ X-User:
114
+ - 3v249hqtptsg744y
115
+ Vary:
116
+ - Accept-Encoding
117
+ Content-Encoding:
118
+ - gzip
119
+ Etag:
120
+ - W/"0714d49dfc5971597049cb87f7a87ce2"
121
+ Cache-Control:
122
+ - max-age=0, private, must-revalidate
123
+ X-Runtime:
124
+ - '0.275387'
125
+ X-Request-Id:
126
+ - 02-1568384787.083-92.223.152.178-13009579
127
+ Content-Security-Policy:
128
+ - frame-ancestors 'self'
129
+ X-Broxyid:
130
+ - 02-1568384787.083-92.223.152.178-13009579
131
+ Strict-Transport-Security:
132
+ - max-age=31536000; includeSubDomains
133
+ body:
134
+ encoding: ASCII-8BIT
135
+ string: !binary |-
136
+ H4sIABOne10AA6xVwXLaMBC98xWM78Y2dqDOGGd6aHLroU3SaS6ZtbWAgiw5kkzC33dlDCYE0nbam/X2Sbv79FbOrl4rMVyjNlzJmReNQm+IslSMy8XMu7u99j95V/kgKzUybv0SNMsHw2FWcCGI4gNjGo1xGKGc5XKSBZx167IxVlWofUIu4jCaRmESZ8EhvCXOuTbWl1DhUHIx86xu0Au6oIDzsVJVNcjNiYixGtHuCjxBwFeLkiH7gCJUCYLbU8drXJBiJwK1MhaETxJiniZROM2CQ2hXdiOt3rSQD6Jewvhkc8es+Hcs2ZCuvPyAdk5IjWCdGHZoNzXOPEZLyyv08nEYpX6Y+lF8GyWX48nlePpAl7jf0J3Q1OzvTug3tJYKTniKfCbzJIzGYejissWcCX2XIr/nBqiS/XoXXSrByF6nWnWOIYlKDiK/kyupXiSd0GODA6nU3OfGNCBLzO++f3a894HBv4v3h3PS05wvLdmPqjpg7VHHZVhw23e4XW4Dc2jErtBCKYEgvdwp5GhtcEtsNCnuk9Eb4Yo9OOw4MmjHqea6ze9XStplHo2z4B14xNwgaJJoHL6htuieiey41jkIg92OLvtCqIJGjIQqb64vih/3DbuJBLtZrh+u06efUfoE1bcE4i9Z0FPdxiWCsEsyDfb9HWCOwitYoN9okS+trc1lEIAxaM2o0MCle2YWpMILbEbko6CGTYXSPlZol4o9CrVQwZp8Oqrl4grlmmslHWFmQLJCvdJzuT+/zUbGclNQgFz1Jb1BB7tHMcnDidOuWzic0mslDry9A9qgxhqo8a+K8O57iyvWlNZp0u/rMUcxTWFKzWt3Qaa7ENAaNt1YWbVCmZdP7HX1nAXblcMbyZ+b9l0qWiNT53zOUedhEUHC2CTFSTxhaRrT7URTBhAnESZJQu/Dua2D//DarFFWyjdsdcZc+3jH1pR6O17vum/Huf87/gIAAP//AwBg41xyUwcAAA==
137
+ http_version:
138
+ recorded_at: Fri, 13 Sep 2019 14:26:28 GMT
139
+ - request:
140
+ method: get
141
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods/any/cjdxkq
142
+ body:
143
+ encoding: US-ASCII
144
+ string: ''
145
+ headers:
146
+ Accept-Encoding:
147
+ - gzip
148
+ Accept:
149
+ - application/xml
150
+ User-Agent:
151
+ - Braintree Ruby Gem 2.98.0
152
+ X-Apiversion:
153
+ - '5'
154
+ Content-Type:
155
+ - application/xml
156
+ Authorization:
157
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
158
+ response:
159
+ status:
160
+ code: 200
161
+ message: OK
162
+ headers:
163
+ Date:
164
+ - Fri, 13 Sep 2019 14:26:29 GMT
165
+ Content-Type:
166
+ - application/xml; charset=utf-8
167
+ Transfer-Encoding:
168
+ - chunked
169
+ X-Frame-Options:
170
+ - SAMEORIGIN
171
+ X-Xss-Protection:
172
+ - 1; mode=block
173
+ X-Content-Type-Options:
174
+ - nosniff
175
+ X-Authentication:
176
+ - basic_auth
177
+ X-User:
178
+ - 3v249hqtptsg744y
179
+ Vary:
180
+ - Accept-Encoding
181
+ Content-Encoding:
182
+ - gzip
183
+ Etag:
184
+ - W/"92a6651cb2431eea42a9434132b240e8"
185
+ Cache-Control:
186
+ - max-age=0, private, must-revalidate
187
+ X-Runtime:
188
+ - '0.092199'
189
+ X-Request-Id:
190
+ - 02-1568384788.580-92.223.152.178-13009839
191
+ Content-Security-Policy:
192
+ - frame-ancestors 'self'
193
+ X-Broxyid:
194
+ - 02-1568384788.580-92.223.152.178-13009839
195
+ Strict-Transport-Security:
196
+ - max-age=31536000; includeSubDomains
197
+ body:
198
+ encoding: ASCII-8BIT
199
+ string: !binary |-
200
+ H4sIABWne10AA6xVwXLaMBC98xWM78Y2dqDOGGd6aHLroU3SaS6ZtbWAgiw5kkzC33dlDCYE0nbam/X2Sbv79FbOrl4rMVyjNlzJmReNQm+IslSMy8XMu7u99j95V/kgKzUybv0SNMsHw2FWcCGI4gNjGo1xGKGc5XKSBZx167IxVlWofUIu4jCaRmESZ8EhvCXOuTbWl1DhUHIx86xu0Au6oIDzsVJVNcjNiYixGtHuCjxBwFeLkiH7gCJUCYLbU8drXJBiJwK1MhaETxJiniZROM2CQ2hXdiOt3rSQD6Jewvhkc8es+Hcs2ZCuvPyAdk5IjWCdGHZoNzXOPEZLyyv08nEYpX6Y+lF8GyWX48nlePpAl7jf0J3Q1OzvTug3tJYKTniKfCbzJIzGYejissWcCX2XIr/nBqiS/XoXXSrByF6nWnWOIYlKDiK/kyupXiSd0GODA6nU3OfGNCBLzO++f3a894HBv4v3h3PS05wvLdmPqjpg7VHHZVhw23e4XW4Dc2jErtBCKYEgvdwp5GhtcEtsNCnuk9Eb4Yo9OOw4MmjHqea6ze9XStplHo2z4B14xNwgaJJoHL6htuieiey41jkIg92OLvtCqIJGjIQqb64vih/3DbuJBLtZrh+u06efUfoE1bcE4i9Z0FPdxiWCsEsyDfb9HWCOwitYoN9okS+trc1lEIAxaM2o0MCle2YWpMILbEbko6CGTYXSPlZol4o9CrVQwZp8Oqrl4grlmmslHWFmQLJCvdJzuT+/zUbGclNQgFz1Jb1BB7tHMcnDidOuWzic0mslDry9A9qgxhqo8a+K8O57iyvWlNZp0u/rMUcxTWFKzWt3Qaa7ENAaNt1YWbVCmZdP7HX1nAXblcMbyZ+b9l0qWiNT53zOUedhEUHC2CTFSTxhaRrT7URTBhAnESZJQu/Dua2D//DarFFWyjdsdcZc+3jH1pR6O17vum/Huf87/gIAAP//AwBg41xyUwcAAA==
201
+ http_version:
202
+ recorded_at: Fri, 13 Sep 2019 14:26:29 GMT
203
+ - request:
204
+ method: get
205
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/payment_methods/any/cjdxkq
206
+ body:
207
+ encoding: US-ASCII
208
+ string: ''
209
+ headers:
210
+ Accept-Encoding:
211
+ - gzip
212
+ Accept:
213
+ - application/xml
214
+ User-Agent:
215
+ - Braintree Ruby Gem 2.98.0
216
+ X-Apiversion:
217
+ - '5'
218
+ Content-Type:
219
+ - application/xml
220
+ Authorization:
221
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
222
+ response:
223
+ status:
224
+ code: 200
225
+ message: OK
226
+ headers:
227
+ Date:
228
+ - Fri, 13 Sep 2019 14:26:30 GMT
229
+ Content-Type:
230
+ - application/xml; charset=utf-8
231
+ Transfer-Encoding:
232
+ - chunked
233
+ X-Frame-Options:
234
+ - SAMEORIGIN
235
+ X-Xss-Protection:
236
+ - 1; mode=block
237
+ X-Content-Type-Options:
238
+ - nosniff
239
+ X-Authentication:
240
+ - basic_auth
241
+ X-User:
242
+ - 3v249hqtptsg744y
243
+ Vary:
244
+ - Accept-Encoding
245
+ Content-Encoding:
246
+ - gzip
247
+ Etag:
248
+ - W/"1e374278ef8795db5af4267741e900e8"
249
+ Cache-Control:
250
+ - max-age=0, private, must-revalidate
251
+ X-Runtime:
252
+ - '0.115285'
253
+ X-Request-Id:
254
+ - 01-1568384789.507-92.223.152.178-12957117
255
+ Content-Security-Policy:
256
+ - frame-ancestors 'self'
257
+ X-Broxyid:
258
+ - 01-1568384789.507-92.223.152.178-12957117
259
+ Strict-Transport-Security:
260
+ - max-age=31536000; includeSubDomains
261
+ body:
262
+ encoding: ASCII-8BIT
263
+ string: !binary |-
264
+ H4sIABane10AA6xVwXLaMBC98xWM78Y2dqDOGGd6aHLroU3SaS6ZtbWAgiw5kkzC33dlDCYE0nbam/X2Sbv79FbOrl4rMVyjNlzJmReNQm+IslSMy8XMu7u99j95V/kgKzUybv0SNMsHw2FWcCGI4gNjGo1xGKGc5XKSBZx167IxVlWofUIu4jCaRmESZ8EhvCXOuTbWl1DhUHIx86xu0Au6oIDzsVJVNcjNiYixGtHuCjxBwFeLkiH7gCJUCYLbU8drXJBiJwK1MhaETxJiniZROM2CQ2hXdiOt3rSQD6Jewvhkc8es+Hcs2ZCuvPyAdk5IjWCdGHZoNzXOPEZLyyv08nEYpX6Y+lF8GyWX48nlePpAl7jf0J3Q1OzvTug3tJYKTniKfCbzJIzGYejissWcCX2XIr/nBqiS/XoXXSrByF6nWnWOIYlKDiK/kyupXiSd0GODA6nU3OfGNCBLzO++f3a894HBv4v3h3PS05wvLdmPqjpg7VHHZVhw23e4XW4Dc2jErtBCKYEgvdwp5GhtcEtsNCnuk9Eb4Yo9OOw4MmjHqea6ze9XStplHo2z4B14xNwgaJJoHL6htuieiey41jkIg92OLvtCqIJGjIQqb64vih/3DbuJBLtZrh+u06efUfoE1bcE4i9Z0FPdxiWCsEsyDfb9HWCOwitYoN9okS+trc1lEIAxaM2o0MCle2YWpMILbEbko6CGTYXSPlZol4o9CrVQwZp8Oqrl4grlmmslHWFmQLJCvdJzuT+/zUbGclNQgFz1Jb1BB7tHMcnDidOuWzic0mslDry9A9qgxhqo8a+K8O57iyvWlNZp0u/rMUcxTWFKzWt3Qaa7ENAaNt1YWbVCmZdP7HX1nAXblcMbyZ+b9l0qWiNT53zOUedhEUHC2CTFSTxhaRrT7URTBhAnESZJQu/Dua2D//DarFFWyjdsdcZc+3jH1pR6O17vum/Huf87/gIAAP//AwBg41xyUwcAAA==
265
+ http_version:
266
+ recorded_at: Fri, 13 Sep 2019 14:26:30 GMT
267
+ recorded_with: VCR 5.0.0