univapay-client-sdk 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -3
  3. data/lib/univapay_client_sdk/apis/base_api.rb +1 -1
  4. data/lib/univapay_client_sdk/apis/charges_api.rb +10 -7
  5. data/lib/univapay_client_sdk/apis/checkout_api.rb +58 -0
  6. data/lib/univapay_client_sdk/apis/direct_debit_api.rb +954 -0
  7. data/lib/univapay_client_sdk/apis/stores_api.rb +63 -0
  8. data/lib/univapay_client_sdk/apis/subscriptions_api.rb +139 -1
  9. data/lib/univapay_client_sdk/apis/transaction_history_api.rb +349 -0
  10. data/lib/univapay_client_sdk/apis/transaction_tokens_api.rb +205 -8
  11. data/lib/univapay_client_sdk/client.rb +36 -8
  12. data/lib/univapay_client_sdk/configuration.rb +29 -7
  13. data/lib/univapay_client_sdk/extensions.rb +62 -12
  14. data/lib/univapay_client_sdk/models/bank_transfer_transaction_token.rb +256 -0
  15. data/lib/univapay_client_sdk/models/base_online_data.rb +5 -1
  16. data/lib/univapay_client_sdk/models/base_online_data_brand.rb +78 -2
  17. data/lib/univapay_client_sdk/models/card_limit.rb +108 -0
  18. data/lib/univapay_client_sdk/models/card_transaction_token.rb +256 -0
  19. data/lib/univapay_client_sdk/models/charge_capture_request.rb +14 -9
  20. data/lib/univapay_client_sdk/models/charge_create_request.rb +6 -1
  21. data/lib/univapay_client_sdk/models/charge_create_request_three_ds.rb +94 -6
  22. data/lib/univapay_client_sdk/models/charge_create_request_three_ds_mode.rb +15 -1
  23. data/lib/univapay_client_sdk/models/checkout_bank_transfer_configuration.rb +342 -0
  24. data/lib/univapay_client_sdk/models/checkout_bank_transfer_match_amount.rb +44 -0
  25. data/lib/univapay_client_sdk/models/checkout_card_configuration.rb +296 -0
  26. data/lib/univapay_client_sdk/models/checkout_convenience_configuration.rb +98 -0
  27. data/lib/univapay_client_sdk/models/checkout_ec_configuration.rb +88 -0
  28. data/lib/univapay_client_sdk/models/checkout_ec_email_configuration.rb +75 -0
  29. data/lib/univapay_client_sdk/models/checkout_ec_products_configuration.rb +75 -0
  30. data/lib/univapay_client_sdk/models/checkout_info.rb +333 -0
  31. data/lib/univapay_client_sdk/models/checkout_installment_card_processor.rb +86 -0
  32. data/lib/univapay_client_sdk/models/checkout_installments_configuration.rb +140 -0
  33. data/lib/univapay_client_sdk/models/checkout_mode.rb +42 -0
  34. data/lib/univapay_client_sdk/models/checkout_money_amount.rb +96 -0
  35. data/lib/univapay_client_sdk/models/checkout_online_configuration.rb +75 -0
  36. data/lib/univapay_client_sdk/models/checkout_paidy_configuration.rb +75 -0
  37. data/lib/univapay_client_sdk/models/checkout_payment_type.rb +60 -0
  38. data/lib/univapay_client_sdk/models/checkout_qr_scan_configuration.rb +94 -0
  39. data/lib/univapay_client_sdk/models/checkout_recurring_token_privilege.rb +43 -0
  40. data/lib/univapay_client_sdk/models/checkout_subscription_configuration.rb +75 -0
  41. data/lib/univapay_client_sdk/models/checkout_subscription_plan_configuration.rb +137 -0
  42. data/lib/univapay_client_sdk/models/checkout_supported_brand.rb +244 -0
  43. data/lib/univapay_client_sdk/models/checkout_theme.rb +76 -0
  44. data/lib/univapay_client_sdk/models/checkout_theme_colors.rb +153 -0
  45. data/lib/univapay_client_sdk/models/create_customer_id_request.rb +75 -0
  46. data/lib/univapay_client_sdk/models/create_customer_id_response.rb +77 -0
  47. data/lib/univapay_client_sdk/models/direct_debit_bank_account.rb +237 -0
  48. data/lib/univapay_client_sdk/models/direct_debit_bank_account_create_request.rb +135 -0
  49. data/lib/univapay_client_sdk/models/direct_debit_bank_account_list.rb +94 -0
  50. data/lib/univapay_client_sdk/models/direct_debit_bank_account_status.rb +42 -0
  51. data/lib/univapay_client_sdk/models/direct_debit_bank_account_type.rb +45 -0
  52. data/lib/univapay_client_sdk/models/direct_debit_bank_account_update_request.rb +145 -0
  53. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer.rb +294 -0
  54. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_create_request.rb +73 -0
  55. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_error.rb +64 -0
  56. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_list.rb +94 -0
  57. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_lock.rb +38 -0
  58. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_patch_request.rb +74 -0
  59. data/lib/univapay_client_sdk/models/direct_debit_bank_transfer_status.rb +41 -0
  60. data/lib/univapay_client_sdk/models/direct_debit_debit_date.rb +36 -0
  61. data/lib/univapay_client_sdk/models/direct_debit_merchant_configuration.rb +128 -0
  62. data/lib/univapay_client_sdk/models/direct_debit_notification_configuration.rb +101 -0
  63. data/lib/univapay_client_sdk/models/direct_debit_registration_origin.rb +37 -0
  64. data/lib/univapay_client_sdk/models/direct_debit_schedule.rb +153 -0
  65. data/lib/univapay_client_sdk/models/enable_token_three_ds_request.rb +78 -0
  66. data/lib/univapay_client_sdk/models/expiration_time_shift.rb +87 -0
  67. data/lib/univapay_client_sdk/models/konbini_transaction_token.rb +256 -0
  68. data/lib/univapay_client_sdk/models/online_transaction_token.rb +256 -0
  69. data/lib/univapay_client_sdk/models/paidy_transaction_token.rb +256 -0
  70. data/lib/univapay_client_sdk/models/qr_merchant_transaction_token.rb +257 -0
  71. data/lib/univapay_client_sdk/models/qr_scan_transaction_token.rb +257 -0
  72. data/lib/univapay_client_sdk/models/recurring_cvv_confirmation.rb +99 -0
  73. data/lib/univapay_client_sdk/models/simulation_plan_settings_type.rb +40 -0
  74. data/lib/univapay_client_sdk/models/subscription_create_request.rb +6 -1
  75. data/lib/univapay_client_sdk/models/subscription_simulation_payment.rb +169 -0
  76. data/lib/univapay_client_sdk/models/subscription_simulation_period.rb +61 -0
  77. data/lib/univapay_client_sdk/models/subscription_simulation_plan_settings.rb +100 -0
  78. data/lib/univapay_client_sdk/models/subscription_simulation_request.rb +177 -0
  79. data/lib/univapay_client_sdk/models/subscription_update_request.rb +65 -5
  80. data/lib/univapay_client_sdk/models/subscription_update_schedule_settings.rb +23 -17
  81. data/lib/univapay_client_sdk/models/terminate_with_status.rb +37 -0
  82. data/lib/univapay_client_sdk/models/token_create_online_data.rb +5 -1
  83. data/lib/univapay_client_sdk/models/token_create_paidy_data.rb +121 -0
  84. data/lib/univapay_client_sdk/models/token_create_paidy_data_shipping_address.rb +129 -0
  85. data/lib/univapay_client_sdk/models/token_create_qr_merchant_data.rb +91 -0
  86. data/lib/univapay_client_sdk/models/token_create_qr_scan_data.rb +91 -0
  87. data/lib/univapay_client_sdk/models/token_response_online_data.rb +5 -1
  88. data/lib/univapay_client_sdk/models/token_response_paidy_data.rb +113 -0
  89. data/lib/univapay_client_sdk/models/token_response_paidy_data_shipping_address.rb +130 -0
  90. data/lib/univapay_client_sdk/models/token_response_qr_merchant_data.rb +105 -0
  91. data/lib/univapay_client_sdk/models/token_response_qr_scan_data.rb +92 -0
  92. data/lib/univapay_client_sdk/models/token_webhook_event.rb +7 -3
  93. data/lib/univapay_client_sdk/models/transaction_history_charge_type.rb +36 -0
  94. data/lib/univapay_client_sdk/models/transaction_history_item.rb +302 -0
  95. data/lib/univapay_client_sdk/models/transaction_history_list.rb +120 -0
  96. data/lib/univapay_client_sdk/models/transaction_history_mode.rb +42 -0
  97. data/lib/univapay_client_sdk/models/transaction_history_payment_type.rb +60 -0
  98. data/lib/univapay_client_sdk/models/transaction_history_refund.rb +127 -0
  99. data/lib/univapay_client_sdk/models/transaction_history_refund_reason.rb +56 -0
  100. data/lib/univapay_client_sdk/models/transaction_history_refund_status.rb +44 -0
  101. data/lib/univapay_client_sdk/models/transaction_history_service_provider.rb +96 -0
  102. data/lib/univapay_client_sdk/models/transaction_history_status.rb +57 -0
  103. data/lib/univapay_client_sdk/models/transaction_history_type.rb +36 -0
  104. data/lib/univapay_client_sdk/models/transaction_history_user_data.rb +214 -0
  105. data/lib/univapay_client_sdk/models/transaction_token_active_filter.rb +40 -0
  106. data/lib/univapay_client_sdk/models/{transaction_token.rb → transaction_token_base.rb} +31 -52
  107. data/lib/univapay_client_sdk/models/transaction_token_create_request.rb +2 -1
  108. data/lib/univapay_client_sdk/models/transaction_token_create_request_payment_type.rb +13 -1
  109. data/lib/univapay_client_sdk/models/transaction_token_list_type.rb +37 -0
  110. data/lib/univapay_client_sdk/models/transaction_token_payment_type.rb +9 -1
  111. data/lib/univapay_client_sdk/utilities/union_type_lookup.rb +70 -7
  112. data/lib/univapay_client_sdk.rb +101 -5
  113. data/test/apis/test_charges_api.rb +5 -4
  114. data/test/apis/test_checkout_api.rb +82 -0
  115. data/test/apis/test_direct_debit_api.rb +514 -0
  116. data/test/apis/test_merchants_api.rb +15 -1
  117. data/test/apis/test_stores_api.rb +42 -1
  118. data/test/apis/test_subscriptions_api.rb +144 -47
  119. data/test/apis/test_transaction_history_api.rb +180 -0
  120. data/test/apis/test_transaction_tokens_api.rb +106 -3
  121. data/test/events/webhooks/test_token_handler.rb +224 -0
  122. metadata +90 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1342c0449b6ee293db45dd5b397e5bc1ea581b98f57e4dd8b7f3790a05d191da
