bongloy 4.21.3

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 (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
+ -->