solidus_paypal_braintree 0.2.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +5 -5
  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 +76 -0
  8. data/CHANGELOG.md +258 -0
  9. data/Gemfile +41 -0
  10. data/LICENSE +2 -2
  11. data/README.md +208 -48
  12. data/Rakefile +4 -28
  13. data/app/assets/config/solidus_paypal_braintree_manifest.js +1 -0
  14. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_280x48.svg +19 -0
  15. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_320x48.svg +19 -0
  16. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_375x48.svg +19 -0
  17. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_280x48.svg +19 -0
  18. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_320x48.svg +19 -0
  19. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_375x48.svg +19 -0
  20. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_acceptance_mark.svg +15 -0
  21. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_280x48.svg +19 -0
  22. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_320x48.svg +19 -0
  23. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_375x48.svg +19 -0
  24. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_logo.svg +18 -0
  25. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_acceptance_mark.svg +20 -0
  26. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_280x48.svg +19 -0
  27. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_320x48.svg +19 -0
  28. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_375x48.svg +19 -0
  29. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_logo.svg +18 -0
  30. data/app/assets/javascripts/solidus_paypal_braintree/checkout.js +32 -3
  31. data/app/assets/javascripts/solidus_paypal_braintree/client.js +58 -5
  32. data/app/assets/javascripts/solidus_paypal_braintree/constants.js +36 -5
  33. data/app/assets/javascripts/solidus_paypal_braintree/frontend.js +2 -0
  34. data/app/assets/javascripts/solidus_paypal_braintree/hosted_form.js +15 -5
  35. data/app/assets/javascripts/solidus_paypal_braintree/paypal_button.js +90 -26
  36. data/app/assets/javascripts/solidus_paypal_braintree/paypal_messaging.js +22 -0
  37. data/app/assets/javascripts/solidus_paypal_braintree/venmo_button.js +86 -0
  38. data/app/assets/javascripts/spree/backend/solidus_paypal_braintree.js +2 -2
  39. data/app/assets/javascripts/spree/frontend/paypal_button.js +15 -13
  40. data/app/assets/stylesheets/spree/frontend/solidus_paypal_braintree.css +12 -0
  41. data/app/decorators/controllers/solidus_paypal_braintree/admin_payments_controller_decorator.rb +11 -0
  42. data/app/decorators/controllers/solidus_paypal_braintree/checkout_controller_decorator.rb +11 -0
  43. data/app/decorators/controllers/solidus_paypal_braintree/client_tokens_controller.rb +41 -0
  44. data/app/decorators/controllers/solidus_paypal_braintree/orders_controller_decorator.rb +11 -0
  45. data/app/decorators/models/solidus_paypal_braintree/spree/store_decorator.rb +20 -0
  46. data/app/decorators/models/solidus_paypal_braintree/spree/user_decorator.rb +13 -0
  47. data/app/helpers/solidus_paypal_braintree/braintree_admin_helper.rb +23 -0
  48. data/app/helpers/solidus_paypal_braintree/braintree_checkout_helper.rb +60 -0
  49. data/app/models/application_record.rb +2 -0
  50. data/app/models/solidus_paypal_braintree/address.rb +64 -0
  51. data/app/models/solidus_paypal_braintree/avs_result.rb +69 -0
  52. data/app/models/solidus_paypal_braintree/configuration.rb +39 -3
  53. data/app/models/solidus_paypal_braintree/customer.rb +7 -3
  54. data/app/models/solidus_paypal_braintree/gateway.rb +150 -43
  55. data/app/models/solidus_paypal_braintree/response.rb +49 -21
  56. data/app/models/solidus_paypal_braintree/source.rb +70 -10
  57. data/app/models/solidus_paypal_braintree/transaction.rb +3 -2
  58. data/app/models/solidus_paypal_braintree/transaction_address.rb +36 -15
  59. data/app/models/solidus_paypal_braintree/transaction_import.rb +18 -12
  60. data/app/overrides/spree/payments/payment/add_paypal_funding_source_to_payment.rb +9 -0
  61. data/app/views/spree/api/payments/source_views/_paypal_braintree.json.jbuilder +3 -0
  62. data/app/views/spree/checkout/existing_payment/_paypal_braintree.html.erb +10 -0
  63. data/app/views/spree/shared/_apple_pay_button.html.erb +27 -0
  64. data/app/views/spree/shared/_braintree_errors.html.erb +16 -0
  65. data/app/views/spree/shared/_braintree_hosted_fields.html.erb +25 -8
  66. data/app/views/spree/shared/_paypal_braintree_head_scripts.html.erb +26 -0
  67. data/app/views/spree/shared/_paypal_cart_button.html.erb +38 -0
  68. data/app/views/spree/shared/_paypal_messaging.html.erb +13 -0
  69. data/app/views/spree/shared/_venmo_button.html.erb +33 -0
  70. data/bin/console +17 -0
  71. data/bin/rails +15 -0
  72. data/bin/setup +8 -0
  73. data/config/locales/en.yml +66 -0
  74. data/config/locales/it.yml +56 -0
  75. data/config/routes.rb +2 -0
  76. data/db/migrate/20160906201711_create_solidus_paypal_braintree_customers.rb +3 -1
  77. data/db/migrate/20161125172005_add_braintree_configuration_to_stores.rb +5 -7
  78. data/db/migrate/20170505193712_add_null_constraint_to_sources.rb +3 -1
  79. data/db/migrate/20190705115327_add_paypal_button_preferences_to_braintree_configurations.rb +5 -0
  80. data/db/migrate/20190911141712_add_3d_secure_to_braintree_configuration.rb +5 -0
  81. data/db/migrate/20211222170950_add_paypal_funding_source_to_solidus_paypal_braintree_sources.rb +5 -0
  82. data/db/migrate/20220104150301_add_venmo_to_braintree_configuration.rb +5 -0
  83. data/lib/controllers/backend/solidus_paypal_braintree/configurations_controller.rb +23 -5
  84. data/lib/controllers/frontend/solidus_paypal_braintree/checkouts_controller.rb +25 -21
  85. data/lib/controllers/frontend/solidus_paypal_braintree/transactions_controller.rb +56 -50
  86. data/lib/generators/solidus_paypal_braintree/install/install_generator.rb +7 -6
  87. data/lib/solidus_paypal_braintree/country_mapper.rb +4 -2
  88. data/lib/solidus_paypal_braintree/engine.rb +34 -22
  89. data/lib/solidus_paypal_braintree/factories.rb +41 -6
  90. data/lib/solidus_paypal_braintree/request_protection.rb +21 -0
  91. data/lib/solidus_paypal_braintree/version.rb +3 -1
  92. data/lib/solidus_paypal_braintree.rb +5 -1
  93. data/lib/views/backend/solidus_paypal_braintree/configurations/list.html.erb +38 -5
  94. data/lib/views/backend/spree/admin/payments/source_forms/_paypal_braintree.html.erb +2 -2
  95. data/lib/views/backend/spree/admin/payments/source_views/_paypal_braintree.html.erb +7 -2
  96. data/lib/views/backend/spree/admin/shared/preference_fields/_preference_select.html.erb +13 -0
  97. data/lib/views/backend_v1.2/spree/admin/payments/source_forms/_paypal_braintree.html.erb +2 -2
  98. data/lib/views/backend_v2.4/spree/admin/shared/preference_fields/_hash.html.erb +12 -0
  99. data/lib/views/frontend/solidus_paypal_braintree/payments/_payment.html.erb +12 -0
  100. data/lib/views/frontend/spree/checkout/payment/_paypal_braintree.html.erb +10 -77
  101. data/lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb +32 -0
  102. data/solidus_paypal_braintree.gemspec +43 -0
  103. data/spec/controllers/solidus_paypal_braintree/checkouts_controller_spec.rb +99 -0
  104. data/spec/controllers/solidus_paypal_braintree/client_tokens_controller_spec.rb +55 -0
  105. data/spec/controllers/solidus_paypal_braintree/configurations_controller_spec.rb +73 -0
  106. data/spec/controllers/solidus_paypal_braintree/transactions_controller_spec.rb +183 -0
  107. data/spec/features/backend/configuration_spec.rb +23 -0
  108. data/spec/features/backend/new_payment_spec.rb +137 -0
  109. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +191 -0
  110. data/spec/features/frontend/paypal_checkout_spec.rb +166 -0
  111. data/spec/features/frontend/venmo_checkout_spec.rb +189 -0
  112. data/spec/fixtures/cassettes/admin/invalid_credit_card.yml +63 -0
  113. data/spec/fixtures/cassettes/admin/resubmit_credit_card.yml +352 -0
  114. data/spec/fixtures/cassettes/admin/valid_credit_card.yml +412 -0
  115. data/spec/fixtures/cassettes/braintree/create_profile.yml +71 -0
  116. data/spec/fixtures/cassettes/braintree/generate_token.yml +63 -0
  117. data/spec/fixtures/cassettes/braintree/token.yml +63 -0
  118. data/spec/fixtures/cassettes/checkout/invalid_credit_card.yml +63 -0
  119. data/spec/fixtures/cassettes/checkout/resubmit_credit_card.yml +216 -0
  120. data/spec/fixtures/cassettes/checkout/update.yml +71 -0
  121. data/spec/fixtures/cassettes/checkout/valid_credit_card.yml +156 -0
  122. data/spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml +599 -0
  123. data/spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml +86 -0
  124. data/spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml +154 -0
  125. data/spec/fixtures/cassettes/gateway/authorize/paypal/EUR.yml +90 -0
  126. data/spec/fixtures/cassettes/gateway/authorize/paypal/address.yml +90 -0
  127. data/spec/fixtures/cassettes/gateway/authorize.yml +86 -0
  128. data/spec/fixtures/cassettes/gateway/authorized_transaction.yml +73 -0
  129. data/spec/fixtures/cassettes/gateway/cancel/missing.yml +63 -0
  130. data/spec/fixtures/cassettes/gateway/cancel/refunds.yml +272 -0
  131. data/spec/fixtures/cassettes/gateway/cancel/void.yml +201 -0
  132. data/spec/fixtures/cassettes/gateway/capture.yml +141 -0
  133. data/spec/fixtures/cassettes/gateway/complete.yml +157 -0
  134. data/spec/fixtures/cassettes/gateway/credit.yml +208 -0
  135. data/spec/fixtures/cassettes/gateway/purchase.yml +87 -0
  136. data/spec/fixtures/cassettes/gateway/settled_transaction.yml +140 -0
  137. data/spec/fixtures/cassettes/gateway/void.yml +137 -0
  138. data/spec/fixtures/cassettes/source/card_type.yml +267 -0
  139. data/spec/fixtures/cassettes/source/last4.yml +267 -0
  140. data/spec/fixtures/cassettes/transaction/import/valid/capture.yml +224 -0
  141. data/spec/fixtures/cassettes/transaction/import/valid.yml +71 -0
  142. data/spec/fixtures/views/spree/orders/edit.html.erb +50 -0
  143. data/spec/helpers/solidus_paypal_braintree/braintree_admin_helper_spec.rb +17 -0
  144. data/spec/helpers/solidus_paypal_braintree/braintree_checkout_helper_spec.rb +70 -0
  145. data/spec/models/solidus_paypal_braintree/address_spec.rb +71 -0
  146. data/spec/models/solidus_paypal_braintree/avs_result_spec.rb +317 -0
  147. data/spec/models/solidus_paypal_braintree/gateway_spec.rb +692 -0
  148. data/spec/models/solidus_paypal_braintree/response_spec.rb +280 -0
  149. data/spec/models/solidus_paypal_braintree/source_spec.rb +499 -0
  150. data/spec/models/solidus_paypal_braintree/transaction_address_spec.rb +235 -0
  151. data/spec/models/solidus_paypal_braintree/transaction_import_spec.rb +300 -0
  152. data/spec/models/solidus_paypal_braintree/transaction_spec.rb +85 -0
  153. data/spec/models/spree/store_spec.rb +14 -0
  154. data/spec/requests/spree/api/orders_controller_spec.rb +36 -0
  155. data/spec/spec_helper.rb +29 -0
  156. data/spec/support/capybara.rb +7 -0
  157. data/spec/support/factories.rb +2 -0
  158. data/spec/support/gateway_helpers.rb +29 -0
  159. data/spec/support/order_ready_for_payment.rb +37 -0
  160. data/spec/support/vcr.rb +42 -0
  161. data/spec/support/views.rb +1 -0
  162. metadata +226 -166
  163. data/app/controllers/solidus_paypal_braintree/client_tokens_controller.rb +0 -21
  164. data/app/helpers/braintree_admin_helper.rb +0 -18
  165. data/app/models/spree/store_decorator.rb +0 -11
  166. data/app/overrides/admin_navigation_menu.rb +0 -6
  167. data/config/initializers/braintree.rb +0 -1
  168. data/lib/views/backend/solidus_paypal_braintree/configurations/_admin_tab.html.erb +0 -3