4
- data.tar.gz: ca0a24c38e04b189c162e280f2ec33be5f808bdd3c15cfa11a375d490be422cc
3
+ metadata.gz: 351a468b95fbc6680edd54b2a81ae7fd7ae67110cfd6ccc1461534816a8cd701
4
+ data.tar.gz: 952a7897e0a5a0b401837cefd9080850e33d1b622e652b57b24505fb25bea2e5
5
5
  SHA512:
6
- metadata.gz: 1cc3a5d944d5c0e40e84b1ae3edc4ca6aee4d8123de4d325f23e1a99295aa093caa06a71057e1784313e8028a0b959d1c89a9ded07b895446fd09b5d78910111
7
- data.tar.gz: 4446484ea04820ceee34cf5d50f758bf54a320c00ffc75cff2a90d4c1959209fc9d795d8aefd15de4d5f49e894aebfb07a521adb23273b05da10ef3d5680517f
6
+ metadata.gz: 9d2557bf0488aad54a3c6f75b58ae884162fe5643c820923f8d98bbac421ad60385b063ccab45080dd69aa9e14c803d2b46a97997dc200c10d9cf9e870cc246f
7
+ data.tar.gz: 1e984113af71cfa604ce77fbd89d5d3ab1878b963594f0a681270b6da1dad1fca6b1db12faf33261704e89e5f5118e2349ad3bd36fb25e0495426f0648ff50dc
data/README.md CHANGED
@@ -36,16 +36,16 @@ We will assume that all requests are going to originate from a backend server th
36
36
  Install the gem from the command line:
