checkout_sdk 0.3.0 → 1.0.0.beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +31 -0
  3. data/CODE_OF_CONDUCT.md +84 -0
  4. data/Gemfile +5 -2
  5. data/LICENSE.md +9 -0
  6. data/README.md +96 -110
  7. data/Rakefile +3 -1
  8. data/lib/checkout_sdk/abstract_checkout_sdk_builder.rb +28 -0
  9. data/lib/checkout_sdk/api_client.rb +135 -0
  10. data/lib/checkout_sdk/apm/apm.rb +12 -0
  11. data/lib/checkout_sdk/apm/ideal/ideal_client.rb +25 -0
  12. data/lib/checkout_sdk/apm/previous/klarna/credit_session_request.rb +30 -0
  13. data/lib/checkout_sdk/apm/previous/klarna/klarna.rb +24 -0
  14. data/lib/checkout_sdk/apm/previous/klarna/klarna_client.rb +55 -0
  15. data/lib/checkout_sdk/apm/previous/klarna/klarna_product.rb +30 -0
  16. data/lib/checkout_sdk/apm/previous/klarna/klarna_shipping_info.rb +33 -0
  17. data/lib/checkout_sdk/apm/previous/klarna/order_capture_request.rb +37 -0
  18. data/lib/checkout_sdk/apm/previous/sepa/sepa_client.rb +42 -0
  19. data/lib/checkout_sdk/authorization_type.rb +12 -0
  20. data/lib/checkout_sdk/checkout_api.rb +51 -0
  21. data/lib/checkout_sdk/checkout_configuration.rb +22 -0
  22. data/lib/checkout_sdk/checkout_oauth_sdk_builder.rb +52 -0
  23. data/lib/checkout_sdk/checkout_sdk_builder.rb +20 -0
  24. data/lib/checkout_sdk/checkout_static_keys_sdk_builder.rb +23 -0
  25. data/lib/checkout_sdk/checkout_utils.rb +15 -0
  26. data/lib/checkout_sdk/client.rb +46 -0
  27. data/lib/checkout_sdk/common/abstract_file_request.rb +11 -0
  28. data/lib/checkout_sdk/common/account_holder.rb +44 -0
  29. data/lib/checkout_sdk/common/account_holder_identification.rb +20 -0
  30. data/lib/checkout_sdk/common/account_holder_identification_type.rb +13 -0
  31. data/lib/checkout_sdk/common/account_holder_type.rb +11 -0
  32. data/lib/checkout_sdk/common/account_type.rb +11 -0
  33. data/lib/checkout_sdk/common/address.rb +26 -0
  34. data/lib/checkout_sdk/common/amount_allocations.rb +20 -0
  35. data/lib/checkout_sdk/common/bank_details.rb +17 -0
  36. data/lib/checkout_sdk/common/challenge_indicator.rb +12 -0
  37. data/lib/checkout_sdk/common/commission.rb +14 -0
  38. data/lib/checkout_sdk/common/common.rb +22 -0
  39. data/lib/checkout_sdk/common/country.rb +260 -0
  40. data/lib/checkout_sdk/common/currency.rb +168 -0
  41. data/lib/checkout_sdk/common/customer_request.rb +26 -0
  42. data/lib/checkout_sdk/common/file_purpose.rb +9 -0
  43. data/lib/checkout_sdk/common/file_request.rb +11 -0
  44. data/lib/checkout_sdk/common/instrument_type.rb +11 -0
  45. data/lib/checkout_sdk/common/payment_source_type.rb +52 -0
  46. data/lib/checkout_sdk/common/phone.rb +14 -0
  47. data/lib/checkout_sdk/common/update_customer_request.rb +14 -0
  48. data/lib/checkout_sdk/customers/customer_request.rb +26 -0
  49. data/lib/checkout_sdk/customers/customers.rb +4 -0
  50. data/lib/checkout_sdk/customers/customers_client.rb +37 -0
  51. data/lib/checkout_sdk/disputes/dispute_evidence_request.rb +60 -0
  52. data/lib/checkout_sdk/disputes/dispute_status.rb +19 -0
  53. data/lib/checkout_sdk/disputes/disputes.rb +6 -0
  54. data/lib/checkout_sdk/disputes/disputes_client.rb +55 -0
  55. data/lib/checkout_sdk/disputes/disputes_query_filter.rb +47 -0
  56. data/lib/checkout_sdk/environment.rb +59 -0
  57. data/lib/checkout_sdk/error.rb +30 -0
  58. data/lib/checkout_sdk/forex/forex.rb +4 -0
  59. data/lib/checkout_sdk/forex/forex_client.rb +21 -0
  60. data/lib/checkout_sdk/forex/quote_request.rb +23 -0
  61. data/lib/checkout_sdk/http_metadata.rb +9 -0
  62. data/lib/checkout_sdk/instruments/create/instrument_bank_account_request.rb +51 -0
  63. data/lib/checkout_sdk/instruments/create/instrument_request.rb +17 -0
  64. data/lib/checkout_sdk/instruments/create/instrument_token_request.rb +21 -0
  65. data/lib/checkout_sdk/instruments/get/bank_account_field_query.rb +14 -0
  66. data/lib/checkout_sdk/instruments/get/payment_network.rb +14 -0
  67. data/lib/checkout_sdk/instruments/instruments.rb +15 -0
  68. data/lib/checkout_sdk/instruments/instruments_client.rb +49 -0
  69. data/lib/checkout_sdk/instruments/update/update_instrument_bank_account_request.rb +51 -0
  70. data/lib/checkout_sdk/instruments/update/update_instrument_card_request.rb +27 -0
  71. data/lib/checkout_sdk/instruments/update/update_instrument_request.rb +17 -0
  72. data/lib/checkout_sdk/instruments/update/update_instrument_token_request.rb +15 -0
  73. data/lib/checkout_sdk/json_serializer.rb +54 -0
  74. data/lib/checkout_sdk/oauth_access_token.rb +27 -0
  75. data/lib/checkout_sdk/oauth_scopes.rb +41 -0
  76. data/lib/checkout_sdk/oauth_sdk_credentials.rb +112 -0
  77. data/lib/checkout_sdk/payments/airline_data.rb +17 -0
  78. data/lib/checkout_sdk/payments/authorization_request.rb +17 -0
  79. data/lib/checkout_sdk/payments/authorization_type.rb +11 -0
  80. data/lib/checkout_sdk/payments/billing_descriptor.rb +17 -0
  81. data/lib/checkout_sdk/payments/capture_request.rb +41 -0
  82. data/lib/checkout_sdk/payments/capture_type.rb +10 -0
  83. data/lib/checkout_sdk/payments/charge_bearer.rb +10 -0
  84. data/lib/checkout_sdk/payments/d_local_installments.rb +11 -0
  85. data/lib/checkout_sdk/payments/d_local_processing_settings.rb +17 -0
  86. data/lib/checkout_sdk/payments/destination/bank_account_destination.rb +42 -0
  87. data/lib/checkout_sdk/payments/destination/card_destination.rb +24 -0
  88. data/lib/checkout_sdk/payments/destination/destination.rb +19 -0
  89. data/lib/checkout_sdk/payments/destination/destination_type.rb +12 -0
  90. data/lib/checkout_sdk/payments/destination/id_destination.rb +18 -0
  91. data/lib/checkout_sdk/payments/destination/token_destination.rb +18 -0
  92. data/lib/checkout_sdk/payments/exemption.rb +17 -0
  93. data/lib/checkout_sdk/payments/flight_leg_details.rb +35 -0
  94. data/lib/checkout_sdk/payments/instruction_scheme.rb +11 -0
  95. data/lib/checkout_sdk/payments/merchant_initiated_reason.rb +12 -0
  96. data/lib/checkout_sdk/payments/network_token_type.rb +12 -0
  97. data/lib/checkout_sdk/payments/os_type.rb +10 -0
  98. data/lib/checkout_sdk/payments/passenger.rb +17 -0
  99. data/lib/checkout_sdk/payments/passenger_name.rb +11 -0
  100. data/lib/checkout_sdk/payments/payer.rb +17 -0
  101. data/lib/checkout_sdk/payments/payment_instruction.rb +32 -0
  102. data/lib/checkout_sdk/payments/payment_recipient.rb +20 -0
  103. data/lib/checkout_sdk/payments/payment_request.rb +86 -0
  104. data/lib/checkout_sdk/payments/payment_type.rb +13 -0
  105. data/lib/checkout_sdk/payments/payments.rb +82 -0
  106. data/lib/checkout_sdk/payments/payments_client.rb +86 -0
  107. data/lib/checkout_sdk/payments/payout_billing_descriptor.rb +11 -0
  108. data/lib/checkout_sdk/payments/payout_request.rb +38 -0
  109. data/lib/checkout_sdk/payments/preferred_schema.rb +11 -0
  110. data/lib/checkout_sdk/payments/processing_settings.rb +80 -0
  111. data/lib/checkout_sdk/payments/product.rb +47 -0
  112. data/lib/checkout_sdk/payments/product_type.rb +12 -0
  113. data/lib/checkout_sdk/payments/refund_request.rb +17 -0
  114. data/lib/checkout_sdk/payments/risk_request.rb +11 -0
  115. data/lib/checkout_sdk/payments/sender/corporate_sender.rb +27 -0
  116. data/lib/checkout_sdk/payments/sender/government_sender.rb +27 -0
  117. data/lib/checkout_sdk/payments/sender/individual_sender.rb +42 -0
  118. data/lib/checkout_sdk/payments/sender/instrument_sender.rb +11 -0
  119. data/lib/checkout_sdk/payments/sender/sender.rb +22 -0
  120. data/lib/checkout_sdk/payments/sender/sender_type.rb +12 -0
  121. data/lib/checkout_sdk/payments/sender/source_of_funds.rb +14 -0
  122. data/lib/checkout_sdk/payments/sender/ticket.rb +23 -0
  123. data/lib/checkout_sdk/payments/shipping_details.rb +17 -0
  124. data/lib/checkout_sdk/payments/shipping_preference.rb +11 -0
  125. data/lib/checkout_sdk/payments/source/apm/after_pay_source.rb +15 -0
  126. data/lib/checkout_sdk/payments/source/apm/alipay_plus_source.rb +47 -0
  127. data/lib/checkout_sdk/payments/source/apm/bancontact_source.rb +24 -0
  128. data/lib/checkout_sdk/payments/source/apm/benefit_source.rb +11 -0
  129. data/lib/checkout_sdk/payments/source/apm/eps_source.rb +15 -0
  130. data/lib/checkout_sdk/payments/source/apm/giropay_source.rb +27 -0
  131. data/lib/checkout_sdk/payments/source/apm/ideal_source.rb +21 -0
  132. data/lib/checkout_sdk/payments/source/apm/knet_source.rb +36 -0
  133. data/lib/checkout_sdk/payments/source/apm/mbway_source.rb +11 -0
  134. data/lib/checkout_sdk/payments/source/apm/multi_banco_source.rb +21 -0
  135. data/lib/checkout_sdk/payments/source/apm/p24_source.rb +24 -0
  136. data/lib/checkout_sdk/payments/source/apm/paypal_source.rb +11 -0
  137. data/lib/checkout_sdk/payments/source/apm/post_finance_source.rb +21 -0
  138. data/lib/checkout_sdk/payments/source/apm/qpay_source.rb +24 -0
  139. data/lib/checkout_sdk/payments/source/apm/sofort_source.rb +18 -0
  140. data/lib/checkout_sdk/payments/source/apm/stcpay_source.rb +11 -0
  141. data/lib/checkout_sdk/payments/source/apm/tamara_source.rb +15 -0
  142. data/lib/checkout_sdk/payments/source/apm/we_chat_pay_source.rb +15 -0
  143. data/lib/checkout_sdk/payments/source/bank_account_source.rb +30 -0
  144. data/lib/checkout_sdk/payments/source/card_source.rb +39 -0
  145. data/lib/checkout_sdk/payments/source/currency_account_source.rb +15 -0
  146. data/lib/checkout_sdk/payments/source/id_source.rb +21 -0
  147. data/lib/checkout_sdk/payments/source/network_token_source.rb +45 -0
  148. data/lib/checkout_sdk/payments/source/payment_request_source.rb +18 -0
  149. data/lib/checkout_sdk/payments/source/payout_request_source.rb +22 -0
  150. data/lib/checkout_sdk/payments/source/payout_source_type.rb +9 -0
  151. data/lib/checkout_sdk/payments/source/provider_token_source.rb +21 -0
  152. data/lib/checkout_sdk/payments/source/token_source.rb +24 -0
  153. data/lib/checkout_sdk/payments/terminal_type.rb +11 -0
  154. data/lib/checkout_sdk/payments/three_ds_flow_type.rb +11 -0
  155. data/lib/checkout_sdk/payments/three_ds_request.rb +56 -0
  156. data/lib/checkout_sdk/payments/user_action.rb +10 -0
  157. data/lib/checkout_sdk/payments/void_request.rb +14 -0
  158. data/lib/checkout_sdk/platform_type.rb +10 -0
  159. data/lib/checkout_sdk/previous/checkout_api.rb +29 -0
  160. data/lib/checkout_sdk/previous/checkout_previous_sdk_builder.rb +11 -0
  161. data/lib/checkout_sdk/previous/checkout_previous_static_keys_sdk_builder.rb +24 -0
  162. data/lib/checkout_sdk/previous/previous_static_keys_sdk_credentials.rb +38 -0
  163. data/lib/checkout_sdk/sdk_authorization.rb +25 -0
  164. data/lib/checkout_sdk/sdk_credentials.rb +12 -0
  165. data/lib/checkout_sdk/sessions/authentication_method.rb +14 -0
  166. data/lib/checkout_sdk/sessions/authentication_type.rb +10 -0
  167. data/lib/checkout_sdk/sessions/card_holder_account_info.rb +32 -0
  168. data/lib/checkout_sdk/sessions/category.rb +10 -0
  169. data/lib/checkout_sdk/sessions/channel/app_session.rb +36 -0
  170. data/lib/checkout_sdk/sessions/channel/browser_session.rb +42 -0
  171. data/lib/checkout_sdk/sessions/channel/channel_data.rb +19 -0
  172. data/lib/checkout_sdk/sessions/channel/channel_data_type.rb +10 -0
  173. data/lib/checkout_sdk/sessions/channel/sdk_ephemeral_public_key.rb +19 -0
  174. data/lib/checkout_sdk/sessions/channel/sdk_interface_type.rb +11 -0
  175. data/lib/checkout_sdk/sessions/channel/three_ds_method_completion.rb +11 -0
  176. data/lib/checkout_sdk/sessions/channel/uie_elements.rb +13 -0
  177. data/lib/checkout_sdk/sessions/completion/completion_info.rb +19 -0
  178. data/lib/checkout_sdk/sessions/completion/completion_info_type.rb +10 -0
  179. data/lib/checkout_sdk/sessions/completion/hosted_completion_info.rb +21 -0
  180. data/lib/checkout_sdk/sessions/completion/non_hosted_completion_info.rb +15 -0
  181. data/lib/checkout_sdk/sessions/delivery_timeframe.rb +12 -0
  182. data/lib/checkout_sdk/sessions/installment.rb +17 -0
  183. data/lib/checkout_sdk/sessions/merchant_risk_info.rb +23 -0
  184. data/lib/checkout_sdk/sessions/recurring.rb +14 -0
  185. data/lib/checkout_sdk/sessions/session_address.rb +11 -0
  186. data/lib/checkout_sdk/sessions/session_marketplace_data.rb +11 -0
  187. data/lib/checkout_sdk/sessions/session_request.rb +68 -0
  188. data/lib/checkout_sdk/sessions/session_secret_credentials.rb +28 -0
  189. data/lib/checkout_sdk/sessions/session_source_type.rb +12 -0
  190. data/lib/checkout_sdk/sessions/sessions.rb +47 -0
  191. data/lib/checkout_sdk/sessions/sessions_billing_descriptor.rb +11 -0
  192. data/lib/checkout_sdk/sessions/sessions_client.rb +64 -0
  193. data/lib/checkout_sdk/sessions/shipping_indicator.rb +9 -0
  194. data/lib/checkout_sdk/sessions/source/card_source.rb +30 -0
  195. data/lib/checkout_sdk/sessions/source/id_source.rb +15 -0
  196. data/lib/checkout_sdk/sessions/source/network_token_source.rb +27 -0
  197. data/lib/checkout_sdk/sessions/source/session_scheme.rb +14 -0
  198. data/lib/checkout_sdk/sessions/source/session_source.rb +37 -0
  199. data/lib/checkout_sdk/sessions/source/token_source.rb +18 -0
  200. data/lib/checkout_sdk/sessions/three_ds_method_completion_request.rb +11 -0
  201. data/lib/checkout_sdk/sessions/transaction_type.rb +13 -0
  202. data/lib/checkout_sdk/static_keys_builder.rb +35 -0
  203. data/lib/checkout_sdk/static_keys_sdk_credentials.rb +35 -0
  204. data/lib/checkout_sdk/tokens/apple_pay_token_data.rb +20 -0
  205. data/lib/checkout_sdk/tokens/apple_pay_token_request.rb +15 -0
  206. data/lib/checkout_sdk/tokens/card_token_request.rb +36 -0
  207. data/lib/checkout_sdk/tokens/google_pay_token_data.rb +17 -0
  208. data/lib/checkout_sdk/tokens/google_pay_token_request.rb +15 -0
  209. data/lib/checkout_sdk/tokens/token_type.rb +11 -0
  210. data/lib/checkout_sdk/tokens/tokens.rb +10 -0
  211. data/lib/checkout_sdk/tokens/tokens_client.rb +21 -0
  212. data/lib/checkout_sdk/tokens/wallet_token_request.rb +19 -0
  213. data/lib/checkout_sdk/version.rb +3 -1
  214. data/lib/checkout_sdk.rb +59 -21
  215. data/sig/checkout_sdk.rbs +4 -0
  216. metadata +254 -81
  217. data/.gitignore +0 -11
  218. data/.travis.yml +0 -7
  219. data/Gemfile.lock +0 -45
  220. data/LICENSE +0 -21
  221. data/bin/console +0 -14
  222. data/bin/setup +0 -8
  223. data/checkout_sdk.gemspec +0 -24
  224. data/documentation/.gitignore +0 -20
  225. data/documentation/docs/environment.md +0 -26
  226. data/documentation/docs/getting_started.md +0 -48
  227. data/documentation/docs/initialize.md +0 -19
  228. data/documentation/docs/install.md +0 -21
  229. data/documentation/docs/payments.md +0 -200
  230. data/documentation/docs/sources.md +0 -53
  231. data/documentation/docs/tokens.md +0 -88
  232. data/documentation/docusaurus.config.js +0 -60
  233. data/documentation/package-lock.json +0 -13511
  234. data/documentation/package.json +0 -32
  235. data/documentation/sidebars.js +0 -10
  236. data/documentation/src/css/custom.css +0 -103
  237. data/documentation/src/pages/index.js +0 -10
  238. data/documentation/src/pages/styles.module.css +0 -37
  239. data/documentation/static/img/favicon.png +0 -0
  240. data/documentation/static/img/logo.png +0 -0
  241. data/documentation/static/img/undraw_docusaurus_mountain.svg +0 -170
  242. data/documentation/static/img/undraw_docusaurus_react.svg +0 -169
  243. data/documentation/static/img/undraw_docusaurus_tree.svg +0 -1
  244. data/documentation/yarn.lock +0 -9369
  245. data/lib/checkout_sdk/api_resource.rb +0 -77
  246. data/lib/checkout_sdk/configuration.rb +0 -10
  247. data/lib/checkout_sdk/data/capture_payment.rb +0 -11
  248. data/lib/checkout_sdk/data/payment_request_source.rb +0 -145
  249. data/lib/checkout_sdk/data/payment_source.rb +0 -40
  250. data/lib/checkout_sdk/data/refund_payment.rb +0 -11
  251. data/lib/checkout_sdk/data/request_token.rb +0 -67
  252. data/lib/checkout_sdk/data/void_payment.rb +0 -10
  253. data/spec/checkout_sdk/api_resource_spec.rb +0 -126
  254. data/spec/checkout_sdk/data/payment_request_source_spec.rb +0 -126
  255. data/spec/checkout_sdk/data/request_token_spec.rb +0 -107
  256. data/spec/checkout_sdk_spec.rb +0 -21
  257. data/spec/spec_helper.rb +0 -32
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.3.7
7
- before_install: gem install bundler -v 1.16.5
data/Gemfile.lock DELETED
@@ -1,45 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- checkout_sdk (0.3.2)
5
- excon (>= 0.66, <= 0.88.0)
6
- multi_json (~> 1.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- coderay (1.1.3)
12
- diff-lcs (1.4.4)
13
- excon (0.88.0)
14
- method_source (0.9.2)
15
- multi_json (1.15.0)
16
- pry (0.11.3)
17
- coderay (~> 1.1.0)
18
- method_source (~> 0.9.0)
19
- rake (10.5.0)
20
- rspec (3.10.0)
21
- rspec-core (~> 3.10.0)
22
- rspec-expectations (~> 3.10.0)
23
- rspec-mocks (~> 3.10.0)
24
- rspec-core (3.10.1)
25
- rspec-support (~> 3.10.0)
26
- rspec-expectations (3.10.1)
27
- diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.10.0)
29
- rspec-mocks (3.10.2)
30
- diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.10.0)
32
- rspec-support (3.10.2)
33
-
34
- PLATFORMS
35
- ruby
36
-
37
- DEPENDENCIES
38
- bundler (~> 2.0)
39
- checkout_sdk!
40
- pry (~> 0.11.3)
41
- rake (~> 10.0)
42
- rspec (~> 3.5)
43
-
44
- BUNDLED WITH
45
- 2.2.31
data/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 Checkout.com
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "checkout_sdk"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/checkout_sdk.gemspec DELETED
@@ -1,24 +0,0 @@
1
- lib = File.expand_path("../lib", __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "checkout_sdk/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "checkout_sdk"
7
- spec.version = CheckoutSdk::VERSION
8
- spec.authors = ["Khalid Jazaerly"]
9
- spec.email = ["khalid.jaz@gmail.com"]
10
-
11
- spec.summary = %q{A Ruby API wrapper for checkout.com.}
12
- spec.description = %q{A Ruby API wrapper for checkout.com.}
13
- spec.homepage = "http://checkout.com"
14
- spec.files = `git ls-files`.split("\n")
15
- spec.require_paths = ["lib"]
16
- spec.license = "MIT"
17
-
18
- spec.add_development_dependency "bundler", "~> 2.0"
19
- spec.add_development_dependency "rake", "~> 10.0"
20
- spec.add_development_dependency "rspec", "~> 3.5"
21
- spec.add_development_dependency "pry", "~> 0.11.3"
22
- spec.add_dependency "multi_json", '~> 1.0'
23
- spec.add_dependency "excon", ">= 0.66", "<= 0.88.0"
24
- end
@@ -1,20 +0,0 @@
1
- # Dependencies
2
- /node_modules
3
-
4
- # Production
5
- /build
6
-
7
- # Generated files
8
- .docusaurus
9
- .cache-loader
10
-
11
- # Misc
12
- .DS_Store
13
- .env.local
14
- .env.development.local
15
- .env.test.local
16
- .env.production.local
17
-
18
- npm-debug.log*
19
- yarn-debug.log*
20
- yarn-error.log*
@@ -1,26 +0,0 @@
1
- ---
2
- id: environment
3
- title: Environment
4
- ---
5
-
6
- The SDK will target an environment based on the **base_url** value you provide when you initialize it:
7
-
8
- **Sandbox**: https://api.sandbox.checkout.com
9
-
10
- **Live**: https://api.checkout.com
11
-
12
- :::caution
13
-
14
- Public and secret key pairs will only work for their relevant environment. Sandbox keys begin with "pk&#95;test&#95;" or "sk&#95;test&#95;". You will receive separate Live keys for use in your production environment when going live with Checkout.com.
15
-
16
- :::
17
-
18
- ## Testing
19
-
20
- If you are testing in the Sandbox environment, Checkout.com provides a list of [test card details](https://docs.checkout.com/testing/test-card-numbers). You can also simulate a lot of edge cases like Declines, by using [special transaction values](https://docs.checkout.com/testing/response-code-testing).
21
-
22
- :::note
23
-
24
- You can also test 3D Secure with the test cards provided. If you want to test 3DS 2 flows, use the cards mentioned [here](https://docs.checkout.com/testing/3d-secure-testing).
25
-
26
- :::
@@ -1,48 +0,0 @@
1
- ---
2
- id: getting_started
3
- title: Getting Started
4
- sidebar_label: Getting Started
5
- ---
6
-
7
- The Checkout.com Ruby SDK makes it easy to interact with the Unified Payments API. You can easily accept card payments and manage these using the same integration.
8
-
9
- [![GitHub license](https://img.shields.io/github/license/checkout/checkout-sdk-ruby.svg)](https://github.com/checkout/checkout-sdk-ruby/blob/master/LICENSE) [![GitHub release](https://img.shields.io/github/release/checkout/checkout-sdk-ruby.svg)](https://GitHub.com/checkout/checkout-sdk-ruby/releases/)
10
-
11
- ## Get a test account
12
-
13
- If you are starting the integration process, and you want to start interacting with Checkout.com's API, you will need a test account, so you can get your API keys.
14
-
15
- export const RedirectButton = ({text, link}) => (
16
- <a
17
- href={link}
18
- target="\_blank"
19
- className="get-test-account">{text}</a>
20
- );
21
-
22
- <RedirectButton text="Get a test account" link="https://www.checkout.com/get-test-account" />
23
-
24
- ## Authentication
25
-
26
- export const Highlight = ({children, color}) => (
27
- <span
28
- style={{
29
- backgroundColor: color,
30
- borderRadius: '2px',
31
- color: '#fff',
32
- padding: '0.2rem',
33
- }}>
34
- {children}
35
- </span>
36
- );
37
-
38
- When you sign up for an account, you are given a secret and public API key pair. They will be used to initialise the SDK. You can find the keys by navigating to <Highlight color="#1877F2">Settings > Channels > API keys</Highlight> in Checkout.com's Hub.
39
-
40
- :::warning
41
-
42
- Never share your secret keys. Keep them guarded and secure.
43
-
44
- :::
45
-
46
- ## Payload and Responses
47
-
48
- If you want to see all the parameters that you can provide in API requests, as well as examples of possible responses, please follow the Checkout.com [API Reference](https://api-reference.checkout.com/).
@@ -1,19 +0,0 @@
1
- ---
2
- id: initialize
3
- title: Initialize
4
- ---
5
-
6
- ## Configuration
7
-
8
- API keys must be configured in the gem setup. You can do this anywhere in your application before you make API calls using the gem.
9
-
10
- ```ruby
11
- CheckoutSdk.configure do |config|
12
- config.secret_key = "your secret key"
13
- config.public_key = "your public key"
14
- config.base_url = "https://api.sandbox.checkout.com" #for sandbox
15
- end
16
-
17
- api_resource = CheckoutSdk::ApiResource.new
18
- ```
19
-
@@ -1,21 +0,0 @@
1
- ---
2
- id: install
3
- title: Install
4
- ---
5
-
6
- ## Add to your application's Gemfile
7
-
8
- ```ruby
9
- gem 'checkout_sdk'
10
- ```
11
-
12
- And then execute:
13
- ```bash
14
- $ bundle
15
- ```
16
-
17
- ## Or install yourself
18
-
19
- ```bash
20
- $ gem install checkout_sdk
21
- ```
@@ -1,200 +0,0 @@
1
- ---
2
- id: payments
3
- title: Payments
4
- ---
5
-
6
- You can find a list of request body parameters and possible outcomes [here](https://api-reference.checkout.com/#tag/Payments).
7
-
8
- export const Highlight = ({children, color}) => (
9
- <span
10
- style={{
11
- color: color,
12
- padding: '0.2rem',
13
- }}>
14
- {children}
15
- </span>
16
- );
17
-
18
- :::important
19
-
20
- #### Using boolean/falsy values
21
-
22
- "nil" or empty strings will be stripped from API calls
23
-
24
- ```ruby
25
- # ignored
26
- payment_request_source.capture = nil
27
- payment_request_source.capture = ""
28
- ```
29
-
30
- but "false" or 0 are retained and sent in the request
31
-
32
- ```ruby
33
- # sent
34
- payment_request_source.capture = false
35
- payment_request_source.capture = 0
36
- ```
37
- See [api_resource_spec](https://github.com/checkout/checkout-sdk-ruby/blob/master/spec/checkout_sdk/api_resource_spec.rb#L10-L24) for details.
38
-
39
- :::
40
-
41
- ## Request a card payment with a <Highlight color="#25c2a0">card token</Highlight>
42
-
43
- The card token is generated by front-end integration options such as [Frames](https://docs.checkout.com/docs/frames) or one of the [Mobile SDKs](https://docs.checkout.com/docs/sdks#section-mobile-sdk-libraries). Keep in mind that this token expires in 15 minutes and can only be used once.
44
-
45
- ```ruby
46
- payment_request_source = CheckoutSdk::PaymentRequestSource.new
47
- payment_request_source.type = "token"
48
- payment_request_source.token = "tok_ubfj2q76miwundwlk72vxt2i7q"
49
- payment_request_source.amount = 1000
50
- payment_request_source.currency = "GBP"
51
- payment_request_source.reference = "ORD-090857"
52
-
53
- # Send API call
54
- response = api_resource.request_payment(payment_request_source)
55
-
56
- # response parsing
57
- puts(response.data) # => {...}
58
- puts(response.body) # => "..."
59
- ```
60
-
61
- ## Request a card payment with a <Highlight color="#25c2a0">full card details</Highlight>
62
-
63
- :::warning
64
-
65
- You need to have a high level of PCI Compliance (SAQ-D) to be able to send requests with full card details. Note that unless this payment option is enabled on your account by Checkout.com, the <Highlight color="#5A522C">request will fail</Highlight>. Contact you account manager to request access for this payment interaction.
66
-
67
- :::
68
-
69
- ```ruby
70
- payment_request_source = CheckoutSdk::PaymentRequestSource.new
71
- payment_request_source.type = "card"
72
- payment_request_source.card_number = "4242424242424242"
73
- payment_request_source.card_expiry_month = 6
74
- payment_request_source.card_expiry_year = 2025
75
- payment_request_source.card_name = "Bruce Wayne"
76
- payment_request_source.card_cvv = "100"
77
- payment_request_source.amount = 1000
78
- payment_request_source.currency = "GBP"
79
-
80
- # Send API call
81
- response = api_resource.request_payment(payment_request_source)
82
-
83
- # response parsing
84
- puts(response.data) # => {...}
85
- puts(response.body) # => "..."
86
- ```
87
-
88
- ## Request a card payment with a <Highlight color="#25c2a0">an existing card</Highlight>
89
-
90
- After you perform at least one successful payment for a customer, Checkout.com will return a <Highlight color="#02b48f">source.id</Highlight>. This id does not expire, so it can be used to perform subsequent payments without needing the customer to enter the card details again.
91
-
92
- ```ruby
93
- payment_request_source = CheckoutSdk::PaymentRequestSource.new
94
- payment_request_source.type = "id"
95
- payment_request_source.token = "src_vg3tm54ndfbefotjlmgrrvbxli"
96
- payment_request_source.amount = 1000
97
- payment_request_source.currency = "GBP"
98
-
99
- # Send API call
100
- response = api_resource.request_payment(payment_request_source)
101
-
102
- # response parsing
103
- puts(response.data) # => {...}
104
- puts(response.body) # => "..."
105
- ```
106
-
107
- ## Request a <Highlight color="#25c2a0">3D Secure payment</Highlight>
108
-
109
- You have the ability to authenticate with 3DS in a payment request. The request body is similar to normal card payments, but with some additional parameters. [Read more about 3DS](https://docs.checkout.com/docs/3d-secure-payments)
110
-
111
- ```ruby
112
- payment_request_source = CheckoutSdk::PaymentRequestSource.new
113
- payment_request_source.type = "token"
114
- payment_request_source.token = "tok_ubfj2q76miwundwlk72vxt2i7q"
115
- payment_request_source.amount = 1000
116
- payment_request_source.currency = "GBP"
117
- payment_request_source.reference = "ORD-090857"
118
- payment_request_source.threeds_enabled = true
119
-
120
- # Send API call
121
- response = api_resource.request_payment(payment_request_source)
122
-
123
- # response parsing
124
- puts(response.data) # => {...}
125
- puts(response.body) # => "..."
126
- ```
127
-
128
- 3D Secure payments will return a redirection URL. Here is an example of a 3DS response:
129
-
130
- ```json
131
- {
132
- "id": "pay_hehfmlkpykeupofyxf7nbr6yyy",
133
- "status": "Pending",
134
- "customer": {
135
- "id": "cus_u4a4zosnrw7ehhzr7jipbkdzo4"
136
- },
137
- "3ds": {
138
- "downgraded": false,
139
- "enrolled": "Y"
140
- },
141
- "_links": {
142
- "self": {
143
- "href": "https://api.sandbox.checkout.com/payments/pay_hehfmlkpykeupofyxf7nbr6yyy"
144
- },
145
- "redirect": {
146
- "href": "https://sandbox.checkout.com/api2/v2/3ds/acs/sid_feixbit6us3utfedjulm6egnsu"
147
- }
148
- }
149
- }
150
- ```
151
-
152
- You can access the redirection URL via the SDK like so:
153
-
154
- ```ruby
155
- redirectURL = response.data._links.redirect.href
156
- ```
157
-
158
- ## Get payment details
159
-
160
- ```ruby
161
- details = api_resource.get_payment_details("pay_juevt3h5mcjulir2t5g3wfug6u") # or with session id sid_XXX
162
- ```
163
-
164
- ## Get payment actions
165
-
166
- ```ruby
167
- actions = api_resource.get_payment_actions("pay_juevt3h5mcjulir2t5g3wfug6u")
168
- ```
169
-
170
- ## Capture a payment
171
-
172
- ```ruby
173
- capture_payment = CheckoutSdk::CapturePayment.new
174
- capture_payment.id = "pay_y3oqhf46pyzuxjbcn2giaqnb44"
175
- capture_payment.amount = "1000"
176
- capture_payment.reference = "your reference"
177
-
178
- response = api_resource.capture_payment(capture_payment)
179
- ```
180
-
181
- ## Refund a payment
182
-
183
- ```ruby
184
- refund_payment = CheckoutSdk::RefundPayment.new
185
- refund_payment.id = "pay_y3oqhf46pyzuxjbcn2giaqnb44"
186
- refund_payment.amount = "1000"
187
- refund_payment.reference = "your reference"
188
-
189
- response = api_resource.refund_payment(refund_payment)
190
- ```
191
-
192
- ## Void a payment
193
-
194
- ```ruby
195
- void_payment = CheckoutSdk::VoidPayment.new
196
- void_payment.id = "pay_y3oqhf46pyzuxjbcn2giaqnb44"
197
- void_payment.reference = "your reference"
198
-
199
- response = api_resource.void_payment(void_payment)
200
- ```
@@ -1,53 +0,0 @@
1
- ---
2
- id: sources
3
- title: Sources
4
- ---
5
-
6
- export const Highlight = ({children, color}) => (
7
- <span
8
- style={{
9
- color: color,
10
- padding: '0.2rem',
11
- }}>
12
- {children}
13
- </span>
14
- );
15
-
16
- You can find a list of request body parameters and possible outcomes [here](https://api-reference.checkout.com/#tag/Sources).
17
-
18
- ## Add a <Highlight color="#25c2a0">SEPA source</Highlight>
19
-
20
- :::note
21
-
22
- SEPA is not enabled by default, so please let your account manager know if you want to use it.
23
-
24
- :::
25
-
26
- ```ruby
27
- payment_source = CheckoutSdk::PaymentSource.new
28
- payment_source.type = "sepa"
29
- payment_source.reference = "X-080957-N34"
30
-
31
- payment_source.customer_id = "cus_y3oqhf46pyzuxjbcn2giaqnb44"
32
- payment_source.customer_email = "jokershere@gmail.com"
33
- payment_source.customer_name = "Jack Napier"
34
-
35
- payment_source.billing_address_line1 = "Checkout.com"
36
- payment_source.billing_address_line2 = "Shepherdess Walk"
37
- payment_source.billing_city = "London"
38
- payment_source.billing_state = "London"
39
- payment_source.billing_zip = "N1 7LH"
40
- payment_source.billing_country = "GB"
41
-
42
- payment_source.phone_country_code = "+1"
43
- payment_source.phone_number = "415 555 2671"
44
-
45
- payment_source.source_data_first_name = "Marcus"
46
- payment_source.source_data_last_name = "Barrilius Maximus"
47
- payment_source.source_data_account_iban = "DE25100100101234567893"
48
- payment_source.source_data_bic = "PBNKDEFFXXX"
49
- payment_source.source_data_billing_descriptor = "Ruby SDK test"
50
- payment_source.source_data_mandate_type = "single"
51
-
52
- response = api_resource.add_payment_source(payment_source)
53
- ```
@@ -1,88 +0,0 @@
1
- ---
2
- id: tokens
3
- title: Tokens
4
- ---
5
-
6
- export const Highlight = ({children, color}) => (
7
- <span
8
- style={{
9
- color: color,
10
- padding: '0.2rem',
11
- }}>
12
- {children}
13
- </span>
14
- );
15
-
16
- You can find a list of request body parameters and possible outcomes [here](https://api-reference.checkout.com/#tag/Tokens).
17
-
18
- ## Request a token for <Highlight color="#25c2a0">Apple Pay</Highlight>
19
-
20
- ```ruby
21
- header_data = { "ephemeralPublicKey" => "XXX",
22
- "publicKeyHash" => "XXX",
23
- "transactionId" => "XXX" }
24
-
25
- token_request_source = CheckoutSdk::RequestToken.new
26
- token_request_source.type = "applepay"
27
- token_request_source.token_data_version = "EC_v1"
28
- token_request_source.token_data_data = "XXX"
29
- token_request_source.token_data_signature = "XXX"
30
- token_request_source.token_data_header = header_data
31
-
32
- # Send API call
33
- response = api_resource.request_token(token_request_source)
34
-
35
- # response parsing
36
- puts(response.data) # => {...}
37
- puts(response.body) # => "..."
38
- ```
39
-
40
- ## Request a token for <Highlight color="#25c2a0">Google Pay</Highlight>
41
-
42
- const token = await cko.tokens.request({
43
- // type:"googlepay" is inferred
44
- token_data: {
45
- protocolVersion: 'EC_v1',
46
- signature: 'XXX',
47
- signedMessage: 'XXX'
48
- }
49
- });
50
-
51
- ```ruby
52
- token_request_source = CheckoutSdk::RequestToken.new
53
- token_request_source.type = "googlepay"
54
- token_request_source.token_data_protocolVersion = "ECv1"
55
- token_request_source.token_data_signature = "XXX"
56
- token_request_source.token_data_signedMessage = "XXX"
57
-
58
- # Send API call
59
- response = api_resource.request_token(token_request_source)
60
-
61
- # response parsing
62
- puts(response.data) # => {...}
63
- puts(response.body) # => "..."
64
- ```
65
-
66
- ## Request a token for <Highlight color="#25c2a0">raw card details</Highlight>
67
-
68
- :::warning
69
-
70
- If you do not have SAQ-D level PCI Compliance, this interaction can only be done in the Sandbox environment. This is in case you want to unit test your code and need a token to make a payment. In the Production environment, you need to use an integrated solution such as **[Frames](https://docs.checkout.com/quickstart/integrate/frames)** to generate the token for you.
71
-
72
- :::
73
-
74
- ```ruby
75
- token_request_source = CheckoutSdk::RequestToken.new
76
- token_request_source.type = "card"
77
- token_request_source.card_number = "4242424242424242"
78
- token_request_source.card_expiry_month = 6
79
- token_request_source.card_expiry_year = 28
80
- token_request_source.card_cvv = "100"
81
-
82
- # Send API call
83
- response = api_resource.request_token(token_request_source)
84
-
85
- # response parsing
86
- puts(response.data) # => {...}
87
- puts(response.body) # => "..."
88
- ```
@@ -1,60 +0,0 @@
1
- module.exports = {
2
- title: "checkout-sdk-ruby",
3
- tagline: "Checkout.com SDK for Ruby",
4
- url: "https://checkout.github.io",
5
- baseUrl: "/checkout-sdk-ruby/",
6
- favicon: "img/favicon.png",
7
- organizationName: "checkout", // Usually your GitHub org/user name.
8
- projectName: "checkout-sdk-ruby", // Usually your repo name.
9
- themeConfig: {
10
- prism: {
11
- additionalLanguages: ["ruby", "bash"],
12
- },
13
- navbar: {
14
- title: "checkout-sdk-ruby",
15
- logo: {
16
- alt: "checkout-sdk-ruby",
17
- src: "img/logo.png",
18
- },
19
- items: [
20
- {
21
- to: "getting_started",
22
- activeBasePath: "docs",
23
- label: "Docs",
24
- position: "right",
25
- },
26
- {
27
- href: "https://github.com/checkout/checkout-sdk-ruby",
28
- label: "GitHub",
29
- position: "right",
30
- },
31
- ],
32
- },
33
- footer: {
34
- style: "dark",
35
- copyright: `© ${new Date().getFullYear()} Checkout.com `,
36
- },
37
- googleAnalytics: {
38
- trackingID: "UA-165971486-1",
39
- },
40
- },
41
- presets: [
42
- [
43
- "@docusaurus/preset-classic",
44
- {
45
- docs: {
46
- sidebarPath: require.resolve("./sidebars.js"),
47
- routeBasePath: "/",
48
- // editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/'
49
- },
50
- theme: {
51
- customCss: require.resolve("./src/css/custom.css"),
52
- },
53
- },
54
- ],
55
- ],
56
- plugins: [
57
- // Basic usage.
58
- // require.resolve('@docusaurus/plugin-google-analytics'),
59
- ],
60
- };