bongloy 4.21.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +76 -0
  3. data/.editorconfig +10 -0
  4. data/.gitattributes +4 -0
  5. data/.github/ISSUE_TEMPLATE.md +5 -0
  6. data/.github/README.md +79 -0
  7. data/.github/pull.yml +5 -0
  8. data/.gitignore +8 -0
  9. data/.rubocop.yml +43 -0
  10. data/.rubocop_todo.yml +38 -0
  11. data/.travis.yml +43 -0
  12. data/.vscode/extensions.json +7 -0
  13. data/.vscode/settings.json +8 -0
  14. data/CHANGELOG.md +770 -0
  15. data/CONTRIBUTORS +3 -0
  16. data/Gemfile +39 -0
  17. data/History.txt +1 -0
  18. data/LICENSE +21 -0
  19. data/README.md +282 -0
  20. data/Rakefile +36 -0
  21. data/VERSION +1 -0
  22. data/bin/stripe-console +16 -0
  23. data/bongloy.gemspec +37 -0
  24. data/lib/bongloy.rb +7 -0
  25. data/lib/data/ca-certificates.crt +4043 -0
  26. data/lib/stripe.rb +208 -0
  27. data/lib/stripe/api_operations/create.rb +12 -0
  28. data/lib/stripe/api_operations/delete.rb +35 -0
  29. data/lib/stripe/api_operations/list.rb +30 -0
  30. data/lib/stripe/api_operations/nested_resource.rb +70 -0
  31. data/lib/stripe/api_operations/request.rb +53 -0
  32. data/lib/stripe/api_operations/save.rb +94 -0
  33. data/lib/stripe/api_resource.rb +107 -0
  34. data/lib/stripe/errors.rb +156 -0
  35. data/lib/stripe/list_object.rb +110 -0
  36. data/lib/stripe/oauth.rb +63 -0
  37. data/lib/stripe/object_types.rb +98 -0
  38. data/lib/stripe/resources.rb +79 -0
  39. data/lib/stripe/resources/account.rb +174 -0
  40. data/lib/stripe/resources/account_link.rb +9 -0
  41. data/lib/stripe/resources/alipay_account.rb +34 -0
  42. data/lib/stripe/resources/apple_pay_domain.rb +16 -0
  43. data/lib/stripe/resources/application_fee.rb +24 -0
  44. data/lib/stripe/resources/application_fee_refund.rb +30 -0
  45. data/lib/stripe/resources/balance.rb +7 -0
  46. data/lib/stripe/resources/balance_transaction.rb +13 -0
  47. data/lib/stripe/resources/bank_account.rb +42 -0
  48. data/lib/stripe/resources/bitcoin_receiver.rb +23 -0
  49. data/lib/stripe/resources/bitcoin_transaction.rb +15 -0
  50. data/lib/stripe/resources/capability.rb +33 -0
  51. data/lib/stripe/resources/card.rb +37 -0
  52. data/lib/stripe/resources/charge.rb +84 -0
  53. data/lib/stripe/resources/checkout/session.rb +11 -0
  54. data/lib/stripe/resources/country_spec.rb +9 -0
  55. data/lib/stripe/resources/coupon.rb +12 -0
  56. data/lib/stripe/resources/credit_note.rb +18 -0
  57. data/lib/stripe/resources/customer.rb +95 -0
  58. data/lib/stripe/resources/customer_balance_transaction.rb +30 -0
  59. data/lib/stripe/resources/discount.rb +7 -0
  60. data/lib/stripe/resources/dispute.rb +23 -0
  61. data/lib/stripe/resources/ephemeral_key.rb +19 -0
  62. data/lib/stripe/resources/event.rb +9 -0
  63. data/lib/stripe/resources/exchange_rate.rb +9 -0
  64. data/lib/stripe/resources/file.rb +44 -0
  65. data/lib/stripe/resources/file_link.rb +11 -0
  66. data/lib/stripe/resources/invoice.rb +48 -0
  67. data/lib/stripe/resources/invoice_item.rb +12 -0
  68. data/lib/stripe/resources/invoice_line_item.rb +7 -0
  69. data/lib/stripe/resources/issuer_fraud_record.rb +9 -0
  70. data/lib/stripe/resources/issuing/authorization.rb +25 -0
  71. data/lib/stripe/resources/issuing/card.rb +20 -0
  72. data/lib/stripe/resources/issuing/card_details.rb +9 -0
  73. data/lib/stripe/resources/issuing/cardholder.rb +13 -0
  74. data/lib/stripe/resources/issuing/dispute.rb +13 -0
  75. data/lib/stripe/resources/issuing/transaction.rb +12 -0
  76. data/lib/stripe/resources/login_link.rb +14 -0
  77. data/lib/stripe/resources/order.rb +32 -0
  78. data/lib/stripe/resources/order_return.rb +9 -0
  79. data/lib/stripe/resources/payment_intent.rb +30 -0
  80. data/lib/stripe/resources/payment_method.rb +24 -0
  81. data/lib/stripe/resources/payout.rb +24 -0
  82. data/lib/stripe/resources/person.rb +31 -0
  83. data/lib/stripe/resources/plan.rb +12 -0
  84. data/lib/stripe/resources/product.rb +12 -0
  85. data/lib/stripe/resources/radar/early_fraud_warning.rb +11 -0
  86. data/lib/stripe/resources/radar/value_list.rb +14 -0
  87. data/lib/stripe/resources/radar/value_list_item.rb +13 -0
  88. data/lib/stripe/resources/recipient.rb +17 -0
  89. data/lib/stripe/resources/recipient_transfer.rb +7 -0
  90. data/lib/stripe/resources/refund.rb +11 -0
  91. data/lib/stripe/resources/reporting/report_run.rb +12 -0
  92. data/lib/stripe/resources/reporting/report_type.rb +12 -0
  93. data/lib/stripe/resources/reversal.rb +29 -0
  94. data/lib/stripe/resources/review.rb +16 -0
  95. data/lib/stripe/resources/setup_intent.rb +24 -0
  96. data/lib/stripe/resources/sigma/scheduled_query_run.rb +15 -0
  97. data/lib/stripe/resources/sku.rb +12 -0
  98. data/lib/stripe/resources/source.rb +42 -0
  99. data/lib/stripe/resources/source_transaction.rb +7 -0
  100. data/lib/stripe/resources/subscription.rb +25 -0
  101. data/lib/stripe/resources/subscription_item.rb +17 -0
  102. data/lib/stripe/resources/subscription_schedule.rb +32 -0
  103. data/lib/stripe/resources/subscription_schedule_revision.rb +34 -0
  104. data/lib/stripe/resources/tax_id.rb +26 -0
  105. data/lib/stripe/resources/tax_rate.rb +11 -0
  106. data/lib/stripe/resources/terminal/connection_token.rb +11 -0
  107. data/lib/stripe/resources/terminal/location.rb +14 -0
  108. data/lib/stripe/resources/terminal/reader.rb +14 -0
  109. data/lib/stripe/resources/three_d_secure.rb +13 -0
  110. data/lib/stripe/resources/token.rb +9 -0
  111. data/lib/stripe/resources/topup.rb +18 -0
  112. data/lib/stripe/resources/transfer.rb +27 -0
  113. data/lib/stripe/resources/usage_record.rb +23 -0
  114. data/lib/stripe/resources/usage_record_summary.rb +7 -0
  115. data/lib/stripe/resources/webhook_endpoint.rb +12 -0
  116. data/lib/stripe/singleton_api_resource.rb +26 -0
  117. data/lib/stripe/stripe_client.rb +686 -0
  118. data/lib/stripe/stripe_object.rb +583 -0
  119. data/lib/stripe/stripe_response.rb +50 -0
  120. data/lib/stripe/util.rb +336 -0
  121. data/lib/stripe/version.rb +5 -0
  122. data/lib/stripe/webhook.rb +90 -0
  123. data/stripe.gemspec +37 -0
  124. data/test/api_stub_helpers.rb +1 -0
  125. data/test/openapi/README.md +9 -0
  126. data/test/stripe/account_link_test.rb +18 -0
  127. data/test/stripe/account_test.rb +428 -0
  128. data/test/stripe/alipay_account_test.rb +37 -0
  129. data/test/stripe/api_operations_test.rb +80 -0
  130. data/test/stripe/api_resource_test.rb +544 -0
  131. data/test/stripe/apple_pay_domain_test.rb +46 -0
  132. data/test/stripe/application_fee_refund_test.rb +37 -0
  133. data/test/stripe/application_fee_test.rb +58 -0
  134. data/test/stripe/balance_test.rb +13 -0
  135. data/test/stripe/bank_account_test.rb +36 -0
  136. data/test/stripe/capability_test.rb +45 -0
  137. data/test/stripe/charge_test.rb +80 -0
  138. data/test/stripe/checkout/session_test.rb +41 -0
  139. data/test/stripe/country_spec_test.rb +20 -0
  140. data/test/stripe/coupon_test.rb +61 -0
  141. data/test/stripe/credit_note_test.rb +61 -0
  142. data/test/stripe/customer_balance_transaction_test.rb +37 -0
  143. data/test/stripe/customer_card_test.rb +42 -0
  144. data/test/stripe/customer_test.rb +269 -0
  145. data/test/stripe/dispute_test.rb +51 -0
  146. data/test/stripe/ephemeral_key_test.rb +93 -0
  147. data/test/stripe/errors_test.rb +20 -0
  148. data/test/stripe/exchange_rate_test.rb +20 -0
  149. data/test/stripe/file_link_test.rb +41 -0
  150. data/test/stripe/file_test.rb +97 -0
  151. data/test/stripe/file_upload_test.rb +79 -0
  152. data/test/stripe/invoice_item_test.rb +66 -0
  153. data/test/stripe/invoice_line_item_test.rb +8 -0
  154. data/test/stripe/invoice_test.rb +213 -0
  155. data/test/stripe/issuer_fraud_record_test.rb +20 -0
  156. data/test/stripe/issuing/authorization_test.rb +72 -0
  157. data/test/stripe/issuing/card_test.rb +62 -0
  158. data/test/stripe/issuing/cardholder_test.rb +53 -0
  159. data/test/stripe/issuing/dispute_test.rb +45 -0
  160. data/test/stripe/issuing/transaction_test.rb +48 -0
  161. data/test/stripe/list_object_test.rb +156 -0
  162. data/test/stripe/login_link_test.rb +37 -0
  163. data/test/stripe/oauth_test.rb +88 -0
  164. data/test/stripe/order_return_test.rb +21 -0
  165. data/test/stripe/order_test.rb +82 -0
  166. data/test/stripe/payment_intent_test.rb +107 -0
  167. data/test/stripe/payment_method_test.rb +84 -0
  168. data/test/stripe/payout_test.rb +57 -0
  169. data/test/stripe/person_test.rb +46 -0
  170. data/test/stripe/plan_test.rb +98 -0
  171. data/test/stripe/product_test.rb +59 -0
  172. data/test/stripe/radar/early_fraud_warning_test.rb +22 -0
  173. data/test/stripe/radar/value_list_item_test.rb +48 -0
  174. data/test/stripe/radar/value_list_test.rb +61 -0
  175. data/test/stripe/recipient_test.rb +62 -0
  176. data/test/stripe/refund_test.rb +39 -0
  177. data/test/stripe/reporting/report_run_test.rb +33 -0
  178. data/test/stripe/reporting/report_type_test.rb +22 -0
  179. data/test/stripe/reversal_test.rb +43 -0
  180. data/test/stripe/review_test.rb +27 -0
  181. data/test/stripe/setup_intent_test.rb +84 -0
  182. data/test/stripe/sigma/scheduled_query_run_test.rb +22 -0
  183. data/test/stripe/sku_test.rb +60 -0
  184. data/test/stripe/source_test.rb +99 -0
  185. data/test/stripe/source_transaction_test.rb +19 -0
  186. data/test/stripe/stripe_client_test.rb +842 -0
  187. data/test/stripe/stripe_object_test.rb +525 -0
  188. data/test/stripe/stripe_response_test.rb +49 -0
  189. data/test/stripe/subscription_item_test.rb +63 -0
  190. data/test/stripe/subscription_schedule_revision_test.rb +37 -0
  191. data/test/stripe/subscription_schedule_test.rb +116 -0
  192. data/test/stripe/subscription_test.rb +80 -0
  193. data/test/stripe/tax_id_test.rb +31 -0
  194. data/test/stripe/tax_rate_test.rb +43 -0
  195. data/test/stripe/terminal/connection_token_test.rb +16 -0
  196. data/test/stripe/terminal/location_test.rb +68 -0
  197. data/test/stripe/terminal/reader_test.rb +62 -0
  198. data/test/stripe/three_d_secure_test.rb +23 -0
  199. data/test/stripe/topup_test.rb +62 -0
  200. data/test/stripe/transfer_test.rb +88 -0
  201. data/test/stripe/usage_record_summary_test.rb +19 -0
  202. data/test/stripe/usage_record_test.rb +28 -0
  203. data/test/stripe/util_test.rb +402 -0
  204. data/test/stripe/webhook_endpoint_test.rb +59 -0
  205. data/test/stripe/webhook_test.rb +96 -0
  206. data/test/stripe_mock.rb +77 -0
  207. data/test/stripe_test.rb +63 -0
  208. data/test/test_data.rb +61 -0
  209. data/test/test_helper.rb +71 -0
  210. metadata +372 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 39d2be025c8a97aa60e9ff24e6383b48f8fd5a7d8d232fbe3d4725f5290487e7