@@ -0,0 +1,157 @@
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
+ <payment-method-nonce>fake-valid-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 2.98.0
20
+ X-Apiversion:
21
+ - '5'
22
+ Content-Type:
23
+ - application/xml
24
+ Authorization:
25
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: Created
30
+ headers:
31
+ Date:
32
+ - Fri, 13 Sep 2019 14:27:54 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-Authentication:
44
+ - basic_auth
45
+ X-User:
46
+ - 3v249hqtptsg744y
47
+ Vary:
48
+ - Accept-Encoding
49
+ Content-Encoding:
50
+ - gzip
51
+ Etag:
52
+ - W/"7cd94d9571863581960bf3200d7f3f29"
53
+ Cache-Control:
54
+ - max-age=0, private, must-revalidate
55
+ X-Runtime:
56
+ - '0.354179'
57
+ X-Request-Id:
58
+ - 01-1568384873.711-92.223.152.178-12972849
59
+ Content-Security-Policy:
60
+ - frame-ancestors 'self'
61
+ X-Broxyid:
62
+ - 01-1568384873.711-92.223.152.178-12972849
63
+ Strict-Transport-Security:
64
+ - max-age=31536000; includeSubDomains
65
+ body:
66
+ encoding: ASCII-8BIT
67
+ string: !binary |-
68
+ H4sIAGqne10AA6xWy3KjOhDd5ytc7AkG49ikMNlMJVVTNdncSe5NNlMCNUaxkBhJOHa+/kqYlx94nMrs3KdPS03rdLfDu01OR2sQknC2sNzrsTUClnBM2HJhPf28t+fWXXQVJqVUPAcRXY1GIcGRN5tPbgJ/dhM62jKgdiYZYsrW9kzgZeC9zeJ8lq6m2SR0+l7DTomQymYohxEjdGEpUYLlVC6KhjwJzwvEtkc45IjQI7TIODs+I0WbI+wdYknUifsEIAXYRmqktgUsLKxNRXKwIm/sBvY4sN3JT9e/9Wa3U/81dLqAKr4s8Ofiu4Dd/VXR7ZQAxXKX0pLyGFFTxZfJ8wd+CNTrf9/TH2+J/+PjZfr4LfFCp+PUH4GJshMksKzTQEKgrWW8+/4dorGYUKoFYCOMBUjZ4LunX/1u3rzGGm3Y+7rowx15+OFrwuDzN7edFkHtlUoAqCbxARJsFDBs6nyWRnmCKFFDVwlY6p4ZcBZcKv0GupEgCnx3PAudPtT/nJIpsa1gG9EiQ97ghx8yJ5cwWanfgCR/oJ4r+Ne6oD7li71QneEM6FLrlUX+2PXmc8NhLW5EbZvromcikc6stfuMjFOsZTpUAqM4M74IotETWzH+zvRJHdbRdqXkqU2kLBFLoM8/draBXy/wJ3qwoxp9Ky3h6OmfHrNFGz6GmKjuS3Zm50xRSZvEY84pIGZFpoKGWjk7cin069i6cUpqPqB36KGnCYFNQUSVj51zprLI1QPuCDzB3gISunzeeI9eoXtswIe5p4hKqKN6mXRTNXm4n8b/Ppf4waX4IVu/3gdvL24gko/V9pG9HAzgKjgDRFWmxdaTRA9raCRHS7BLQaNMqULeOg6SEpS8jgUizIy2pa7OO9pea/05BdrmwNSvHFTG8S/Kl9xZa51fF2x5B2xNBGeGsJCI4Zhv9Nhuz29v1GI0HRUjtupS20MbajWY/cidz93QqY3Gp1MRnPb6owFagoAC6YI8cu2rf3c+jsuk+mvQxXdYQ5NlLBNBCvOQ+5usa1XFV8CilQy8m3Xo7KzGVzLyu6zmYVw1hK4M0atVRCidTmd+kE6D1E3xZI5vkjRxNZD603mcasENhrZn/4XptgaWc1vi1YAgW38vQug0du16siLVqOhv9z2gmp9hPUvh5J+Dw0F7tP4/M3jOr/7zi//c2r9g6V+08s8u/DPr/sJlf+mqv3TRX7zm/7jk/8oG+nILhE5Pba0B2uzkFF39DwAA//8DABlnXNuxDAAA
69
+ http_version:
70
+ recorded_at: Fri, 13 Sep 2019 14:27:54 GMT
71
+ - request:
72
+ method: post
73
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/transactions
74
+ body:
75
+ encoding: UTF-8
76
+ string: |
77
+ <?xml version="1.0" encoding="UTF-8"?>
78
+ <transaction>
79
+ <amount>55.00</amount>
80
+ <order-id>ORDER0-PAYMENT0</order-id>
81
+ <channel>Solidus</channel>
82
+ <options>
83
+ <store-in-vault-on-success type="boolean">true</store-in-vault-on-success>
84
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
85
+ </options>
86
+ <payment-method-token>ks926v</payment-method-token>
87
+ <shipping>
88
+ <first-name>John</first-name>
89
+ <last-name>Doe</last-name>
90
+ <street-address>10 Lovely Street Northwest</street-address>
91
+ <locality>Herndon</locality>
92
+ <postal-code>90210</postal-code>
93
+ <region>AL</region>
94
+ <country-code-alpha2>US</country-code-alpha2>
95
+ </shipping>
96
+ <customer-id>278369476</customer-id>
97
+ <type>sale</type>
98
+ </transaction>
99
+ headers:
100
+ Accept-Encoding:
101
+ - gzip
102
+ Accept:
103
+ - application/xml
104
+ User-Agent:
105
+ - Braintree Ruby Gem 2.98.0
106
+ X-Apiversion:
107
+ - '5'
108
+ Content-Type:
109
+ - application/xml
110
+ Authorization:
111
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
112
+ response:
113
+ status:
114
+ code: 201
115
+ message: Created
116
+ headers:
117
+ Date:
118
+ - Fri, 13 Sep 2019 14:27:55 GMT
119
+ Content-Type:
120
+ - application/xml; charset=utf-8
121
+ Transfer-Encoding:
122
+ - chunked
123
+ X-Frame-Options:
124
+ - SAMEORIGIN
125
+ X-Xss-Protection:
126
+ - 1; mode=block
127
+ X-Content-Type-Options:
128
+ - nosniff
129
+ X-Authentication:
130
+ - basic_auth
131
+ X-User:
132
+ - 3v249hqtptsg744y
133
+ Vary:
134
+ - Accept-Encoding
135
+ Content-Encoding:
136
+ - gzip
137
+ Etag:
138
+ - W/"d0ee0d4a2ad63634a4bb74a0bdfb8ee3"
139
+ Cache-Control:
140
+ - max-age=0, private, must-revalidate
141
+ X-Runtime:
142
+ - '0.437647'
143
+ X-Request-Id:
144
+ - 01-1568384875.006-92.223.152.178-12973110
145
+ Content-Security-Policy:
146
+ - frame-ancestors 'self'
147
+ X-Broxyid:
148
+ - 01-1568384875.006-92.223.152.178-12973110
149
+ Strict-Transport-Security:
150
+ - max-age=31536000; includeSubDomains
151
+ body:
152
+ encoding: ASCII-8BIT
153
+ string: !binary |-
154
+ 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
155
+ http_version:
156
+ recorded_at: Fri, 13 Sep 2019 14:27:55 GMT
157
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,208 @@
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 type="integer">40</amount>
12
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
13
+ <options>
14
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
15
+ </options>
16
+ <type>sale</type>
17
+ </transaction>
18
+ headers:
19
+ Accept-Encoding:
20
+ - gzip
21
+ Accept:
22
+ - application/xml
23
+ User-Agent:
24
+ - Braintree Ruby Gem 2.98.0
25
+ X-Apiversion:
26
+ - '5'
27
+ Content-Type:
28
+ - application/xml
29
+ Authorization:
30
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
31
+ response:
32
+ status:
33
+ code: 201
34
+ message: Created
35
+ headers:
36
+ Date:
37
+ - Fri, 13 Sep 2019 14:27:25 GMT
38
+ Content-Type:
39
+ - application/xml; charset=utf-8
40
+ Transfer-Encoding:
41
+ - chunked
42
+ X-Frame-Options:
43
+ - SAMEORIGIN
44
+ X-Xss-Protection:
45
+ - 1; mode=block
46
+ X-Content-Type-Options:
47
+ - nosniff
48
+ X-Authentication:
49
+ - basic_auth
50
+ X-User:
51
+ - 3v249hqtptsg744y
52
+ Vary:
53
+ - Accept-Encoding
54
+ Content-Encoding:
55
+ - gzip
56
+ Etag:
57
+ - W/"b26a56ec4f2cf92cc1cbb9eab1b86d42"
58
+ Cache-Control:
59
+ - max-age=0, private, must-revalidate
60
+ X-Runtime:
61
+ - '0.406919'
62
+ X-Request-Id:
63
+ - 02-1568384845.030-92.223.152.178-13020506
64
+ Content-Security-Policy:
65
+ - frame-ancestors 'self'
66
+ X-Broxyid:
67
+ - 02-1568384845.030-92.223.152.178-13020506
68
+ Strict-Transport-Security:
69
+ - max-age=31536000; includeSubDomains
70
+ body:
71
+ encoding: ASCII-8BIT
72
+ string: !binary |-
73
+ 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
74
+ http_version:
75
+ recorded_at: Fri, 13 Sep 2019 14:27:25 GMT
76
+ - request:
77
+ method: put
78
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/transactions/an8res6h/settle
79
+ body:
80
+ encoding: UTF-8
81
+ string: ''
82
+ headers:
83
+ Accept-Encoding:
84
+ - gzip
85
+ Accept:
86
+ - application/xml
87
+ User-Agent:
88
+ - Braintree Ruby Gem 2.98.0
89
+ X-Apiversion:
90
+ - '5'
91
+ Content-Type:
92
+ - application/xml
93
+ Authorization:
94
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
95
+ response:
96
+ status:
97
+ code: 200
98
+ message: OK
99
+ headers:
100
+ Date:
101
+ - Fri, 13 Sep 2019 14:27:27 GMT
102
+ Content-Type:
103
+ - application/xml; charset=utf-8
104
+ Transfer-Encoding:
105
+ - chunked
106
+ X-Frame-Options:
107
+ - SAMEORIGIN
108
+ X-Xss-Protection:
109
+ - 1; mode=block
110
+ X-Content-Type-Options:
111
+ - nosniff
112
+ X-Authentication:
113
+ - basic_auth
114
+ X-User:
115
+ - 3v249hqtptsg744y
116
+ Vary:
117
+ - Accept-Encoding
118
+ Content-Encoding:
119
+ - gzip
120
+ Etag:
121
+ - W/"89e6f65c0e25e72e5dd533132532109e"
122
+ Cache-Control:
123
+ - max-age=0, private, must-revalidate
124
+ X-Runtime:
125
+ - '0.553441'
126
+ X-Request-Id:
127
+ - 02-1568384846.298-92.223.152.178-13020777
128
+ Content-Security-Policy:
129
+ - frame-ancestors 'self'
130
+ X-Broxyid:
131
+ - 02-1568384846.298-92.223.152.178-13020777
132
+ Strict-Transport-Security:
133
+ - max-age=31536000; includeSubDomains
134
+ body:
135
+ encoding: ASCII-8BIT
136
+ string: !binary |-
137
+ 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
138
+ http_version:
139
+ recorded_at: Fri, 13 Sep 2019 14:27:27 GMT
140
+ - request:
141
+ method: post
142
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/transactions/an8res6h/refund
143
+ body:
144
+ encoding: UTF-8
145
+ string: |
146
+ <?xml version="1.0" encoding="UTF-8"?>
147
+ <transaction>
148
+ <amount>20.00</amount>
149
+ </transaction>
150
+ headers:
151
+ Accept-Encoding:
152
+ - gzip
153
+ Accept:
154
+ - application/xml
155
+ User-Agent:
156
+ - Braintree Ruby Gem 2.98.0
157
+ X-Apiversion:
158
+ - '5'
159
+ Content-Type:
160
+ - application/xml
161
+ Authorization:
162
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
163
+ response:
164
+ status:
165
+ code: 201
166
+ message: Created
167
+ headers:
168
+ Date:
169
+ - Fri, 13 Sep 2019 14:27:28 GMT
170
+ Content-Type:
171
+ - application/xml; charset=utf-8
172
+ Transfer-Encoding:
173
+ - chunked
174
+ X-Frame-Options:
175
+ - SAMEORIGIN
176
+ X-Xss-Protection:
177
+ - 1; mode=block
178
+ X-Content-Type-Options:
179
+ - nosniff
180
+ X-Authentication:
181
+ - basic_auth
182
+ X-User:
183
+ - 3v249hqtptsg744y
184
+ Vary:
185
+ - Accept-Encoding
186
+ Content-Encoding:
187
+ - gzip
188
+ Etag:
189
+ - W/"068f4b326f929d71169f4ef9c3b9e5fb"
190
+ Cache-Control:
191
+ - max-age=0, private, must-revalidate
192
+ X-Runtime:
193
+ - '0.310492'
194
+ X-Request-Id:
195
+ - 02-1568384847.892-92.223.152.178-13021078
196
+ Content-Security-Policy:
197
+ - frame-ancestors 'self'
198
+ X-Broxyid:
199
+ - 02-1568384847.892-92.223.152.178-13021078
200
+ Strict-Transport-Security:
201
+ - max-age=31536000; includeSubDomains
202
+ body:
203
+ encoding: ASCII-8BIT
204
+ string: !binary |-
205
+ H4sIAFCne10AA+RYS2/jNhC+51cYvjOyHafrBIrSAoui6CEoupuk6SWgxJHFtUSqJOXY+fU71FsR5WQvRYHerJmPjxnO4xv7t4csne1BaS7FzXx5vpjPQESScbG9md9//ZVs5rfBmW8UFZpGBlHB2WzmcxZcLg+XRyqU7+GHlWlDTaEDXYQZNwbYcyzVswZjUshAGN+rARZrjjkEkQLGUV5+WGlUKIWnHwnXkuAlILj/8tn3xmILppkshAlWi/PFwvfqL6vIQEUJFYbQKLJCgvfTBrJQpniYS1vevgiJQzcTPL2ZG1XA3Kt2p7iX+hBUKoZIhwINp+ggQs3M2n4zZ/hpeAZzNGd5RRZXZHnxdbm+Xn26Xm3+Rg+0C8r1Rc5+bH23oPazNhItsB/lY769IQpjrrQhgmbgUKZ0WhfJLKfi6NBARnnqkL9AqLlx7ZUnUrjkMT2MnOr1rfJDnqYYw/+yhdooAIwJxhRo7XLBwYBg9iUmIamMaMqNa3sFW0xAl58k5lZa5cbVern45Ht9UXNtjFN1nLaqUtsVhKZ5QlcfQl28hxIFPgqPxg/WeyM0LS4EcyVLq9F1sFOl6HGgRH/2CpTNaCo26N6fEt+bQtjVOVWGo5O6IvUG5TqSFiaRir+OthzdvLdtSE2UODEJz/P/ZaCeCJv/TIT2X6eumiTmkDJdx8JeE1BKKoI+yqXQ4DStxPVMH6KDX7B9nQQ0Wwxfzb3LSUxpxn4/XjkWWugWm8YLPaLmG1RRjn1Ijx/Wz5WM8DT0Q5MdtIQ7ndGBhycuF4sV1q0J7cRKg4Ea/FHJgTmXl5DShQzpBl4LnTyGja65lzyyDxHjA+MKjJEQ1NiYwvIAPKVq9hMoQw+kYihOFRwgy5teHkqZAhXzIKapBmRHLaDhDmgFiahidSgbuQNXroVcBOvFcrXZ2FIr+vViHSw3m6Xv1R91SuCWpORiD1xTjIn2uykJOVfVu2ZSmCRY4nONhCPsEahCWrJaDMCltD637tvEFpSSYd5/6bp5J+1umci0dLa7TPCMboEUKg0SY3J97XkUY8Po81BRLmx61HF9jvXRy+nRVujnDDBw2XMqt9Lbo/3nudjegthzJYUF3GgqWCgPSHfb/euapiCn2FHupA2/6nelSYCmJsEbI5EVOyFfhO/1ZBWIQchNp68+a1Wh8OEwBrdFavlbD/VW0xZ8S0yxp3XQnqy+Lz0qmfYQjaB2n9YFljxsWWLXYQbSYQmVMbFaKiLonzpWNu6SrIhK3t3doJNVoG0qQ0w6ZztsGLcNTYe6EPyfAupMxB3w7TjW7FFS2hQHkUmi2W4i9Vp9TTCHqVcPPCThGKnqOKAKbZstEYAb1W9q8xWJOiqy/IPkvcW3O/zApFV5bGJUqvylkTK3qfFzMynZ5MDBQTdTgr14j+5oiYUPAppzvOBYXpnvvbW/ldQ+q0poSt30qQh1pHg+Sa96+rbklYyS5NjOJSPIYIj1rrM4DpB4LWWcWLzym3NsHyHYMhzckHFdxqZTB9Uusql7E+VraubBgjO+23BT5F12Vka7xiMnDqsCxjvg++5tn4sBpjqUPUK+kOrlRlo0OSyUrmguA4Mjnm7K10DlfoceR3YfP8SM/gr4IBwO1gFYtpX7GnZGwKhEZufasIgiBwVG70/Ybi3PCwOnxoeqDVL2DfucXe/C1r2JcIGsrqjmk+6Pk2dbiHxvCjQkTD2nDHlVnzJNgt7fqyRZ7+3VMjEB5kWq3TuseYSy68cEKsGyRTCFbewDuiGWzilLk1ghfT8xgbTD2FQmNOk9pW8u/M5c6OKo9sVojpr9FItt3nQYQCWlAm3/CpoYnNtW6o6wkxPwybXOybpdEbDffk9CcZc8XfyZh6vL+OlxvY6yh9e7bDsxlXdrT8zZk8yg4wwBHpOxx8vdX6/3B/j8cPn0eHn0vd72g54VnH0HAAD//wMA9chetQYVAAA=
206
+ http_version:
207
+ recorded_at: Fri, 13 Sep 2019 14:27:29 GMT
208
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,87 @@
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
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
16
+ </options>
17
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
18
+ <shipping>
19
+ <first-name>Bruce</first-name>
20
+ <last-name>Wayne</last-name>
21
+ <street-address>42 Spruce Lane Apt 312</street-address>
22
+ <locality>Gotham</locality>
23
+ <postal-code>90210</postal-code>
24
+ <region>CA</region>
25
+ <country-code-alpha2>US</country-code-alpha2>
26
+ </shipping>
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.98.0
36
+ X-Apiversion:
37
+ - '5'
38
+ Content-Type:
39
+ - application/xml
40
+ Authorization:
41
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
42
+ response:
43
+ status:
44
+ code: 201
45
+ message: Created
46
+ headers:
47
+ Date:
48
+ - Fri, 13 Sep 2019 14:27:49 GMT
49
+ Content-Type:
50
+ - application/xml; charset=utf-8
51
+ Transfer-Encoding:
52
+ - chunked
53
+ X-Frame-Options:
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
+ - 3v249hqtptsg744y
63
+ Vary:
64
+ - Accept-Encoding
65
+ Content-Encoding:
66
+ - gzip
67
+ Etag:
68
+ - W/"3fcabe79853d46ebc3e84b6bafd1a249"
69
+ Cache-Control:
70
+ - max-age=0, private, must-revalidate
71
+ X-Runtime:
72
+ - '0.678478'
73
+ X-Request-Id:
74
+ - 02-1568384868.912-92.223.152.178-13024911
75
+ Content-Security-Policy:
76
+ - frame-ancestors 'self'
77
+ X-Broxyid:
78
+ - 02-1568384868.912-92.223.152.178-13024911
79
+ Strict-Transport-Security:
80
+ - max-age=31536000; includeSubDomains
81
+ body:
82
+ encoding: ASCII-8BIT
83
+ string: !binary |-
84
+ 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
85
+ http_version:
86
+ recorded_at: Fri, 13 Sep 2019 14:27:50 GMT
87
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,140 @@
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 type="integer">40</amount>
12
+ <payment-method-nonce>fake-valid-nonce</payment-method-nonce>
13
+ <options>
14
+ <submit-for-settlement type="boolean">true</submit-for-settlement>
15
+ </options>
16
+ <type>sale</type>
17
+ </transaction>
18
+ headers:
19
+ Accept-Encoding:
20
+ - gzip
21
+ Accept:
22
+ - application/xml
23
+ User-Agent:
24
+ - Braintree Ruby Gem 2.98.0
25
+ X-Apiversion:
26
+ - '5'
27
+ Content-Type:
28
+ - application/xml
29
+ Authorization:
30
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
31
+ response:
32
+ status:
33
+ code: 201
34
+ message: Created
35
+ headers:
36
+ Date:
37
+ - Fri, 13 Sep 2019 14:27:30 GMT
38
+ Content-Type:
39
+ - application/xml; charset=utf-8
40
+ Transfer-Encoding:
41
+ - chunked
42
+ X-Frame-Options:
43
+ - SAMEORIGIN
44
+ X-Xss-Protection:
45
+ - 1; mode=block
46
+ X-Content-Type-Options:
47
+ - nosniff
48
+ X-Authentication:
49
+ - basic_auth
50
+ X-User:
51
+ - 3v249hqtptsg744y
52
+ Vary:
53
+ - Accept-Encoding
54
+ Content-Encoding:
55
+ - gzip
56
+ Etag:
57
+ - W/"55837a4ca9eedd573fb5339a11a6cf5d"
58
+ Cache-Control:
59
+ - max-age=0, private, must-revalidate
60
+ X-Runtime:
61
+ - '0.405397'
62
+ X-Request-Id:
63
+ - 01-1568384849.487-92.223.152.178-12968285
64
+ Content-Security-Policy:
65
+ - frame-ancestors 'self'
66
+ X-Broxyid:
67
+ - 01-1568384849.487-92.223.152.178-12968285
68
+ Strict-Transport-Security:
69
+ - max-age=31536000; includeSubDomains
70
+ body:
71
+ encoding: ASCII-8BIT
72
+ string: !binary |-
73
+ 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
74
+ http_version:
75
+ recorded_at: Fri, 13 Sep 2019 14:27:30 GMT
76
+ - request:
77
+ method: put
78
+ uri: https://api.sandbox.braintreegateway.com/merchants/7rdg92j7bm7fk5h3/transactions/kkket563/settle
79
+ body:
80
+ encoding: UTF-8
81
+ string: ''
82
+ headers:
83
+ Accept-Encoding:
84
+ - gzip
85
+ Accept:
86
+ - application/xml
87
+ User-Agent:
88
+ - Braintree Ruby Gem 2.98.0
89
+ X-Apiversion:
90
+ - '5'
91
+ Content-Type:
92
+ - application/xml
93
+ Authorization:
94
+ - Basic bXdqa2t4d2NwMzJja2huZjphOTI5OGY0M2IzMGM2OTlkYjMwNzJjYzRhMDBmN2Y0OQ==
95
+ response:
96
+ status:
97
+ code: 200
98
+ message: OK
99
+ headers:
100
+ Date:
101
+ - Fri, 13 Sep 2019 14:27:32 GMT
102
+ Content-Type:
103
+ - application/xml; charset=utf-8
104
+ Transfer-Encoding:
105
+ - chunked
106
+ X-Frame-Options:
107
+ - SAMEORIGIN
108
+ X-Xss-Protection:
109
+ - 1; mode=block
110
+ X-Content-Type-Options:
111
+ - nosniff
112
+ X-Authentication:
113
+ - basic_auth
114
+ X-User:
115
+ - 3v249hqtptsg744y
116
+ Vary:
117
+ - Accept-Encoding
118
+ Content-Encoding:
119
+ - gzip
120
+ Etag:
121
+ - W/"6be7b4df5675b6e4e620434661e759e6"
122
+ Cache-Control:
123
+ - max-age=0, private, must-revalidate
124
+ X-Runtime:
125
+ - '0.839189'
126
+ X-Request-Id:
127
+ - 01-1568384850.887-92.223.152.178-12968568
128
+ Content-Security-Policy:
129
+ - frame-ancestors 'self'
130
+ X-Broxyid:
131
+ - 01-1568384850.887-92.223.152.178-12968568
132
+ Strict-Transport-Security:
133
+ - max-age=31536000; includeSubDomains
134
+ body:
135
+ encoding: ASCII-8BIT
136
+ string: !binary |-
137
+ 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
138
+ http_version:
139
+ recorded_at: Fri, 13 Sep 2019 14:27:32 GMT
140
+ recorded_with: VCR 5.0.0