37
37
 
38
38
  ```bash
39
- gem install univapay-client-sdk -v 1.0.1
39
+ gem install univapay-client-sdk -v 1.1.0
40
40
  ```
41
41
 
42
42
  Or add the gem to your Gemfile and run `bundle`:
43
43
 
44
44
  ```ruby
45
- gem 'univapay-client-sdk', '1.0.1'
45
+ gem 'univapay-client-sdk', '1.1.0'
46
46
  ```
47
47
 
48
- For additional gem details, see the [RubyGems page for the univapay-client-sdk gem](https://rubygems.org/gems/univapay-client-sdk/versions/1.0.1).
48
+ For additional gem details, see the [RubyGems page for the univapay-client-sdk gem](https://rubygems.org/gems/univapay-client-sdk/versions/1.1.0).
49
49
 
50
50
  ## IRB Console Usage
51
51
 
@@ -99,6 +99,7 @@ The following parameters are configurable for the API Client:
99
99
  | Parameter | Type | Description |
100
100
  | --- | --- | --- |
101
101
  | base_url | `String` | Base URL for the API<br>*Default*: `'https://api.univapay.com'` |
102
+ | direct_debit_base_url | `String` | Base URL for the Direct Debit API<br>*Default*: `'https://direct-debit.gopay-services.com'` |
102
103
  | environment | [`Environment`](README.md#environments) | The API environment. <br> **Default: `Environment.PRODUCTION`** |
103
104
  | connection | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
104
105
  | adapter | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
@@ -127,6 +128,7 @@ client = Client.new(
127
128
  ),
128
129
  environment: Environment::PRODUCTION,
129
130
  base_url: 'https://api.univapay.com',
131
+ direct_debit_base_url: 'https://direct-debit.gopay-services.com',
130
132
  logging_configuration: LoggingConfiguration.new(
131
133
  log_level: Logger::INFO,
132
134
  request_logging_config: RequestLoggingConfiguration.new(
@@ -170,6 +172,8 @@ This API uses the following authentication schemes.
170
172
  ## List of APIs
171
173
 
172
174
  * [Transaction Tokens](doc/controllers/transaction-tokens.md)
175
+ * [Direct Debit](doc/controllers/direct-debit.md)
176
+ * [Transaction History](doc/controllers/transaction-history.md)
173
177
  * [Charges](doc/controllers/charges.md)
174
178
  * [Refunds](doc/controllers/refunds.md)
175
179
  * [Subscriptions](doc/controllers/subscriptions.md)
@@ -177,6 +181,7 @@ This API uses the following authentication schemes.
177
181
  * [Merchants](doc/controllers/merchants.md)
178
182
  * [Stores](doc/controllers/stores.md)
179
183
  * [Webhooks](doc/controllers/webhooks.md)
184
+ * [Checkout](doc/controllers/checkout.md)
180
185
 
181
186
  ## Webhooks
182
187
 
@@ -10,7 +10,7 @@ module UnivapayClientSdk
10
10
  attr_accessor :config, :http_call_back
11
11
 
12
12
  def self.user_agent
13
- 'Ruby-SDK/1.0.1 (OS: {os-info}, Engine: {engine}/{engine-version})'
13
+ 'Ruby-SDK/1.1.0 (OS: {os-info}, Engine: {engine}/{engine-version})'
14
14
  end
15
15
 
16
16
  def self.user_agent_parameters
@@ -427,21 +427,25 @@ module UnivapayClientSdk
427
427
 
428
428
  # Captures a previously authorized charge (where `capture` was set to false
429
429
  # during creation). The capture amount must be less than or equal to the
430
- # authorized amount, and the currency must match.
430
+ # authorized amount, and the currency must match. The request body — and
431
+ # both of its fields — is optional: if omitted entirely, the full
432
+ # outstanding authorized amount (in the originally requested currency) is
433
+ # captured.
431
434
  # @param [UUID | String] store_id Required parameter: The unique identifier
432
435
  # of the store.
433
436
  # @param [UUID | String] id Required parameter: The unique identifier of the
434
437
  # resource.
435
- # @param [ChargeCaptureRequest] body Required parameter: Request payload for
436
- # capturing an authorized charge.
437
438
  # @param [String] idempotency_key Optional parameter: An optional
438
439
  # idempotency key to prevent double charges and duplicate operations. We
439
440
  # recommend a randomly generated UUID (v4).
441
+ # @param [ChargeCaptureRequest] body Optional parameter: Optional request
442
+ # payload for capturing an authorized charge. Omit entirely to capture the
443
+ # full outstanding authorized amount.
440
444
  # @return [ApiResponse] Complete http response with raw body and status code.
441
445
  def capture_charge(store_id,
442
446
  id,
443
- body,
444
- idempotency_key: nil)
447
+ idempotency_key: nil,
448
+ body: nil)
445
449
  @api_call
446
450
  .request(new_request_builder(HttpMethodEnum::POST,
447
451
  '/stores/{storeId}/charges/{id}/capture',
@@ -453,9 +457,8 @@ module UnivapayClientSdk
453
457
  .is_required(true)
454
458
  .should_encode(true))
455
459
  .header_param(new_parameter('application/json', key: 'Content-Type'))
456
- .body_param(new_parameter(body)
457
- .is_required(true))
458
460
  .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
461
+ .body_param(new_parameter(body))
459
462
  .header_param(new_parameter('application/json', key: 'accept'))
460
463
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
461
464
  .auth(Single.new('JWT_TOKEN')))
@@ -0,0 +1,58 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # CheckoutApi
8
+ class CheckoutApi < BaseApi
9
+ # Returns the merchant's checkout configuration: enabled payment methods and
10
+ # their limits, installment/subscription plan settings, convenience-store
11
+ # and bank-transfer settings, widget theme, and per-brand feature support.
12
+ # Resolved entirely from the bearer credential — takes no parameters.
13
+ # @return [ApiResponse] Complete http response with raw body and status code.
14
+ def get_checkout_info
15
+ @api_call
16
+ .request(new_request_builder(HttpMethodEnum::GET,
17
+ '/checkout_info',
18
+ Server::DEFAULT)
19
+ .header_param(new_parameter('application/json', key: 'accept'))
20
+ .auth(Single.new('JWT_TOKEN')))
21
+ .response(new_response_handler
22
+ .deserializer(APIHelper.method(:custom_type_deserializer))
23
+ .deserialize_into(CheckoutInfo.method(:from_hash))
24
+ .is_api_response(true)
25
+ .local_error_template('401',
26
+ 'HTTP 401 Unauthorized: {$response.body#/code}',
27
+ ApiErrorException)
28
+ .local_error_template('403',
29
+ 'HTTP 403 Forbidden: {$response.body#/code}',
30
+ ApiErrorException)
31
+ .local_error_template('429',
32
+ 'HTTP 429 Rate Limited: {$response.body#/code}',
33
+ APIException)
34
+ .local_error_template('400',
35
+ 'HTTP 400 Bad Request: {$response.body#/code}',
36
+ APIException)
37
+ .local_error_template('404',
38
+ 'HTTP 404 Not Found: {$response.body#/code}',
39
+ APIException)
40
+ .local_error_template('409',
41
+ 'HTTP 409 Conflict: {$response.body#/code}',
42
+ APIException)
43
+ .local_error_template('500',
44
+ 'HTTP 500 Server Error: {$response.body#/code}',
45
+ APIException)
46
+ .local_error_template('503',
47
+ 'HTTP 503 Unavailable: {$response.body#/code}',
48
+ APIException)
49
+ .local_error_template('504',
50
+ 'HTTP 504 Timeout: {$response.body#/code}',
51
+ APIException)
52
+ .local_error_template('default',
53
+ 'HTTP {$statusCode}: {$response.body#/code}',
54
+ APIException))
55
+ .execute
56
+ end
57
+ end
58
+ end