4
+ data.tar.gz: d73146af2fbfeb3ddfc4b54f5ffd615747e47c889857d50ecfad6e690fa9caef
5
+ SHA512:
6
+ metadata.gz: 36936783f7c018d38c5bab8510ff38a39436577ec07658e1d8111bca7ea108a8a32b6d31ce9dfc988b2b12ba7128bf87e7af8a1d0b82c38a4217a828dec3f76d
7
+ data.tar.gz: 249235e1565f0442c9c4d2ffdca4e3be78429e3243b4b42738b26518fb334af8128d8584297cfbcce7d4d34f98e8c29fe747216e47433139bb1512141348c737
@@ -0,0 +1,76 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ docker:
5
+ - image: circleci/ruby:latest
6
+
7
+ working_directory: ~/bongloy-ruby
8
+
9
+ steps:
10
+ - checkout
11
+
12
+ - run:
13
+ name: Install stripe-mock
14
+ environment:
15
+ STRIPE_MOCK_VERSION: "0.60.0"
16
+
17
+ command: |
18
+ if [ ! -d "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}" ]; then
19
+ mkdir -p stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/
20
+ curl -L "https://github.com/stripe/stripe-mock/releases/download/v${STRIPE_MOCK_VERSION}/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -o "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz"
21
+ tar -zxf "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -C "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/"
22
+ fi
23
+ echo "export STRIPE_MOCK_VERSION=$STRIPE_MOCK_VERSION" >> $BASH_ENV
24
+ echo "export PATH='${PATH}:${PWD}/stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}'" >> $BASH_ENV
25
+ source $BASH_ENV
26
+
27
+ - run:
28
+ name: Run stripe-mock
29
+ command: |
30
+ stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock > /dev/null
31
+ background: true
32
+
33
+ - run:
34
+ name: Install Dependencies
35
+ command: |
36
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
37
+
38
+ - run:
39
+ name: Run Tests
40
+ command: |
41
+ bundle exec rake
42
+
43
+ publish-gem:
44
+ docker:
45
+ - image: circleci/ruby:latest
46
+
47
+ working_directory: ~/bongloy-ruby
48
+
49
+ steps:
50
+ - checkout
51
+ - run:
52
+ name: Setup Rubygems
53
+ command: |
54
+ mkdir -p ~/.gem
55
+ echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
56
+ chmod 0600 /home/circleci/.gem/credentials
57
+
58
+ - run:
59
+ name: Publish to Rubygems
60
+ command: |
61
+ gem build bongloy.gemspec
62
+ gem push *.gem || true
63
+
64
+ workflows:
65
+ version: 2
66
+ build:
67
+ jobs:
68
+ - build
69
+ - publish-gem:
70
+ requires:
71
+ - build
72
+ filters:
73
+ branches:
74
+ only: master
75
+ tags:
76
+ only: /.*/
@@ -0,0 +1,10 @@
1
+ # see http://editorconfig.org/
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 2
8
+ end_of_line = lf
9
+ charset = utf-8
10
+ insert_final_newline = true
@@ -0,0 +1,4 @@
1
+ # may be useful in hiding large schema changes in pull request diffs (but not
2
+ # using it for now)
3
+ spec/*.json binary
4
+ spec/*.yaml binary
@@ -0,0 +1,5 @@
1
+ Please only file issues here that you believe represent actual bugs or feature requests for the Stripe Ruby library.
2
+
3
+ If you're having general trouble with your Stripe integration, please reach out to support using the form at https://support.stripe.com/ (preferred) or via email to support@stripe.com.
4
+
5
+ If you are reporting a bug, please include your Ruby version and the version of the Stripe Ruby library you're using, as well as any other details that may be helpful in reproducing the problem.
@@ -0,0 +1,79 @@
1
+ # Bongloy Ruby Library
2
+
3
+ [![CircleCI](https://circleci.com/gh/bongloy/bongloy-ruby.svg?style=svg)](https://circleci.com/gh/bongloy/bongloy-ruby)
4
+ [![Coverage Status](https://coveralls.io/repos/github/bongloy/bongloy-ruby/badge.svg?branch=bongloy_compatibility)](https://coveralls.io/github/bongloy/bongloy-ruby?branch=bongloy_compatibility)
5
+
6
+ This is the official Ruby library for [Bongloy Payment Gateway][bongloy-payment-gateway].
7
+ It's a fork of [Stripe's Ruby Library][stripe-ruby-library], built by [Stripe][stripe-payment-gateway] and automatically kept to date by [pull][pull-github-app]. Note that [Bongloy's API][bongloy-api-reference] is mostly compatible with [Stripe's API][stripe-api-reference], however not all features of Stripe are implemented in Bongloy. Refer to the [Bongloy Documentation][bongloy-documentation] for more information. We thank Stripe for providing and maintaining this awesome library [free and open source][stripe-open-source-license].
8
+
9
+ ## Installation
10
+
11
+ Add this line to your application's Gemfile:
12
+
13
+ ```ruby
14
+ gem 'bongloy'
15
+ ```
16
+
17
+ And then execute:
18
+
19
+ $ bundle install
20
+
21
+ Or install it yourself as:
22
+
23
+ $ gem install bongloy
24
+
25
+ ## Usage
26
+
27
+ The library needs to be configured with your account's secret key which is
28
+ available in your [Bongloy Dashboard][bongloy-api-keys]. Set `Bongloy.api_key` to its
29
+ value:
30
+
31
+ ```ruby
32
+ require "bongloy"
33
+ Bongloy.api_key = "sk_test_..."
34
+
35
+ # list charges
36
+ Bongloy::Charge.list()
37
+
38
+ # retrieve single charge
39
+ Bongloy::Charge.retrieve(
40
+ "6f3c1e38-d8a9-49c1-86b8-886c2b66eedb"
41
+ )
42
+ ```
43
+
44
+ ### Per-request Configuration
45
+
46
+ For apps that need to authenticate on behalf of another account during the lifetime of a process, like
47
+ one that uses [Bongloy Connect][bongloy-connect], it's also possible to set a
48
+ per-request account:
49
+
50
+ ```ruby
51
+ require "bongloy"
52
+
53
+ Bongloy::Charge.list(
54
+ {},
55
+ {
56
+ api_key: "sk_test_...",
57
+ bongloy_account: "c756a678-0f2b-4b81-a8f1-8bb2ed80ece5"
58
+ }
59
+ )
60
+
61
+ Bongloy::Charge.retrieve(
62
+ "6f3c1e38-d8a9-49c1-86b8-886c2b66eedb",
63
+ {
64
+ api_key: "sk_test_...",
65
+ bongloy_account: "c756a678-0f2b-4b81-a8f1-8bb2ed80ece5"
66
+ }
67
+ )
68
+ ```
69
+
70
+ [bongloy-api-keys]: https://sandbox.bongloy.com/dashboard/api_keys
71
+ [bongloy-payment-gateway]: https://www.bongloy.com
72
+ [stripe-ruby-library]: https://github.com/stripe/stripe-ruby
73
+ [stripe-payment-gateway]: https://stripe.com
74
+ [pull-github-app]: https://github.com/wei/pull
75
+ [bongloy-documentation]: https://sandbox.bongloy.com/documentation
76
+ [stripe-api-reference]: https://stripe.com/docs/api
77
+ [bongloy-api-reference]: https://sandbox.bongloy.com/documentation#bongloy-api-reference
78
+ [stripe-open-source-license]: https://github.com/stripe/stripe-ruby/blob/master/LICENSE
79
+ [bongloy-connect]: https://sandbox.bongloy.com/documentation#bongloy-connect
@@ -0,0 +1,5 @@
1
+ version: "1"
2
+ rules:
3
+ - base: master
4
+ upstream: stripe:master
5
+ mergeMethod: merge
@@ -0,0 +1,8 @@
1
+ /stripe-*.gem
2
+ /Gemfile.lock
3
+ .rvmrc
4
+ Gemfile.lock
5
+ tags
6
+ /.bundle/
7
+ coverage/
8
+ .idea/
@@ -0,0 +1,43 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ DisplayCopNames: true
5
+ TargetRubyVersion: 2.1
6
+
7
+ Layout/CaseIndentation:
8
+ EnforcedStyle: end
9
+
10
+ Layout/IndentArray:
11
+ EnforcedStyle: consistent
12
+
13
+ Layout/IndentHash:
14
+ EnforcedStyle: consistent
15
+
16
+ Metrics/LineLength:
17
+ Exclude:
18
+ - "test/**/*.rb"
19
+ - "lib/stripe/resources/**/*.rb"
20
+
21
+ Metrics/MethodLength:
22
+ # There's ~2 long methods in `StripeClient`. If we want to truncate those a
23
+ # little, we could move this to be closer to ~30 (but the default of 10 is
24
+ # probably too short).
25
+ Max: 50
26
+
27
+ Metrics/ModuleLength:
28
+ Enabled: false
29
+
30
+ Style/AccessModifierDeclarations:
31
+ EnforcedStyle: inline
32
+
33
+ Style/FrozenStringLiteralComment:
34
+ EnforcedStyle: always
35
+
36
+ Style/StringLiterals:
37
+ EnforcedStyle: double_quotes
38
+
39
+ Style/TrailingCommaInArrayLiteral:
40
+ EnforcedStyleForMultiline: consistent_comma
41
+
42
+ Style/TrailingCommaInHashLiteral:
43
+ EnforcedStyleForMultiline: consistent_comma
@@ -0,0 +1,38 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-05-24 10:18:48 -0700 using RuboCop version 0.57.2.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 20
10
+ Metrics/AbcSize:
11
+ Max: 53
12
+
13
+ # Offense count: 31
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ Metrics/BlockLength:
16
+ Max: 498
17
+
18
+ # Offense count: 11
19
+ # Configuration parameters: CountComments.
20
+ Metrics/ClassLength:
21
+ Max: 673
22
+
23
+ # Offense count: 12
24
+ Metrics/CyclomaticComplexity:
25
+ Max: 15
26
+
27
+ # Offense count: 6
28
+ # Configuration parameters: CountKeywordArgs.
29
+ Metrics/ParameterLists:
30
+ Max: 7
31
+
32
+ # Offense count: 7
33
+ Metrics/PerceivedComplexity:
34
+ Max: 17
35
+
36
+ # Offense count: 84
37
+ Style/Documentation:
38
+ Enabled: false
@@ -0,0 +1,43 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.1
5
+ - 2.2
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - 2.6
10
+ - jruby-9.0.5.0
11
+
12
+ notifications:
13
+ email:
14
+ on_success: never
15
+
16
+ sudo: false
17
+
18
+ env:
19
+ global:
20
+ # If changing this number, please also change it in `test/test_helper.rb`.
21
+ - STRIPE_MOCK_VERSION=0.60.0
22
+
23
+ cache:
24
+ directories:
25
+ - stripe-mock
26
+
27
+ before_install:
28
+ # Install bundler 1.x, because we need to support Ruby 2.1 for now
29
+ - gem install bundler -v "~> 1.0"
30
+ # Unpack and start stripe-mock so that the test suite can talk to it
31
+ - |
32
+ if [ ! -d "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}" ]; then
33
+ mkdir -p stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/
34
+ curl -L "https://github.com/stripe/stripe-mock/releases/download/v${STRIPE_MOCK_VERSION}/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -o "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz"
35
+ tar -zxf "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -C "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/"
36
+ fi
37
+ - |
38
+ stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock > /dev/null &
39
+ STRIPE_MOCK_PID=$!
40
+ - export PATH="${PATH}:${PWD}/stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}"
41
+
42
+ script:
43
+ - bundle exec rake
@@ -0,0 +1,7 @@
1
+ {
2
+ "recommendations": [
3
+ "rebornix.ruby",
4
+ "misogi.ruby-rubocop",
5
+ "EditorConfig.editorconfig"
6
+ ]
7
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "editor.formatOnSave": true,
3
+ "files.trimTrailingWhitespace": true,
4
+
5
+ // Rubocop settings
6
+ "ruby.rubocop.configFilePath": ".rubocop.yml",
7
+ "ruby.rubocop.onSave": true
8
+ }
@@ -0,0 +1,770 @@
1
+ # Changelog
2
+
3
+ ## 4.21.3 - 2019-07-15
4
+ * [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
5
+
6
+ ## 4.21.2 - 2019-07-05
7
+ * [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
8
+
9
+ ## 4.21.1 - 2019-07-04
10
+ * [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
11
+
12
+ ## 4.21.0 - 2019-06-28
13
+ * [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
14
+
15
+ ## 4.20.1 - 2019-06-28
16
+ * [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
17
+
18
+ ## 4.20.0 - 2019-06-24
19
+ * [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
20
+
21
+ ## 4.19.0 - 2019-06-17
22
+ * [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
23
+
24
+ ## 4.18.1 - 2019-05-27
25
+ * [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
26
+
27
+ ## 4.18.0 - 2019-05-23
28
+ * [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
29
+
30
+ ## 4.17.0 - 2019-05-14
31
+ * [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
32
+
33
+ ## 4.16.0 - 2019-04-24
34
+ * [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
35
+
36
+ ## 4.15.0 - 2019-04-22
37
+ * [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
38
+
39
+ ## 4.14.0 - 2019-04-18
40
+ * [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
41
+
42
+ ## 4.13.0 - 2019-04-16
43
+ * [#766](https://github.com/stripe/stripe-ruby/pull/766) Relax constraints on objects that we'll accept as a file (now they just need to respond to `#read`)
44
+
45
+ ## 4.12.0 - 2019-04-02
46
+ * [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
47
+ * [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
48
+
49
+ ## 4.11.0 - 2019-03-26
50
+ * [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
51
+
52
+ ## 4.10.0 - 2019-03-18
53
+ * [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
54
+ * [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
55
+ * [#748](https://github.com/stripe/stripe-ruby/pull/748) Add support for deleting a Terminal `Location` and `Reader`
56
+
57
+ ## 4.9.1 - 2019-03-18
58
+ * [#750](https://github.com/stripe/stripe-ruby/pull/750) Catch error and warn if unable to remove a method
59
+
60
+ ## 4.9.0 - 2019-02-12
61
+ * [#739](https://github.com/stripe/stripe-ruby/pull/739) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
62
+
63
+ ## 4.8.1 - 2019-02-11
64
+ * [#743](https://github.com/stripe/stripe-ruby/pull/743) Fix bug in file uploading introduced in #741
65
+
66
+ ## 4.8.0 - 2019-02-03
67
+ * [#741](https://github.com/stripe/stripe-ruby/pull/741) Use `FaradayStripeEncoder` to encode all parameter styles
68
+
69
+ ## 4.7.1 - 2019-02-01
70
+ * [#740](https://github.com/stripe/stripe-ruby/pull/740) Fix query encoding for integer-indexed maps
71
+
72
+ ## 4.7.0 - 2019-01-23
73
+ * [#735](https://github.com/stripe/stripe-ruby/pull/735) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
74
+
75
+ ## 4.6.0 - 2019-01-21
76
+ * [#736](https://github.com/stripe/stripe-ruby/pull/736) Properly serialize `individual` on `Account` objects
77
+
78
+ ## 4.5.0 - 2019-01-02
79
+ * [#719](https://github.com/stripe/stripe-ruby/pull/719) Generate OAuth authorize URLs for Express accounts as well as standard
80
+
81
+ ## 4.4.1 - 2018-12-31
82
+ * [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
83
+
84
+ ## 4.4.0 - 2018-12-21
85
+ * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
86
+
87
+ ## 4.3.0 - 2018-12-10
88
+ * [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
89
+
90
+ ## 4.2.0 - 2018-11-28
91
+ * [#705](https://github.com/stripe/stripe-ruby/pull/705) Add support for the `Review` APIs
92
+
93
+ ## 4.1.0 - 2018-11-27
94
+ * [#695](https://github.com/stripe/stripe-ruby/pull/695) Add support for `ValueList` and `ValueListItem` for Radar
95
+
96
+ ## 4.0.3 - 2018-11-19
97
+ * [#703](https://github.com/stripe/stripe-ruby/pull/703) Don't use `Net::HTTP::Persistent` on Windows where it's not well supported
98
+
99
+ ## 4.0.2 - 2018-11-16
100
+ * [#701](https://github.com/stripe/stripe-ruby/pull/701) Require minimum Faraday 0.13 for proper support of persistent connections
101
+
102
+ ## 4.0.1 - 2018-11-15
103
+ * [#699](https://github.com/stripe/stripe-ruby/pull/699) Only send telemetry if `Request-Id` was present in the response
104
+
105
+ ## 4.0.0 - 2018-11-15
106
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Use persistent connections by default through `Net::HTTP::Persistent`
107
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Drop support for Ruby 2.0 (which we consider a breaking change here)
108
+
109
+ ## 3.31.1 - 2018-11-12
110
+ * [#697](https://github.com/stripe/stripe-ruby/pull/697) Send telemetry in milliseconds specifically
111
+
112
+ ## 3.31.0 - 2018-11-12
113
+ * [#696](https://github.com/stripe/stripe-ruby/pull/696) Add configurable telemetry to gather information on client-side request latency
114
+
115
+ ## 3.30.0 - 2018-11-08
116
+ * [#693](https://github.com/stripe/stripe-ruby/pull/693) Add new API endpoints for the `Invoice` resource.
117
+
118
+ ## 3.29.0 - 2018-10-30
119
+ * [#692](https://github.com/stripe/stripe-ruby/pull/692) Add support for the `Person` resource
120
+ * [#694](https://github.com/stripe/stripe-ruby/pull/694) Add support for the `WebhookEndpoint` resource
121
+
122
+ ## 3.28.0 - 2018-09-24
123
+ * [#690](https://github.com/stripe/stripe-ruby/pull/690) Add support for Stripe Terminal
124
+
125
+ ## 3.27.0 - 2018-09-24
126
+ * [#689](https://github.com/stripe/stripe-ruby/pull/689) Rename `FileUpload` to `File`
127
+
128
+ ## 3.26.1 - 2018-09-14
129
+ * [#688](https://github.com/stripe/stripe-ruby/pull/688) Fix hash equality on `StripeObject`
130
+
131
+ ## 3.26.0 - 2018-09-05
132
+ * [#681](https://github.com/stripe/stripe-ruby/pull/681) Add support for reporting resources
133
+
134
+ ## 3.25.0 - 2018-08-28
135
+ * [#678](https://github.com/stripe/stripe-ruby/pull/678) Allow payment intent `#cancel`, `#capture`, and `#confirm` to take their own parameters
136
+
137
+ ## 3.24.0 - 2018-08-27
138
+ * [#675](https://github.com/stripe/stripe-ruby/pull/675) Remove support for `BitcoinReceiver` write-actions
139
+
140
+ ## 3.23.0 - 2018-08-23
141
+ * [#676](https://github.com/stripe/stripe-ruby/pull/676) Add support for usage record summaries
142
+
143
+ ## 3.22.0 - 2018-08-15
144
+ * [#674](https://github.com/stripe/stripe-ruby/pull/674) Use integer-indexed encoding for all arrays
145
+
146
+ ## 3.21.0 - 2018-08-03
147
+ * [#671](https://github.com/stripe/stripe-ruby/pull/671) Add cancel support for topups
148
+
149
+ ## 3.20.0 - 2018-08-03
150
+ * [#669](https://github.com/stripe/stripe-ruby/pull/669) Add support for file links
151
+
152
+ ## 3.19.0 - 2018-07-27
153
+ * [#666](https://github.com/stripe/stripe-ruby/pull/666) Add support for scheduled query runs (`Stripe::Sigma::ScheduledQueryRun`) for Sigma
154
+
155
+ ## 3.18.0 - 2018-07-26
156
+ * [#665](https://github.com/stripe/stripe-ruby/pull/665) Add support for Stripe Issuing
157
+
158
+ ## 3.17.2 - 2018-07-19
159
+ * [#664](https://github.com/stripe/stripe-ruby/pull/664) Don't colorize log output being sent to a configured logger
160
+
161
+ ## 3.17.1 - 2018-07-19
162
+ * [#663](https://github.com/stripe/stripe-ruby/pull/663) Internal improvements to `ApiResource.class_url`
163
+
164
+ ## 3.17.0 - 2018-06-28
165
+ * [#658](https://github.com/stripe/stripe-ruby/pull/658) Add support for `partner_id` from `Stripe.set_app_info`
166
+
167
+ ## 3.16.0 - 2018-06-28
168
+ * [#657](https://github.com/stripe/stripe-ruby/pull/657) Add support for payment intents
169
+
170
+ ## 3.15.0 - 2018-05-10
171
+ * [#649](https://github.com/stripe/stripe-ruby/pull/649) Freeze all string literals
172
+
173
+ ## 3.14.0 - 2018-05-09
174
+ * [#645](https://github.com/stripe/stripe-ruby/pull/645) Add support for issuer fraud records
175
+
176
+ ## 3.13.1 - 2018-05-07
177
+ * [#647](https://github.com/stripe/stripe-ruby/pull/647) Merge query parameters coming from path with `params` argument
178
+
179
+ ## 3.13.0 - 2018-04-11
180
+ * [#498](https://github.com/stripe/stripe-ruby/pull/498) Add support for flexible billing primitives
181
+
182
+ ## 3.12.1 - 2018-04-05
183
+ * [#636](https://github.com/stripe/stripe-ruby/pull/636) Fix a warning for uninitialized instance variable `@additive_params`
184
+
185
+ ## 3.12.0 - 2018-04-05
186
+ * [#632](https://github.com/stripe/stripe-ruby/pull/632) Introduce `additive_object_param` so that non-`metadata` subobjects don't zero their keys as they're being replaced
187
+
188
+ ## 3.11.0 - 2018-02-26
189
+ * [#628](https://github.com/stripe/stripe-ruby/pull/628) Add support for `code` attribute on all Stripe exceptions
190
+
191
+ ## 3.10.0 - 2018-02-21
192
+ * [#627](https://github.com/stripe/stripe-ruby/pull/627) Add support for topups
193
+
194
+ ## 3.9.2 - 2018-02-12
195
+ * [#625](https://github.com/stripe/stripe-ruby/pull/625) Skip calling `to_hash` for `nil`
196
+
197
+ ## 3.9.1 - 2017-12-15
198
+ * [#616](https://github.com/stripe/stripe-ruby/pull/616) Support all file-like objects for uploads with duck typed checks on `path` and `read` (we previously whitelisted only certain classes)
199
+
200
+ ## 3.9.0 - 2017-12-08
201
+ * [#613](https://github.com/stripe/stripe-ruby/pull/613) Introduce new `IdempotencyError` type for idempotency-specific failures
202
+
203
+ ## 3.8.2 - 2017-12-07
204
+ * [#612](https://github.com/stripe/stripe-ruby/pull/612) Fix integer-indexed array encoding when sent as query parameter (subscription items can now be used when fetching an upcoming invoice)
205
+
206
+ ## 3.8.1 - 2017-12-06
207
+ * [#611](https://github.com/stripe/stripe-ruby/pull/611) Support `Tempfile` (as well as `File`) in file uploads
208
+
209
+ ## 3.8.0 - 2017-10-31
210
+ * [#606](https://github.com/stripe/stripe-ruby/pull/606) Support for exchange rates APIs
211
+
212
+ ## 3.7.0 - 2017-10-26
213
+ * [#603](https://github.com/stripe/stripe-ruby/pull/603) Support for listing source transactions
214
+
215
+ ## 3.6.0 - 2017-10-17
216
+ * [#597](https://github.com/stripe/stripe-ruby/pull/597) Add static methods to manipulate resources from parent
217
+ * `Account` gains methods for external accounts and login links (e.g. `.create_account`, `create_login_link`)
218
+ * `ApplicationFee` gains methods for refunds
219
+ * `Customer` gains methods for sources
220
+ * `Transfer` gains methods for reversals
221
+
222
+ ## 3.5.3 - 2017-10-16
223
+ * [#594](https://github.com/stripe/stripe-ruby/pull/594) Make sure that `StripeObject`'s `#deep_copy` maintains original class
224
+ * [#595](https://github.com/stripe/stripe-ruby/pull/595) Allow `Object#method` to be called on `StripeObject` even if it conflicts with an accessor
225
+ * [#596](https://github.com/stripe/stripe-ruby/pull/596) Encode arrays as integer-indexed hashes where appropriate
226
+ * [#598](https://github.com/stripe/stripe-ruby/pull/598) Don't persist `idempotency_key` opt between requests
227
+
228
+ ## 3.5.2 - 2017-10-13
229
+ * [#592](https://github.com/stripe/stripe-ruby/pull/592) Bring back `Marshal.dump/load` support with custom marshal encoder/decoder
230
+
231
+ ## 3.5.1 - 2017-10-12
232
+ * [#591](https://github.com/stripe/stripe-ruby/pull/591) Use thread-local `StripeClient` instances for thread safety
233
+
234
+ ## 3.5.0 - 2017-10-11
235
+ * [#589](https://github.com/stripe/stripe-ruby/pull/589) Rename source `delete` to `detach` (and deprecate the former)
236
+
237
+ ## 3.4.1 - 2017-10-05
238
+ * [#586](https://github.com/stripe/stripe-ruby/pull/586) Log query strings as well as form bodies with STRIPE_LOG
239
+ * [#588](https://github.com/stripe/stripe-ruby/pull/588) Require minimum Faraday 0.10 for bug fix in parameter encoding
240
+
241
+ ## 3.4.0 - 2017-09-20
242
+ * Mark legacy Bitcoin API as deprecated, and remove corresponding tests
243
+ * Mark recipients API as deprecated, and remove recipient card tests
244
+
245
+ ## 3.3.2 - 2017-09-20
246
+ * Correct minimum required Ruby version in gemspec (it's 2.0.0)
247
+
248
+ ## 3.3.1 - 2017-08-18
249
+ * Only parse webhook payload after verification to decrease likelihood of
250
+ attack
251
+
252
+ ## 3.3.0 - 2017-08-11
253
+ * Add support for standard library logger interface with `Stripe.logger`
254
+ * Error logs now go to stderr if using `Stripe.log_level`/`STRIPE_LOG`
255
+ * `Stripe.log_level`/`STRIPE_LOG` now support `Stipe::LEVEL_ERROR`
256
+
257
+ ## 3.2.0 - 2017-08-03
258
+ * Add logging for request retry account and `Stripe-Account` header
259
+
260
+ ## 3.1.0 - 2017-08-03
261
+ * Implement request logging with `Stripe.log_level` and `STRIPE_LOG`
262
+
263
+ ## 3.0.3 - 2017-07-28
264
+ * Revert `nil` to empty string coercion from 3.0.2
265
+ * Handle `invalid_client` OAuth error code
266
+ * Improve safety of error handling logic safer for unrecognized OAuth error codes
267
+
268
+ ## 3.0.2 - 2017-07-12
269
+ **Important:** This version is non-functional and has been yanked in favor of 3.0.3.
270
+ * Convert `nil` to empty string when serializing parameters (instead of opaquely dropping it) -- NOTE: this change has since been reverted
271
+
272
+ ## 3.0.1 - 2017-07-11
273
+ * Properties set with an API resource will now serialize that resource's ID if possible
274
+ * API resources will throw an ArgumentError on save if a property has been with an API resource that cannot be serialized
275
+
276
+ ## 3.0.0 - 2017-06-27
277
+ * `#pay` on invoice now takes params as well as opts
278
+
279
+ ## 2.12.0 - 2017-06-20
280
+ * Add support for ephemeral keys
281
+
282
+ ## 2.11.0 - 2017-05-26
283
+ * Warn when keys that look like opts are included as parameters
284
+
285
+ ## 2.10.0 - 2017-05-25
286
+ * Add support for account login links
287
+
288
+ ## 2.9.0 - 2017-05-18
289
+ * Support for OAuth operations in `Stripe::OAuth`
290
+
291
+ ## 2.8.0 - 2017-04-28
292
+ * Support for checking webhook signatures
293
+
294
+ ## 2.7.0 - 2017-04-26
295
+ * Add model `InvoiceLineItem`
296
+
297
+ ## 2.6.0 - 2017-04-26
298
+ * Add `OBJECT_NAME` constants to all API resources
299
+
300
+ ## 2.5.0 - 2017-04-24
301
+ * Make `opts` argument in `Util.convert_to_stripe_object` optional
302
+
303
+ ## 2.4.0 - 2017-04-18
304
+ * Add `Stripe.set_app_info` for use by plugin creators
305
+
306
+ ## 2.3.0 - 2017-04-14
307
+ * Add question mark accessor when assigning boolean value to undefined field
308
+
309
+ ## 2.2.1 - 2017-04-07
310
+ * Declare minimum required Faraday as 0.9
311
+
312
+ ## 2.2.0 - 2017-04-06
313
+ * Add support for payouts and recipient transfers
314
+
315
+ ## 2.1.0 - 2017-03-17
316
+ * Support for detaching sources from customers
317
+
318
+ ## 2.0.3 - 2017-03-16
319
+ * Fix marshalling of `StripeObjects` that have an embedded client
320
+
321
+ ## 2.0.2 - 2017-03-16
322
+ * Fix bad field reference when recovering from a JSON parsing problem
323
+
324
+ ## 2.0.1 - 2017-02-22
325
+ * Fix multipart parameter encoding to repair broken file uploads
326
+
327
+ ## 2.0.0 - 2017-02-14
328
+ * Drop support for Ruby 1.9
329
+ * Allow HTTP client that makes Stripe calls to be configured via Faraday
330
+ * Drop RestClient
331
+ * Switch to OpenAPI 2.0 spec and generated fixtures in test suite
332
+ * Switch to Webmock in test suite
333
+
334
+ ## 1.58.0 - 2017-01-19
335
+ * Remove erroneously added list methods for `Source` model
336
+
337
+ ## 1.57.1 - 2016-11-28
338
+ * Disallow sending protected fields along with API resource `.update`
339
+
340
+ ## 1.57.0 - 2016-11-21
341
+ * Add retrieve method for 3-D Secure resources
342
+
343
+ ## 1.56.2 - 2016-11-17
344
+ * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
345
+
346
+ ## 1.56.1 - 2016-11-09
347
+ * Fix (fairly serious) memory like in `StripeObject`
348
+
349
+ ## 1.56.0 - 2016-10-24
350
+ * Add accessors for new fields added in `#update_attributes`
351
+ * Handle multi-plan subscriptions through new subscription items
352
+ * Handle 403 status codes from the API
353
+
354
+ ## 1.55.1 - 2016-10-24
355
+ Identical to 1.56.0 above. I incorrectly cut a patch-level release.
356
+
357
+ ## 1.55.0 - 2016-09-15
358
+ * Add support for Apple Pay domains
359
+
360
+ ## 1.54.0 - 2016-09-01
361
+ * Whitelist errors that should be retried; scope to known socket and HTTP errors
362
+
363
+ ## 1.53.0 - 2016-08-31
364
+ * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
365
+
366
+ ## 1.52.0 - 2016-08-30
367
+ * Make sure `Subscription`'s `source` is saved with its parent
368
+
369
+ ## 1.51.1 - 2016-08-30
370
+ * Make sure `Account`'s `external_account` is saved with its parent
371
+
372
+ ## 1.51.0 - 2016-08-26
373
+ * Error when an array of maps is detected that cannot be accurately encoded
374
+ * Start using strings for header names instead of symbols for better clarity
375
+
376
+ ## 1.50.1 - 2016-08-25
377
+ * Fix encoding of arrays of maps where maps unequal sets of keys
378
+
379
+ ## 1.50.0 - 2016-08-15
380
+ * Allow sources to be created
381
+
382
+ ## 1.49.0 - 2016-07-28
383
+ * Add top-level `Source` model
384
+
385
+ ## 1.48.0 - 2016-07-12
386
+ * Add `ThreeDSecure` model for 3-D secure payments
387
+
388
+ ## 1.47.0 - 2016-07-11
389
+ * Allow rest-client version 2.0+ to be used with the gem
390
+
391
+ ## 1.46.0 - 2016-07-07
392
+ * Allow retry when a 409 conflict is encountered
393
+
394
+ ## 1.45.0 - 2016-07-07
395
+ * Do not send subresources when updating except when explicitly told to do so (see #433)
396
+
397
+ ## 1.44.0 - 2016-06-29
398
+ * Add `update` class method to all resources that can be updated
399
+
400
+ ## 1.43.1 - 2016-06-17
401
+ * Fix type of resource returned from `Order#return_order`
402
+
403
+ ## 1.43.0 - 2016-05-20
404
+ * Allow Relay orders to be returned and add associated types
405
+ * Support Alipay account retrieval and deletion
406
+
407
+ ## 1.42.0 - 2016-05-04
408
+ * Add support for the new /v1/subscriptions endpoint (retrieve, list, create, update, and delete)
409
+
410
+ ## 1.41.0 - 2016-04-13
411
+ * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
412
+
413
+ ## 1.40.0 - 2016-04-06
414
+ * Fix bug that omitted subresources from serialization
415
+
416
+ ## 1.39.0 - 2016-03-31
417
+ * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
418
+
419
+ ## 1.38.0 - 2016-03-18
420
+ * Allow `opts` to be passed to an API resource's `#save` method
421
+
422
+ ## 1.37.0 - 2016-03-14
423
+ * Add `Account#reject` to support the new API feature
424
+
425
+ ## 1.36.2 - 2016-03-14
426
+ * Fix reference to non-existent `#url` in `ListObject`
427
+
428
+ ## 1.36.1 - 2016-03-04
429
+ * Fix serialization when subhash given to `#save` or `#update_attributes`
430
+
431
+ ## 1.36.0 - 2016-02-08
432
+ * Add `CountrySpec` model for looking up country payment information
433
+
434
+ ## 1.35.1 - 2016-02-03
435
+ * Add compatibility layer for old API versions on `Charge#refund`
436
+
437
+ ## 1.35.0 - 2016-02-01
438
+ * Allow CA cert bundle location to be configured
439
+ * Updated bundled CA certs
440
+
441
+ ## 1.34.0 - 2016-01-25
442
+ * Add support for deleting products and SKUs
443
+
444
+ ## 1.33.1 - 2016-01-21
445
+ * Pass through arguments of `Charge#refund`
446
+
447
+ ## 1.33.0 - 2016-01-19
448
+ * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
449
+
450
+ ## 1.32.1 - 2016-01-07
451
+ * Fix bug where ivar left uninitialized in StripeObject could error on serialization
452
+ * Fix bug where a nil customer from API could error Bitcoin model on refresh
453
+
454
+ ## 1.32.0 - 2016-01-05
455
+ * Add configuration to optionally retry network failures
456
+ * Use modern API endpoint for producing application fee refunds
457
+
458
+ ## 1.31.0 - 2015-10-29
459
+ * Add BankAccount#verify convenience method
460
+
461
+ ## 1.30.3 - 2015-10-28
462
+ * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
463
+
464
+ ## 1.30.2 - 2015-10-12
465
+ * Fix bug where `opts` didn't properly propagate to descendant `StripeObjects`
466
+
467
+ ## 1.30.1 - 2015-10-10
468
+ * Fix bug that prevent lists of hashes from being URI-encoded properly
469
+ * Fix bug where filter conditions were not making it past the first instantiated `ListObject`
470
+
471
+ ## 1.30.0 - 2015-10-09
472
+ * Add `StripeObject#deleted?` for a reliable way to check whether an object is alive
473
+ * Deprecate `StripeObject#refresh_from`
474
+ * New parameter encoding scheme that doesn't use `URI.escape`
475
+
476
+ ## 1.29.1 - 2015-10-06
477
+ * Fix bug where ampersands were not being properly encoded
478
+
479
+ ## 1.29.0 - 2015-10-05
480
+ * Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page`
481
+
482
+ ## 1.28.1 - 2015-10-05
483
+ * Fix URI being referenced by file upload resources
484
+
485
+ ## 1.28.0 - 2015-10-05
486
+ * Make StripeObject's #save "upsert"-like; creates an object if new
487
+ * Add #update_attributes to StripeObject for safe mass assignment
488
+ * Properly mass assign attributes on calls to #save
489
+ * Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid)
490
+ * Fix a bug that broke the API for StripeObject initialization
491
+ * Remove use of deprecated URI.escape
492
+
493
+ ## 1.27.2 - 2015-09-25
494
+ * Correct the URLs used to fetch Bitcoin transactions.
495
+
496
+ ## 1.27.1 - 2015-09-20
497
+ * Use hash rockets for backwards compatibility.
498
+
499
+ ## 1.27.0 - 2015-09-14
500
+ * Add Orders, Products, and SKUs for Relay
501
+
502
+ ## 1.26.0 - 2015-09-11
503
+ * Add support for 429 Rate Limited response
504
+
505
+ ## 1.25.0 - 2015-08-17
506
+ * Added support for refund listing and retrieval without an associated charge
507
+
508
+ ## 1.24.0 - 2015-08-03
509
+ * Added support for deleting managed accounts
510
+ * Added support for dispute listing and retrieval
511
+ * Bugfix: token objects now are the correct class
512
+
513
+ ## 1.23.0 - 2015-07-06
514
+ * Added request IDs and HTTP headers to errors
515
+
516
+ ## 1.22.0 - 2015-06-10
517
+ * Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param)
518
+
519
+ ## 1.21.0 - 2015-04-14
520
+ * Remove TLS cert revocation check (all pre-heartbleed certs have expired)
521
+ * Bugfix: don't unset keys when they don't exist on StripeObject
522
+
523
+ ## 1.20.4 - 2015-03-26
524
+ * Raise an error when explicitly passing nil as the API key on resource methods
525
+ * Fix error when passing an API key to Balance.retrieve (github issue #232)
526
+
527
+ ## 1.20.3 - 2015-03-13
528
+ * Fixed error when updating certain resources (github issue #224)
529
+
530
+ ## 1.20.2 - 2015-03-10
531
+ * Added support for updating nested hashes besides `metadata` (which was already supported)
532
+ * Fixed bug in balance retrieval
533
+
534
+ ## 1.20.1 - 2015-02-26
535
+ * Updated Card to point to customer sources endpoint when customer property is set
536
+
537
+ ## 1.20.0 - 2015-02-19
538
+ * Added Update & Delete operations to Bitcoin Receivers
539
+
540
+ ## 1.19.1 - 2015-02-18
541
+ * Fixed fetching upcoming invoice/paying invoice methods
542
+
543
+ ## 1.19.0 - 2015-02-15
544
+ * Support for new Transfers /reversals endpoint
545
+ * Account retrieval now optionally accepts an account ID
546
+ * Better support for passing custom headers, like Stripe-Account, through requests
547
+
548
+ ## 1.18.0 - 2015-01-21
549
+ * 1 major enhancement:
550
+ * Added support for making bitcoin charges through BitcoinReceiver source object
551
+
552
+ ## 1.17.3 - 2015-01-12
553
+ * 1 bugfix:
554
+ * Fixed API key propagation for ApplicationFee#refund
555
+
556
+ ## 1.17.2 - 2015-01-08
557
+ * 1 bugfix:
558
+ * Fixed API key propagation for child resources
559
+
560
+ ## 1.17.1 - 2015-01-07
561
+ * 2 minor enhacements:
562
+ * Fixed dependencies for Ruby versions less than 1.9.3
563
+ * Added deauthorize method to Account object
564
+
565
+ ## 1.17.0 - 2014-12-15
566
+ * 1 major enhacement:
567
+ * File uploads resource was added (for uploading pdf or image documents for disputes)
568
+
569
+ ## 1.16.1 - 2014-12-19
570
+ * 2 minor enhancements:
571
+ * Ability to send idempotent requests
572
+ * Ability to specify stripe account as a header
573
+
574
+ ## 1.16.0 - 2014-10-08
575
+ * 1 minor enhacement:
576
+ * Coupons now support update operations - useful for manipulating metadata
577
+
578
+ ## 1.15.0 - 2014-07-26
579
+ * 1 major enhacement:
580
+ * Application Fee refunds now a list instead of array
581
+
582
+ ## 1.14.0 - 2014-06-17
583
+ * 1 major enhancement:
584
+ * Add metadata for refunds and disputes
585
+
586
+ ## 1.13.0 - 2014-05-28
587
+ * 1 major enhancement:
588
+ * Support for canceling transfers
589
+
590
+ ## 1.12.0 - 2014-05-21
591
+ * 1 major enhancement:
592
+ * Support for cards for recipients
593
+
594
+ ## 1.11.0 - 2014-04-09
595
+ * 2 minor enhancements:
596
+ * Update included ca bundles
597
+ * Implement certificate blacklisting
598
+
599
+ ## 1.10.2 - 2014-02-18
600
+ * 1 minor enhancement:
601
+ * Add create_subscription on Customer resources, so you can create
602
+ subscriptions without needing to retrieve the customer first (github
603
+ issue #120)
604
+
605
+ ## 1.10.1 - 2014-02-03
606
+ * 1 bugfix:
607
+ * Fix marshaling of StripeObjects
608
+
609
+ ## 1.10.0 - 2014-01-29
610
+ * 2 major enhancements
611
+ * Support for multiple subscriptions per customer
612
+ * Testing ruby 2.1.0
613
+
614
+ * 2 minor enhancements
615
+ * Replace multi_json with json
616
+ * Allow #save to take opts (for :expand)
617
+
618
+ * 1 bugfix
619
+ * Fix #try and #respond_to? on StripeObjects
620
+
621
+ ## 1.9.9 - 2013-12-02
622
+ * 1 major enhancement
623
+ * Add ApplicationFee resource
624
+
625
+ ## 1.8.9 - 2013-11-14
626
+ * 2 bugfixes:
627
+ * Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users
628
+ * Fix api_resource_test to not use returns as a way of testing rescue behavior
629
+
630
+ ## 1.8.8 - 2013-10-3
631
+ * 1 major enhancement
632
+ * Add support for metadata on resources
633
+
634
+ ## 1.8.7 - 2013-08-18
635
+ * 1 minor enhancement
636
+ * Add support for closing disputes.
637
+
638
+ ## 1.8.6 - 2013-08-13
639
+ * 1 major enhancement
640
+ * Add Balance and BalanceTransaction resources
641
+
642
+ ## 1.8.5 - 2013-08-12
643
+ * 1 major enhancement
644
+ * Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error.
645
+ * Attempting to set an object's id is now an error
646
+
647
+ ## 1.8.4 - 2013-07-11
648
+ * 1 major enhancement
649
+ * Add support for new cards API (Stripe API version - 2013-07-05)
650
+
651
+ ## 1.8.3 - 2013-05-06
652
+ * 1 bugfix:
653
+ * Fix handling of per-call API keys (github issue #67)
654
+
655
+ ## 1.8.2 - 2013-05-01
656
+ * 3 minor enhancements:
657
+ * Use to_sym instead of type checking for minor performance improvement (github issue #59)
658
+ * Handle low-memory situations without throwing an exception (github issue #61)
659
+ * Add an Customer#upcoming_invoice convenience method (github issue #65)
660
+
661
+ * 1 bugfix:
662
+ * Allow updating resources without first retrieving them (github issue #60)
663
+
664
+ ## 1.8.1 - 2013-04-19
665
+ * 1 minor enhancement:
666
+ * Add support for specifying an API key when retrieving an upcoming invoice
667
+
668
+ ## 1.8.0 - 2013-04-11
669
+ * 1 major enhancement:
670
+ * Add new Recipient resource
671
+ * Allow Transfers to be createable
672
+
673
+ ## 1.7.11 - 2013-02-21
674
+ * 1 minor enhancement
675
+ * Add 'id' to the list of permanent attributes
676
+
677
+ ## 1.7.10 - 2013-02-01
678
+ * 1 major enhancement
679
+ * Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well
680
+
681
+ ## 1.7.9 - 2013-01-15
682
+ * 1 major enhancement
683
+ * Add support for setting a Stripe API version override.
684
+
685
+ ## 1.7.8 - 2012-11-21
686
+ * 1 bugfix
687
+ * Relax the version constraint on multi_json (github issue #44)
688
+
689
+ ## 1.7.7 - 2012-11-07
690
+ * 1 minor enhancement:
691
+ * Add support for updating charge disputes
692
+
693
+ * 1 bugfix
694
+ * Fix Account API resource bug
695
+
696
+ ## 1.7.6 - 2012-10-30
697
+ * 1 major enhancement
698
+ * Add support for creating invoices
699
+
700
+ ## 1.7.5 - 2012-10-25
701
+ * 1 major enhancement
702
+ * Add support for new API lists
703
+
704
+ ## 1.7.4 - 2012-10-08
705
+ * 1 bugfix
706
+ * Fix bug introduced in 1.7.3 calling API methods that take no
707
+ arguments, like Stripe::Invoice#pay (github issue #42)
708
+
709
+ ## 1.7.3 - 2012-09-14
710
+ * 2 bugfixes
711
+ * Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code.
712
+ * URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38)
713
+
714
+ ## 1.7.2 - 2012-08-31
715
+ * 1 major enhancement
716
+ * Add support for new pay and update methods for Invoice objects
717
+
718
+ ## 1.7.1 - 2012-08-15
719
+ * 1 major enhancement
720
+ * Add new Account API resource
721
+
722
+ ## 1.7.0 - 2012-05-17
723
+ * 3 major enhancements:
724
+ * Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22)
725
+ * Add new delete_discount method to Customer objects
726
+ * Add new Transfer API resource
727
+
728
+ * 2 minor enhancements:
729
+ * Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
730
+ * Numerous test suite improvements
731
+
732
+ ## 1.6.3 - 2012-03-22
733
+ * 1 bugfix:
734
+ * Encode GET query strings ourselves instead of using rest-client to work around a bug
735
+
736
+ ## 1.6.2 - 2012-02-24
737
+ * 1 bugfix:
738
+ * Correct argument handling in StripeObject#as_json
739
+
740
+ ## 1.6.1 - 2012-02-22
741
+ * 1 bugfix:
742
+ * Fix StripeObject#inspect when ActiveSupport 3.0 is loaded
743
+
744
+ ## 1.6.0 - 2012-02-01
745
+ * A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of plans, coupons, events, and tokens
746
+ * 1.6.0 also contains a new inspect/to_string implementation
747
+
748
+ ## 1.5.0 - 2011-05-09
749
+ * 1 major enhancement:
750
+ * Update for new RESTful API
751
+
752
+ ## 1.3.4 - 2011-01-07
753
+ * 1 major enhancement:
754
+ * Rename to Stripe
755
+
756
+ ## 1.2 - 2010-06-06
757
+ * 1 major enhancement:
758
+ * Support for the set_customer_subscription and delete_customer API methods
759
+
760
+ ## 1.1 - 2010-03-14
761
+ * 1 major enhancement:
762
+ * Support for recurring billing
763
+
764
+ ## 1.0 - 2010-01-05
765
+ * 1 major enhancement:
766
+ * Initial release
767
+
768
+ <!--
769
+ # vim: set tw=0:
770
+ -->