kody-clientsdk-ruby 1.6.16 → 1.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ec4860466627d2a80a8ff0cc97908ff9a89a9eaef21002a816e00b0e421a20f
4
- data.tar.gz: aa58a62425ca75939731d86f741328c51ec9215cea10963788c510be3bf02015
3
+ metadata.gz: fd4fda4d9b020cc24002c79e807c090db30152389dfcd5e204ff248f266ef9d1
4
+ data.tar.gz: '09d92a74219a3251362cb12e337c4d1ef9acaaba0efc805ce5165875f43287b4'
5
5
  SHA512:
6
- metadata.gz: f5c5d70939c8db2e42b516eb120c310ae7d376d51c2653655728baffe73846fb30d86fba1bc1338a35593e0c19514a07b81312c4959d3057c12886551bf8e8f4
7
- data.tar.gz: 7d4fbf3c253b5050ed057d57fa10594cf2b74452890afaad6d147e5e52d4a133b3d9b8eafeb03ed67c0f74daf9eb8dfcac082ead2d181c03ea631063d372bda1
6
+ metadata.gz: d9052ac0db55e26d10192ac6bc9d2485cc3497091be832e9c3b5da0593b83149982a258dba28837265f7b82ccd20b4540ad4329d8b6c779ff2ff45f0f8ee0b4f
7
+ data.tar.gz: a13ba303ce72dae67b9b762664dab8a47528093c4631fc5698fc6faa72b7b6a0db54138e06d4baae7a63d49c3a655e2cbaa4cd983f1f181985e7ab836e464ebe
data/README.md CHANGED
@@ -1,128 +1,211 @@
1
1
  # Kody API - Ruby SDK
2
2
 
3
- This guide provides an overview of using the Kody API and its reference documentation.
3
+ This guide provides an overview of using the Kody API and its reference documentation for Ruby.
4
4
 
5
- - [Client Libraries](#client-libraries)
6
- - [Ruby Installation](#ruby-installation)
5
+ - [Installation](#installation)
7
6
  - [Authentication](#authentication)
8
- - [Documentation](#documentation)
7
+ - [Quick Start](#quick-start)
9
8
  - [Sample code](#sample-code)
10
9
 
11
- ## Client Libraries
10
+ ## Installation
12
11
 
13
- Kody provides client libraries for many popular languages to access the APIs. If your desired programming language is supported by the client libraries, we recommend that you use this option.
12
+ Add this line to your application's Gemfile:
14
13
 
15
- Available languages:
16
- - Java: https://github.com/KodyPay/kody-clientsdk-java/
17
- - Python: https://github.com/KodyPay/kody-clientsdk-python/
18
- - PHP: https://github.com/KodyPay/kody-clientsdk-php/
19
- - .Net: https://github.com/KodyPay/kody-clientsdk-dotnet/
20
- - Ruby: https://github.com/KodyPay/kody-clientsdk-ruby/
21
-
22
- The advantages of using the Kody Client library instead of a REST API are:
23
- - Maintained by Kody.
24
- - Built-in authentication and increased security.
25
- - Built-in retries.
26
- - Idiomatic for each language.
27
- - Quicker development.
28
- - Backwards compatibility with new versions.
14
+ ```ruby
15
+ gem 'kody-clientsdk-ruby'
16
+ ```
29
17
 
30
- If your coding language is not listed, please let the Kody team know and we will be able to create it for you.
18
+ And then execute:
31
19
 
32
- ## Ruby Installation
33
- ### Requirements
34
- - Ruby 2.6.10 and above
35
- - Bundler (optional), recommended way to manage dependencies
20
+ ```bash
21
+ bundle install
22
+ ```
36
23
 
37
- Install the Kody Ruby Client SDK using gem:
24
+ Or install it yourself as:
38
25
 
39
26
  ```bash
40
27
  gem install kody-clientsdk-ruby
41
28
  ```
42
29
 
43
- Or add to your Gemfile:
30
+ ### Requirements
31
+ - Ruby 2.6.10 or higher
32
+ - gRPC support
33
+
34
+ ## Authentication
35
+
36
+ The client library uses a combination of a `Store ID` and an `API key`.
37
+ These will be shared with you during the technical integration onboarding or by your Kody contact.
38
+
39
+ During development, you will have access to a **test Store** and **test API key**, and when the integration is ready for live access, the production credentials will be shared securely with you and associated with a live store that was onboarded on Kody.
40
+
41
+ The test and live API calls are always compatible, only changing credentials and the service hostname is required to enable the integration in production.
42
+
43
+ ### Host names
44
+
45
+ - Development and test: `grpc-staging.kodypay.com`
46
+ - Live: `grpc.kodypay.com`
47
+
48
+ ## Quick Start
44
49
 
45
50
  ```ruby
46
- gem 'kody-clientsdk-ruby'
51
+ require 'kody'
52
+
53
+ # Configure the Kody client
54
+ Kody.configure do |config|
55
+ config.api_key = 'your-api-key'
56
+ config.store_id = 'your-store-id'
57
+ config.staging! # Use staging environment for testing
58
+ end
59
+
60
+ # Create a client instance
61
+ client = Kody::Client.new
62
+
63
+ # Initiate a payment
64
+ begin
65
+ response = client.ecom.initiate_payment(
66
+ payment_reference: Kody::EcomClient.generate_payment_reference,
67
+ amount_minor_units: 2000, # £20.00 in pence
68
+ currency: 'GBP',
69
+ order_id: Kody::EcomClient.generate_order_id,
70
+ return_url: 'https://your-website.com/payment-return'
71
+ )
72
+
73
+ puts "Payment initiated successfully!"
74
+ puts "Payment ID: #{response.response.payment_id}"
75
+ puts "Payment URL: #{response.response.payment_url}"
76
+
77
+ rescue Kody::Error => e
78
+ puts "Error: #{e.message}"
79
+ rescue GRPC::BadStatus => e
80
+ puts "gRPC Error: #{e.message}"
81
+ end
47
82
  ```
48
83
 
49
- The library can also be downloaded from [RubyGems](https://rubygems.org/gems/kody-clientsdk-ruby).
84
+ ## Configuration Options
50
85
 
51
- ### Import in code
86
+ ### Environment Configuration
52
87
 
53
88
  ```ruby
54
- require 'kody'
89
+ # Production environment (default)
90
+ Kody.configure do |config|
91
+ config.api_key = 'your-production-api-key'
92
+ config.store_id = 'your-production-store-id'
93
+ # config.host defaults to 'grpc.kodypay.com'
94
+ end
95
+
96
+ # Staging environment
97
+ Kody.configure do |config|
98
+ config.api_key = 'your-test-api-key'
99
+ config.store_id = 'your-test-store-id'
100
+ config.staging! # Sets host to 'grpc-staging.kodypay.com'
101
+ end
55
102
 
56
- # Configure SDK
103
+ # Local development
57
104
  Kody.configure do |config|
58
- config.staging_ap! # Use Asia-Pacific staging
59
105
  config.api_key = 'your-api-key'
60
106
  config.store_id = 'your-store-id'
107
+ config.development! # Sets host to 'localhost:8080' with TLS disabled
61
108
  end
109
+ ```
62
110
 
63
- # eCommerce API
64
- ecom_stub = Com::Kodypay::Grpc::Ecom::V1::KodyEcomPaymentsService::Stub.new(
65
- Kody.configuration.endpoint,
66
- GRPC::Core::ChannelCredentials.new
67
- )
111
+ ### Environment Variables
68
112
 
69
- # Terminal API
70
- terminal_stub = Com::Kodypay::Grpc::Pay::V1::KodyPayTerminalService::Stub.new(
71
- Kody.configuration.endpoint,
72
- GRPC::Core::ChannelCredentials.new
73
- )
113
+ You can also configure using environment variables:
74
114
 
75
- # Ordering API
76
- ordering_stub = Com::Kodypay::Grpc::Ordering::V1::KodyOrderingService::Stub.new(
77
- Kody.configuration.endpoint,
78
- GRPC::Core::ChannelCredentials.new
79
- )
115
+ ```bash
116
+ export KODY_API_KEY="your-api-key"
117
+ export KODY_STORE_ID="your-store-id"
80
118
  ```
81
119
 
82
- ## Authentication
120
+ ```ruby
121
+ Kody.configure do |config|
122
+ config.api_key = ENV['KODY_API_KEY']
123
+ config.store_id = ENV['KODY_STORE_ID']
124
+ config.staging! # or production/development
125
+ end
126
+ ```
83
127
 
84
- The client library uses a combination of a `Store ID` and an `API key`.
85
- These will be shared with you during the technical integration onboarding or by your Kody contact.
128
+ ## Available Methods
86
129
 
87
- During development, you will have access to a **test Store** and **test API key**, and when the integration is ready for live access, the production credentials will be shared securely with you and associated with a live store that was onboarded on Kody.
130
+ ### E-commerce Payments
88
131
 
89
- The test and live API calls are always compatible, only changing credentials and the service hostname is required to enable the integration in production.
132
+ #### Initiate Payment
90
133
 
91
- ### Host names
134
+ ```ruby
135
+ response = client.ecom.initiate_payment(
136
+ payment_reference: 'unique-payment-ref',
137
+ amount_minor_units: 2000, # Amount in minor units (e.g., pence for GBP)
138
+ currency: 'GBP',
139
+ order_id: 'order-123',
140
+ return_url: 'https://your-site.com/payment-return',
141
+ # Optional parameters:
142
+ order_metadata: '{"item": "Product Name"}',
143
+ expiry: {
144
+ show_timer: true,
145
+ expiring_seconds: 1800 # 30 minutes
146
+ },
147
+ locale: 'en_GB',
148
+ show_order_summary: true,
149
+ show_merchant_name: true
150
+ )
151
+ ```
92
152
 
93
- Development and Test:
94
- - Default: `grpc-staging.kodypay.com`
95
- - For Asia-specific region: `grpc-staging-ap.kodypay.com`
96
- - For Europe-specific region: `grpc-staging-eu.kodypay.com`
153
+ #### Get Payments
97
154
 
98
- Live:
99
- - Default: `grpc.kodypay.com`
100
- - For Asia-specific region: `grpc-ap.kodypay.com`
101
- - For Europe-specific region: `grpc-eu.kodypay.com`
155
+ ```ruby
156
+ response = client.ecom.get_payments(
157
+ page: 1,
158
+ page_size: 10,
159
+ # Optional filter:
160
+ filter: {
161
+ order_id: 'specific-order-id' # Optional: filter by order ID
162
+ }
163
+ )
164
+
165
+ puts "Total payments: #{response.response.total}"
166
+ response.response.payments.each do |payment|
167
+ puts "Payment ID: #{payment.payment_id}"
168
+ puts "Status: #{payment.status}"
169
+ puts "Amount: #{payment.sale_data.amount_minor_units}" if payment.has_sale_data?
170
+ end
171
+ ```
102
172
 
103
- ### Endpoints Configuration
173
+ **Note:** Currently, `initiate_payment` and `get_payments` methods are implemented. Additional methods (payment details, refunds, etc.) will be added in future versions.
174
+
175
+ ## Helper Methods
176
+
177
+ The SDK provides convenient helper methods:
104
178
 
105
179
  ```ruby
106
- # Production
107
- config.production! # grpc.kodypay.com:443
108
- config.production_ap! # grpc-ap.kodypay.com:443
109
- config.production_eu! # grpc-eu.kodypay.com:443
110
-
111
- # Staging
112
- config.staging! # grpc-staging.kodypay.com:443
113
- config.staging_ap! # grpc-staging-ap.kodypay.com:443
114
- config.staging_eu! # grpc-staging-eu.kodypay.com:443
180
+ # Generate unique payment reference
181
+ payment_ref = Kody::EcomClient.generate_payment_reference
182
+ # Returns: "pay_a1b2c3d4e5f6g7h8"
183
+
184
+ # Generate unique order ID
185
+ order_id = Kody::EcomClient.generate_order_id
186
+ # Returns: "order_a1b2c3d4e5f6g7h8"
115
187
  ```
116
188
 
189
+ ## Sample code
190
+
191
+ Complete examples can be found in the `samples/` directory:
192
+
193
+ - [Initiate Payment](samples/ecom/initiate_payment.rb)
194
+ - [Get Payments](samples/ecom/get_payments.rb)
195
+
117
196
  ## Documentation
118
197
 
119
198
  For complete API documentation, examples, and integration guides, please visit:
120
199
  šŸ“š https://api-docs.kody.com
121
200
 
122
- ## Sample code
201
+ ## Development Status
202
+
203
+ This is a minimal initial version of the Ruby SDK focusing on the core payment initiation functionality. The SDK follows the same patterns as other Kody client SDKs and will be extended with additional features in future releases.
204
+
205
+ ## Contributing
206
+
207
+ Bug reports and pull requests are welcome on GitHub at https://github.com/KodyPay/kody-clientsdk-ruby.
208
+
209
+ ## License
123
210
 
124
- - Java: https://github.com/KodyPay/kody-clientsdk-java/tree/main/samples
125
- - Python: https://github.com/KodyPay/kody-clientsdk-python/tree/main/versions/3_12/samples
126
- - PHP: https://github.com/KodyPay/kody-clientsdk-php/tree/main/samples
127
- - .Net: https://github.com/KodyPay/kody-clientsdk-dotnet/tree/main/samples
128
- - Ruby: https://github.com/KodyPay/kody-clientsdk-ruby/tree/main/samples
211
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/lib/ecom_pb.rb CHANGED
@@ -7,7 +7,7 @@ require 'google/protobuf'
7
7
  require 'google/protobuf/timestamp_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n#com/kodypay/grpc/ecom/v1/ecom.proto\x12\x18\x63om.kodypay.grpc.ecom.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xde\n\n\x18PaymentInitiationRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x19\n\x11payment_reference\x18\x02 \x01(\t\x12\x1a\n\x12\x61mount_minor_units\x18\x03 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12\x10\n\x08order_id\x18\x05 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nreturn_url\x18\x07 \x01(\t\x12\x1c\n\x0fpayer_statement\x18\x08 \x01(\tH\x01\x88\x01\x01\x12 \n\x13payer_email_address\x18\t \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10payer_ip_address\x18\n \x01(\tH\x03\x88\x01\x01\x12\x19\n\x0cpayer_locale\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rtokenise_card\x18\x0c \x01(\x08H\x05\x88\x01\x01\x12V\n\x06\x65xpiry\x18\r \x01(\x0b\x32\x41.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.ExpirySettingsH\x06\x88\x01\x01\x12_\n\x0f\x63\x61pture_options\x18\x0e \x01(\x0b\x32\x41.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptionsH\x07\x88\x01\x01\x12$\n\x17is_pay_by_bank_accepted\x18\x0f \x01(\x08H\x08\x88\x01\x01\x1a>\n\x0e\x45xpirySettings\x12\x12\n\nshow_timer\x18\x01 \x01(\x08\x12\x18\n\x10\x65xpiring_seconds\x18\x02 \x01(\x04\x1a\xbc\x04\n\x0e\x43\x61ptureOptions\x12k\n\x10\x63\x61pture_settings\x18\x01 \x01(\x0b\x32Q.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptions.CaptureSettings\x12p\n\x10release_settings\x18\x02 \x01(\x0b\x32Q.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptions.ReleaseSettingsH\x00\x88\x01\x01\x1a\x99\x01\n\x0f\x43\x61ptureSettings\x12\x17\n\x0f\x64\x65layed_capture\x18\x01 \x01(\x08\x12\'\n\x1a\x61uto_capture_interval_mins\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12%\n\x1d\x61uto_capture_store_close_time\x18\x03 \x01(\x08\x42\x1d\n\x1b_auto_capture_interval_mins\x1a\x99\x01\n\x0fReleaseSettings\x12\x17\n\x0f\x64\x65layed_release\x18\x01 \x01(\x08\x12\'\n\x1a\x61uto_release_interval_mins\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12%\n\x1d\x61uto_release_store_close_time\x18\x03 \x01(\x08\x42\x1d\n\x1b_auto_release_interval_minsB\x13\n\x11_release_settingsB\x11\n\x0f_order_metadataB\x12\n\x10_payer_statementB\x16\n\x14_payer_email_addressB\x13\n\x11_payer_ip_addressB\x0f\n\r_payer_localeB\x10\n\x0e_tokenise_cardB\t\n\x07_expiryB\x12\n\x10_capture_optionsB\x1a\n\x18_is_pay_by_bank_accepted\"\xa2\x03\n\x19PaymentInitiationResponse\x12P\n\x08response\x18\x01 \x01(\x0b\x32<.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.ResponseH\x00\x12J\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x39.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.ErrorH\x00\x1a\x33\n\x08Response\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0bpayment_url\x18\x02 \x01(\t\x1a\xa7\x01\n\x05\x45rror\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x15\n\x11\x44UPLICATE_ATTEMPT\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\x42\x08\n\x06result\"r\n\x15PaymentDetailsRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x14\n\npayment_id\x18\x02 \x01(\tH\x00\x12\x1b\n\x11payment_reference\x18\x03 \x01(\tH\x00\x42\x14\n\x12payment_identifier\"p\n\x13GetCardTokenRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x14\n\npayment_id\x18\x02 \x01(\tH\x00\x12\x1b\n\x11payment_reference\x18\x03 \x01(\tH\x00\x42\x14\n\x12payment_identifier\"\xbc\x01\n\x14GetCardTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\x12\x0e\n\x06\x65xpiry\x18\x02 \x01(\t\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.CardTokenStatus\"5\n\x0f\x43\x61rdTokenStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\t\n\x05READY\x10\x02\"\xde\x0f\n\x16PaymentDetailsResponse\x12S\n\x08response\x18\x01 \x01(\x0b\x32?.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDetailsH\x00\x12G\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x36.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.ErrorH\x00\x1a\xb3\x01\n\x05\x45rror\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"N\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\x12\x15\n\x11\x44UPLICATE_ATTEMPT\x10\x03\x1a\xa9\x05\n\x0ePaymentDetails\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x1d\n\x11payment_reference\x18\x02 \x01(\tB\x02\x18\x01\x12\x14\n\x08order_id\x18\x03 \x01(\tB\x02\x18\x01\x12\x1f\n\x0eorder_metadata\x18\x04 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.com.kodypay.grpc.ecom.v1.PaymentStatus\x12\"\n\x11payment_data_json\x18\x06 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x30\n\x0c\x64\x61te_created\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\tdate_paid\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x02\x88\x01\x01\x12\x1e\n\rpsp_reference\x18\t \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x1f\n\x0epayment_method\x18\n \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12W\n\x0cpayment_data\x18\x0b \x01(\x0b\x32<.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDataH\x05\x88\x01\x01\x12Q\n\tsale_data\x18\x0c \x01(\x0b\x32\x39.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.SaleDataH\x06\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x14\n\x12_payment_data_jsonB\x0c\n\n_date_paidB\x10\n\x0e_psp_referenceB\x11\n\x0f_payment_methodB\x0f\n\r_payment_dataB\x0c\n\n_sale_data\x1a\xa1\x06\n\x0bPaymentData\x12\x15\n\rpsp_reference\x18\x01 \x01(\t\x12@\n\x0epayment_method\x18\x02 \x01(\x0e\x32(.com.kodypay.grpc.ecom.v1.PaymentMethods\x12\x1e\n\x16payment_method_variant\x18\x03 \x01(\t\x12\x63\n\x0b\x61uth_status\x18\x04 \x01(\x0e\x32N.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentAuthStatus\x12\x34\n\x10\x61uth_status_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12`\n\x0cpayment_card\x18\x06 \x01(\x0b\x32H.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentCardH\x00\x12\x64\n\x0epayment_wallet\x18\x07 \x01(\x0b\x32J.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentWalletH\x00\x1aS\n\x0bPaymentCard\x12\x1a\n\x12\x63\x61rd_last_4_digits\x18\x01 \x01(\t\x12\x11\n\tauth_code\x18\x02 \x01(\t\x12\x15\n\rpayment_token\x18\x03 \x01(\t\x1a`\n\rPaymentWallet\x12\x1f\n\x12\x63\x61rd_last_4_digits\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fpayment_link_id\x18\x02 \x01(\tB\x15\n\x13_card_last_4_digits\"e\n\x11PaymentAuthStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0e\n\nAUTHORISED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0c\n\x08\x43\x41PTURED\x10\x03\x12\x0c\n\x08RELEASED\x10\x04\x12\x0b\n\x07\x45XPIRED\x10\x05\x42\x18\n\x16payment_method_details\x1a\x95\x01\n\x08SaleData\x12\x1a\n\x12\x61mount_minor_units\x18\x01 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\x12\x10\n\x08order_id\x18\x03 \x01(\t\x12\x19\n\x11payment_reference\x18\x04 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x08\n\x06result\"\xe2\x02\n\x12GetPaymentsRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12L\n\x0bpage_cursor\x18\x02 \x01(\x0b\x32\x37.com.kodypay.grpc.ecom.v1.GetPaymentsRequest.PageCursor\x12\x43\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x33.com.kodypay.grpc.ecom.v1.GetPaymentsRequest.Filter\x1ax\n\x06\x46ilter\x12\x15\n\x08order_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x0e\x63reated_before\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x42\x0b\n\t_order_idB\x11\n\x0f_created_before\x1a-\n\nPageCursor\x12\x0c\n\x04page\x18\x01 \x01(\x03\x12\x11\n\tpage_size\x18\x02 \x01(\x03\"\xfe\x07\n\x13GetPaymentsResponse\x12J\n\x08response\x18\x01 \x01(\x0b\x32\x36.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.ResponseH\x00\x12\x44\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x33.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.ErrorH\x00\x1a\xad\x05\n\x08Response\x12p\n\x13\x64\x65precated_payments\x18\x01 \x03(\x0b\x32O.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.Response.DeprecatedPaymentDetailsB\x02\x18\x01\x12\r\n\x05total\x18\x02 \x01(\x03\x12Q\n\x08payments\x18\x03 \x03(\x0b\x32?.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDetails\x1a\xcc\x03\n\x18\x44\x65precatedPaymentDetails\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x19\n\x11payment_reference\x18\x02 \x01(\t\x12\x10\n\x08order_id\x18\x03 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.com.kodypay.grpc.ecom.v1.PaymentStatus\x12\x1e\n\x11payment_data_json\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x30\n\x0c\x64\x61te_created\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\tdate_paid\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x1a\n\rpsp_reference\x18\t \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0epayment_method\x18\n \x01(\tH\x04\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x14\n\x12_payment_data_jsonB\x0c\n\n_date_paidB\x10\n\x0e_psp_referenceB\x11\n\x0f_payment_method\x1a\x9a\x01\n\x05\x45rror\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"8\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x14\n\x10INVALID_ARGUMENT\x10\x02\x42\x08\n\x06result\"f\n\rRefundRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x14\n\npayment_id\x18\x02 \x01(\tH\x00\x12\x17\n\rpsp_reference\x18\x04 \x01(\tH\x00\x12\x0e\n\x06\x61mount\x18\x03 \x01(\tB\x04\n\x02id\"\x97\x03\n\x0eRefundResponse\x12\x45\n\x06status\x18\x01 \x01(\x0e\x32\x35.com.kodypay.grpc.ecom.v1.RefundResponse.RefundStatus\x12\x1b\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\npayment_id\x18\x03 \x01(\t\x12\x30\n\x0c\x64\x61te_created\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11total_paid_amount\x18\x05 \x01(\t\x12\x1d\n\x15total_amount_refunded\x18\x06 \x01(\t\x12\x18\n\x10remaining_amount\x18\x07 \x01(\t\x12\x1e\n\x16total_amount_requested\x18\x08 \x01(\t\x12\x1c\n\x14paymentTransactionId\x18\t \x01(\t\"6\n\x0cRefundStatus\x12\x0b\n\x07PENDING\x10\x00\x12\r\n\tREQUESTED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\x11\n\x0f_failure_reason*\xa2\x01\n\x0ePaymentMethods\x12\x08\n\x04VISA\x10\x00\x12\x0e\n\nMASTERCARD\x10\x01\x12\x08\n\x04\x41MEX\x10\x02\x12\x0f\n\x0b\x42\x41N_CONTACT\x10\x03\x12\x13\n\x0f\x43HINA_UNION_PAY\x10\x04\x12\x0b\n\x07MAESTRO\x10\x05\x12\n\n\x06\x44INERS\x10\x06\x12\x0c\n\x08\x44ISCOVER\x10\x07\x12\x07\n\x03JCB\x10\x08\x12\n\n\x06\x41LIPAY\x10\t\x12\n\n\x06WECHAT\x10\n*Q\n\rPaymentStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\x0b\n\x07\x45XPIRED\x10\x04\x32\xc2\x06\n\x17KodyEcomPaymentsService\x12z\n\x0fInitiatePayment\x12\x32.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest\x1a\x33.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse\x12\x7f\n\x15InitiatePaymentStream\x12\x32.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse0\x01\x12s\n\x0ePaymentDetails\x12/.com.kodypay.grpc.ecom.v1.PaymentDetailsRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse\x12{\n\x14PaymentDetailsStream\x12/.com.kodypay.grpc.ecom.v1.PaymentDetailsRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse0\x01\x12j\n\x0bGetPayments\x12,.com.kodypay.grpc.ecom.v1.GetPaymentsRequest\x1a-.com.kodypay.grpc.ecom.v1.GetPaymentsResponse\x12m\n\x0cGetCardToken\x12-.com.kodypay.grpc.ecom.v1.GetCardTokenRequest\x1a..com.kodypay.grpc.ecom.v1.GetCardTokenResponse\x12]\n\x06Refund\x12\'.com.kodypay.grpc.ecom.v1.RefundRequest\x1a(.com.kodypay.grpc.ecom.v1.RefundResponse0\x01\x42\x33\n\x18\x63om.kodypay.grpc.ecom.v1B\x15KodyEcomPaymentsProtoP\x01\x62\x06proto3"
10
+ descriptor_data = "\n#com/kodypay/grpc/ecom/v1/ecom.proto\x12\x18\x63om.kodypay.grpc.ecom.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe2\n\n\x18PaymentInitiationRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x19\n\x11payment_reference\x18\x02 \x01(\t\x12\x1a\n\x12\x61mount_minor_units\x18\x03 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12\x10\n\x08order_id\x18\x05 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nreturn_url\x18\x07 \x01(\t\x12\x1c\n\x0fpayer_statement\x18\x08 \x01(\tH\x01\x88\x01\x01\x12 \n\x13payer_email_address\x18\t \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10payer_ip_address\x18\n \x01(\tH\x03\x88\x01\x01\x12\x19\n\x0cpayer_locale\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1e\n\rtokenise_card\x18\x0c \x01(\x08\x42\x02\x18\x01H\x05\x88\x01\x01\x12V\n\x06\x65xpiry\x18\r \x01(\x0b\x32\x41.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.ExpirySettingsH\x06\x88\x01\x01\x12_\n\x0f\x63\x61pture_options\x18\x0e \x01(\x0b\x32\x41.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptionsH\x07\x88\x01\x01\x12$\n\x17is_pay_by_bank_accepted\x18\x0f \x01(\x08H\x08\x88\x01\x01\x1a>\n\x0e\x45xpirySettings\x12\x12\n\nshow_timer\x18\x01 \x01(\x08\x12\x18\n\x10\x65xpiring_seconds\x18\x02 \x01(\x04\x1a\xbc\x04\n\x0e\x43\x61ptureOptions\x12k\n\x10\x63\x61pture_settings\x18\x01 \x01(\x0b\x32Q.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptions.CaptureSettings\x12p\n\x10release_settings\x18\x02 \x01(\x0b\x32Q.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptions.ReleaseSettingsH\x00\x88\x01\x01\x1a\x99\x01\n\x0f\x43\x61ptureSettings\x12\x17\n\x0f\x64\x65layed_capture\x18\x01 \x01(\x08\x12\'\n\x1a\x61uto_capture_interval_mins\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12%\n\x1d\x61uto_capture_store_close_time\x18\x03 \x01(\x08\x42\x1d\n\x1b_auto_capture_interval_mins\x1a\x99\x01\n\x0fReleaseSettings\x12\x17\n\x0f\x64\x65layed_release\x18\x01 \x01(\x08\x12\'\n\x1a\x61uto_release_interval_mins\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12%\n\x1d\x61uto_release_store_close_time\x18\x03 \x01(\x08\x42\x1d\n\x1b_auto_release_interval_minsB\x13\n\x11_release_settingsB\x11\n\x0f_order_metadataB\x12\n\x10_payer_statementB\x16\n\x14_payer_email_addressB\x13\n\x11_payer_ip_addressB\x0f\n\r_payer_localeB\x10\n\x0e_tokenise_cardB\t\n\x07_expiryB\x12\n\x10_capture_optionsB\x1a\n\x18_is_pay_by_bank_accepted\"\xa2\x03\n\x19PaymentInitiationResponse\x12P\n\x08response\x18\x01 \x01(\x0b\x32<.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.ResponseH\x00\x12J\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x39.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.ErrorH\x00\x1a\x33\n\x08Response\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0bpayment_url\x18\x02 \x01(\t\x1a\xa7\x01\n\x05\x45rror\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x15\n\x11\x44UPLICATE_ATTEMPT\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\x42\x08\n\x06result\"r\n\x15PaymentDetailsRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x14\n\npayment_id\x18\x02 \x01(\tH\x00\x12\x1b\n\x11payment_reference\x18\x03 \x01(\tH\x00\x42\x14\n\x12payment_identifier\"\xe2\x0f\n\x16PaymentDetailsResponse\x12S\n\x08response\x18\x01 \x01(\x0b\x32?.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDetailsH\x00\x12G\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x36.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.ErrorH\x00\x1a\xb3\x01\n\x05\x45rror\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"N\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\x12\x15\n\x11\x44UPLICATE_ATTEMPT\x10\x03\x1a\xa9\x05\n\x0ePaymentDetails\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x1d\n\x11payment_reference\x18\x02 \x01(\tB\x02\x18\x01\x12\x14\n\x08order_id\x18\x03 \x01(\tB\x02\x18\x01\x12\x1f\n\x0eorder_metadata\x18\x04 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.com.kodypay.grpc.ecom.v1.PaymentStatus\x12\"\n\x11payment_data_json\x18\x06 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x30\n\x0c\x64\x61te_created\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\tdate_paid\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x02\x88\x01\x01\x12\x1e\n\rpsp_reference\x18\t \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x1f\n\x0epayment_method\x18\n \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12W\n\x0cpayment_data\x18\x0b \x01(\x0b\x32<.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDataH\x05\x88\x01\x01\x12Q\n\tsale_data\x18\x0c \x01(\x0b\x32\x39.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.SaleDataH\x06\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x14\n\x12_payment_data_jsonB\x0c\n\n_date_paidB\x10\n\x0e_psp_referenceB\x11\n\x0f_payment_methodB\x0f\n\r_payment_dataB\x0c\n\n_sale_data\x1a\xa5\x06\n\x0bPaymentData\x12\x15\n\rpsp_reference\x18\x01 \x01(\t\x12@\n\x0epayment_method\x18\x02 \x01(\x0e\x32(.com.kodypay.grpc.ecom.v1.PaymentMethods\x12\x1e\n\x16payment_method_variant\x18\x03 \x01(\t\x12\x63\n\x0b\x61uth_status\x18\x04 \x01(\x0e\x32N.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentAuthStatus\x12\x34\n\x10\x61uth_status_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12`\n\x0cpayment_card\x18\x06 \x01(\x0b\x32H.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentCardH\x00\x12\x64\n\x0epayment_wallet\x18\x07 \x01(\x0b\x32J.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentData.PaymentWalletH\x00\x1aW\n\x0bPaymentCard\x12\x1a\n\x12\x63\x61rd_last_4_digits\x18\x01 \x01(\t\x12\x11\n\tauth_code\x18\x02 \x01(\t\x12\x19\n\rpayment_token\x18\x03 \x01(\tB\x02\x18\x01\x1a`\n\rPaymentWallet\x12\x1f\n\x12\x63\x61rd_last_4_digits\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fpayment_link_id\x18\x02 \x01(\tB\x15\n\x13_card_last_4_digits\"e\n\x11PaymentAuthStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0e\n\nAUTHORISED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0c\n\x08\x43\x41PTURED\x10\x03\x12\x0c\n\x08RELEASED\x10\x04\x12\x0b\n\x07\x45XPIRED\x10\x05\x42\x18\n\x16payment_method_details\x1a\x95\x01\n\x08SaleData\x12\x1a\n\x12\x61mount_minor_units\x18\x01 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\x12\x10\n\x08order_id\x18\x03 \x01(\t\x12\x19\n\x11payment_reference\x18\x04 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x08\n\x06result\"\xe2\x02\n\x12GetPaymentsRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12L\n\x0bpage_cursor\x18\x02 \x01(\x0b\x32\x37.com.kodypay.grpc.ecom.v1.GetPaymentsRequest.PageCursor\x12\x43\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x33.com.kodypay.grpc.ecom.v1.GetPaymentsRequest.Filter\x1ax\n\x06\x46ilter\x12\x15\n\x08order_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x0e\x63reated_before\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x42\x0b\n\t_order_idB\x11\n\x0f_created_before\x1a-\n\nPageCursor\x12\x0c\n\x04page\x18\x01 \x01(\x03\x12\x11\n\tpage_size\x18\x02 \x01(\x03\"\xfe\x07\n\x13GetPaymentsResponse\x12J\n\x08response\x18\x01 \x01(\x0b\x32\x36.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.ResponseH\x00\x12\x44\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x33.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.ErrorH\x00\x1a\xad\x05\n\x08Response\x12p\n\x13\x64\x65precated_payments\x18\x01 \x03(\x0b\x32O.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.Response.DeprecatedPaymentDetailsB\x02\x18\x01\x12\r\n\x05total\x18\x02 \x01(\x03\x12Q\n\x08payments\x18\x03 \x03(\x0b\x32?.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.PaymentDetails\x1a\xcc\x03\n\x18\x44\x65precatedPaymentDetails\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x19\n\x11payment_reference\x18\x02 \x01(\t\x12\x10\n\x08order_id\x18\x03 \x01(\t\x12\x1b\n\x0eorder_metadata\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.com.kodypay.grpc.ecom.v1.PaymentStatus\x12\x1e\n\x11payment_data_json\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x30\n\x0c\x64\x61te_created\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\tdate_paid\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x1a\n\rpsp_reference\x18\t \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0epayment_method\x18\n \x01(\tH\x04\x88\x01\x01\x42\x11\n\x0f_order_metadataB\x14\n\x12_payment_data_jsonB\x0c\n\n_date_paidB\x10\n\x0e_psp_referenceB\x11\n\x0f_payment_method\x1a\x9a\x01\n\x05\x45rror\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.com.kodypay.grpc.ecom.v1.GetPaymentsResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"8\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x14\n\x10INVALID_ARGUMENT\x10\x02\x42\x08\n\x06result\"f\n\rRefundRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x14\n\npayment_id\x18\x02 \x01(\tH\x00\x12\x17\n\rpsp_reference\x18\x04 \x01(\tH\x00\x12\x0e\n\x06\x61mount\x18\x03 \x01(\tB\x04\n\x02id\"\x97\x03\n\x0eRefundResponse\x12\x45\n\x06status\x18\x01 \x01(\x0e\x32\x35.com.kodypay.grpc.ecom.v1.RefundResponse.RefundStatus\x12\x1b\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\npayment_id\x18\x03 \x01(\t\x12\x30\n\x0c\x64\x61te_created\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11total_paid_amount\x18\x05 \x01(\t\x12\x1d\n\x15total_amount_refunded\x18\x06 \x01(\t\x12\x18\n\x10remaining_amount\x18\x07 \x01(\t\x12\x1e\n\x16total_amount_requested\x18\x08 \x01(\t\x12\x1c\n\x14paymentTransactionId\x18\t \x01(\t\"6\n\x0cRefundStatus\x12\x0b\n\x07PENDING\x10\x00\x12\r\n\tREQUESTED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\x11\n\x0f_failure_reason\"\xe3\x03\n\x12\x43reateTokenRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x18\n\x10idempotency_uuid\x18\x02 \x01(\t\x12\x1c\n\x0ftoken_reference\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fpayer_reference\x18\x04 \x01(\t\x12\x15\n\x08metadata\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nreturn_url\x18\x06 \x01(\t\x12\x1c\n\x0fpayer_statement\x18\x07 \x01(\tH\x02\x88\x01\x01\x12 \n\x13payer_email_address\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1f\n\x12payer_phone_number\x18\t \x01(\tH\x04\x88\x01\x01\x12[\n\x1arecurring_processing_model\x18\n \x01(\x0e\x32\x32.com.kodypay.grpc.ecom.v1.RecurringProcessingModelH\x05\x88\x01\x01\x42\x12\n\x10_token_referenceB\x0b\n\t_metadataB\x12\n\x10_payer_statementB\x16\n\x14_payer_email_addressB\x15\n\x13_payer_phone_numberB\x1d\n\x1b_recurring_processing_model\"\x8d\x03\n\x13\x43reateTokenResponse\x12J\n\x08response\x18\x01 \x01(\x0b\x32\x36.com.kodypay.grpc.ecom.v1.CreateTokenResponse.ResponseH\x00\x12\x44\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x33.com.kodypay.grpc.ecom.v1.CreateTokenResponse.ErrorH\x00\x1a\x36\n\x08Response\x12\x10\n\x08token_id\x18\x01 \x01(\t\x12\x18\n\x10\x63reate_token_url\x18\x02 \x01(\t\x1a\xa1\x01\n\x05\x45rror\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.com.kodypay.grpc.ecom.v1.CreateTokenResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x15\n\x11\x44UPLICATE_ATTEMPT\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\x42\x08\n\x06result\"j\n\x13GetCardTokenRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x12\n\x08token_id\x18\x02 \x01(\tH\x00\x12\x19\n\x0ftoken_reference\x18\x03 \x01(\tH\x00\x42\x12\n\x10token_identifier\"\x9d\x07\n\x14GetCardTokenResponse\x12K\n\x08response\x18\x01 \x01(\x0b\x32\x37.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.ResponseH\x00\x12\x45\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x34.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.ErrorH\x00\x1a\xec\x03\n\x08Response\x12\x10\n\x08token_id\x18\x01 \x01(\t\x12\x1c\n\x0ftoken_reference\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x15\n\rpayment_token\x18\x03 \x01(\t\x12\x17\n\x0fpayer_reference\x18\x04 \x01(\t\x12V\n\x1arecurring_processing_model\x18\x05 \x01(\x0e\x32\x32.com.kodypay.grpc.ecom.v1.RecurringProcessingModel\x12N\n\x06status\x18\x06 \x01(\x0e\x32>.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.CardTokenStatus\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\x0epayment_method\x18\x08 \x01(\x0e\x32(.com.kodypay.grpc.ecom.v1.PaymentMethods\x12\x1e\n\x16payment_method_variant\x18\t \x01(\t\x12\x16\n\x0e\x66unding_source\x18\n \x01(\t\x12\x1a\n\x12\x63\x61rd_last_4_digits\x18\x0b \x01(\tB\x12\n\x10_token_reference\x1a\x9f\x01\n\x05\x45rror\x12G\n\x04type\x18\x01 \x01(\x0e\x32\x39.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"<\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0ePENDING_CREATE\x10\x01\x12\x13\n\x0fINVALID_REQUEST\x10\x02\"V\n\x0f\x43\x61rdTokenStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\t\n\x05READY\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x03\x12\x12\n\x0ePENDING_DELETE\x10\x04\x42\x08\n\x06result\"m\n\x16\x44\x65leteCardTokenRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x12\n\x08token_id\x18\x02 \x01(\tH\x00\x12\x19\n\x0ftoken_reference\x18\x03 \x01(\tH\x00\x42\x12\n\x10token_identifier\"\xf5\x02\n\x17\x44\x65leteCardTokenResponse\x12N\n\x08response\x18\x01 \x01(\x0b\x32:.com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.ResponseH\x00\x12H\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x37.com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.ErrorH\x00\x1a\n\n\x08Response\x1a\xa9\x01\n\x05\x45rror\x12J\n\x04type\x18\x01 \x01(\x0e\x32<.com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"C\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x13\n\x0fINVALID_REQUEST\x10\x03\x42\x08\n\x06result\"A\n\x14GetCardTokensRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x17\n\x0fpayer_reference\x18\x02 \x01(\t\"\x9b\x03\n\x15GetCardTokensResponse\x12L\n\x08response\x18\x01 \x01(\x0b\x32\x38.com.kodypay.grpc.ecom.v1.GetCardTokensResponse.ResponseH\x00\x12\x46\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x35.com.kodypay.grpc.ecom.v1.GetCardTokensResponse.ErrorH\x00\x1aS\n\x08Response\x12G\n\x06tokens\x18\x01 \x03(\x0b\x32\x37.com.kodypay.grpc.ecom.v1.GetCardTokenResponse.Response\x1a\x8c\x01\n\x05\x45rror\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.com.kodypay.grpc.ecom.v1.GetCardTokensResponse.Error.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"(\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x13\n\x0fINVALID_REQUEST\x10\x01\x42\x08\n\x06result\"\xa0\x03\n\x17PayWithCardTokenRequest\x12\x10\n\x08store_id\x18\x01 \x01(\t\x12\x18\n\x10idempotency_uuid\x18\x02 \x01(\t\x12\x15\n\rpayment_token\x18\x03 \x01(\t\x12\x1a\n\x12\x61mount_minor_units\x18\x04 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x19\n\x11payment_reference\x18\x06 \x01(\t\x12\x15\n\x08order_id\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0eorder_metadata\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fpayer_statement\x18\t \x01(\tH\x02\x88\x01\x01\x12_\n\x0f\x63\x61pture_options\x18\n \x01(\x0b\x32\x41.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest.CaptureOptionsH\x03\x88\x01\x01\x42\x0b\n\t_order_idB\x11\n\x0f_order_metadataB\x12\n\x10_payer_statementB\x12\n\x10_capture_options*\xa2\x01\n\x0ePaymentMethods\x12\x08\n\x04VISA\x10\x00\x12\x0e\n\nMASTERCARD\x10\x01\x12\x08\n\x04\x41MEX\x10\x02\x12\x0f\n\x0b\x42\x41N_CONTACT\x10\x03\x12\x13\n\x0f\x43HINA_UNION_PAY\x10\x04\x12\x0b\n\x07MAESTRO\x10\x05\x12\n\n\x06\x44INERS\x10\x06\x12\x0c\n\x08\x44ISCOVER\x10\x07\x12\x07\n\x03JCB\x10\x08\x12\n\n\x06\x41LIPAY\x10\t\x12\n\n\x06WECHAT\x10\n*Q\n\rPaymentStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\x0b\n\x07\x45XPIRED\x10\x04*s\n\x18RecurringProcessingModel\x12\x15\n\x11MODEL_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x43\x41RD_ON_FILE\x10\x01\x12\x10\n\x0cSUBSCRIPTION\x10\x02\x12\x1c\n\x18UNSCHEDULED_CARD_ON_FILE\x10\x03\x32\x92\x0b\n\x17KodyEcomPaymentsService\x12z\n\x0fInitiatePayment\x12\x32.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest\x1a\x33.com.kodypay.grpc.ecom.v1.PaymentInitiationResponse\x12\x7f\n\x15InitiatePaymentStream\x12\x32.com.kodypay.grpc.ecom.v1.PaymentInitiationRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse0\x01\x12s\n\x0ePaymentDetails\x12/.com.kodypay.grpc.ecom.v1.PaymentDetailsRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse\x12{\n\x14PaymentDetailsStream\x12/.com.kodypay.grpc.ecom.v1.PaymentDetailsRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse0\x01\x12j\n\x0bGetPayments\x12,.com.kodypay.grpc.ecom.v1.GetPaymentsRequest\x1a-.com.kodypay.grpc.ecom.v1.GetPaymentsResponse\x12]\n\x06Refund\x12\'.com.kodypay.grpc.ecom.v1.RefundRequest\x1a(.com.kodypay.grpc.ecom.v1.RefundResponse0\x01\x12n\n\x0f\x43reateCardToken\x12,.com.kodypay.grpc.ecom.v1.CreateTokenRequest\x1a-.com.kodypay.grpc.ecom.v1.CreateTokenResponse\x12m\n\x0cGetCardToken\x12-.com.kodypay.grpc.ecom.v1.GetCardTokenRequest\x1a..com.kodypay.grpc.ecom.v1.GetCardTokenResponse\x12v\n\x0f\x44\x65leteCardToken\x12\x30.com.kodypay.grpc.ecom.v1.DeleteCardTokenRequest\x1a\x31.com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse\x12p\n\rGetCardTokens\x12..com.kodypay.grpc.ecom.v1.GetCardTokensRequest\x1a/.com.kodypay.grpc.ecom.v1.GetCardTokensResponse\x12w\n\x10PayWithCardToken\x12\x31.com.kodypay.grpc.ecom.v1.PayWithCardTokenRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponse\x12{\n\x16GetTokenPaymentDetails\x12/.com.kodypay.grpc.ecom.v1.PaymentDetailsRequest\x1a\x30.com.kodypay.grpc.ecom.v1.PaymentDetailsResponseB3\n\x18\x63om.kodypay.grpc.ecom.v1B\x15KodyEcomPaymentsProtoP\x01\x62\x06proto3"
11
11
 
12
12
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
13
  pool.add_serialized_file(descriptor_data)
@@ -27,9 +27,6 @@ module Com
27
27
  PaymentInitiationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.Error").msgclass
28
28
  PaymentInitiationResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentInitiationResponse.Error.Type").enummodule
29
29
  PaymentDetailsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentDetailsRequest").msgclass
30
- GetCardTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenRequest").msgclass
31
- GetCardTokenResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse").msgclass
32
- GetCardTokenResponse::CardTokenStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse.CardTokenStatus").enummodule
33
30
  PaymentDetailsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentDetailsResponse").msgclass
34
31
  PaymentDetailsResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.Error").msgclass
35
32
  PaymentDetailsResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentDetailsResponse.Error.Type").enummodule
@@ -50,8 +47,31 @@ module Com
50
47
  RefundRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.RefundRequest").msgclass
51
48
  RefundResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.RefundResponse").msgclass
52
49
  RefundResponse::RefundStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.RefundResponse.RefundStatus").enummodule
50
+ CreateTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.CreateTokenRequest").msgclass
51
+ CreateTokenResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.CreateTokenResponse").msgclass
52
+ CreateTokenResponse::Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.CreateTokenResponse.Response").msgclass
53
+ CreateTokenResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.CreateTokenResponse.Error").msgclass
54
+ CreateTokenResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.CreateTokenResponse.Error.Type").enummodule
55
+ GetCardTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenRequest").msgclass
56
+ GetCardTokenResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse").msgclass
57
+ GetCardTokenResponse::Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse.Response").msgclass
58
+ GetCardTokenResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse.Error").msgclass
59
+ GetCardTokenResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse.Error.Type").enummodule
60
+ GetCardTokenResponse::CardTokenStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokenResponse.CardTokenStatus").enummodule
61
+ DeleteCardTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.DeleteCardTokenRequest").msgclass
62
+ DeleteCardTokenResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse").msgclass
63
+ DeleteCardTokenResponse::Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.Response").msgclass
64
+ DeleteCardTokenResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.Error").msgclass
65
+ DeleteCardTokenResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.DeleteCardTokenResponse.Error.Type").enummodule
66
+ GetCardTokensRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokensRequest").msgclass
67
+ GetCardTokensResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokensResponse").msgclass
68
+ GetCardTokensResponse::Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokensResponse.Response").msgclass
69
+ GetCardTokensResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokensResponse.Error").msgclass
70
+ GetCardTokensResponse::Error::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.GetCardTokensResponse.Error.Type").enummodule
71
+ PayWithCardTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PayWithCardTokenRequest").msgclass
53
72
  PaymentMethods = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentMethods").enummodule
54
73
  PaymentStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.PaymentStatus").enummodule
74
+ RecurringProcessingModel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.ecom.v1.RecurringProcessingModel").enummodule
55
75
  end
56
76
  end
57
77
  end
@@ -25,8 +25,13 @@ module Com
25
25
  rpc :PaymentDetails, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsRequest, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsResponse
26
26
  rpc :PaymentDetailsStream, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsRequest, stream(::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsResponse)
27
27
  rpc :GetPayments, ::Com::Kodypay::Grpc::Ecom::V1::GetPaymentsRequest, ::Com::Kodypay::Grpc::Ecom::V1::GetPaymentsResponse
28
- rpc :GetCardToken, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokenRequest, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokenResponse
29
28
  rpc :Refund, ::Com::Kodypay::Grpc::Ecom::V1::RefundRequest, stream(::Com::Kodypay::Grpc::Ecom::V1::RefundResponse)
29
+ rpc :CreateCardToken, ::Com::Kodypay::Grpc::Ecom::V1::CreateTokenRequest, ::Com::Kodypay::Grpc::Ecom::V1::CreateTokenResponse
30
+ rpc :GetCardToken, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokenRequest, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokenResponse
31
+ rpc :DeleteCardToken, ::Com::Kodypay::Grpc::Ecom::V1::DeleteCardTokenRequest, ::Com::Kodypay::Grpc::Ecom::V1::DeleteCardTokenResponse
32
+ rpc :GetCardTokens, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokensRequest, ::Com::Kodypay::Grpc::Ecom::V1::GetCardTokensResponse
33
+ rpc :PayWithCardToken, ::Com::Kodypay::Grpc::Ecom::V1::PayWithCardTokenRequest, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsResponse
34
+ rpc :GetTokenPaymentDetails, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsRequest, ::Com::Kodypay::Grpc::Ecom::V1::PaymentDetailsResponse
30
35
  end
31
36
 
32
37
  Stub = Service.rpc_stub_class
data/lib/error_pb.rb ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: com/kodypay/grpc/errors/error.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n#com/kodypay/grpc/errors/error.proto\x12\x17\x63om.kodypay.grpc.errors*\x97\x08\n\x07KpError\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x1d\n\x18INVALID_ARGUMENT_GENERIC\x10\xb8\x17\x12\x1e\n\x19INVALID_ARGUMENT_STORE_ID\x10\xb9\x17\x12\x1c\n\x17INVALID_ARGUMENT_AMOUNT\x10\xba\x17\x12#\n\x1eINVALID_ARGUMENT_CURRENCY_CODE\x10\xbb\x17\x12\"\n\x1dINVALID_ARGUMENT_PAYMENT_MODE\x10\xbc\x17\x12!\n\x1cINVALID_ARGUMENT_DESCRIPTION\x10\xbd\x17\x12$\n\x1fINVALID_ARGUMENT_INTERNAL_NOTES\x10\xbe\x17\x12\x1e\n\x19\x44\x45\x41\x44LINE_EXCEEDED_GENERIC\x10\xa0\x1f\x12\x16\n\x11NOT_FOUND_GENERIC\x10\x88\'\x12\x1c\n\x17NOT_FOUND_STORE_DETAILS\x10\x89\'\x12\x16\n\x11NOT_FOUND_PAYMENT\x10\x8a\'\x12\x1b\n\x16\x41LREADY_EXISTS_GENERIC\x10\xf0.\x12\x1b\n\x16\x41LREADY_EXISTS_PAYMENT\x10\xf1.\x12\x1e\n\x19PERMISSION_DENIED_GENERIC\x10\xd8\x36\x12*\n%PERMISSION_DENIED_UNAUTHORIZED_ACCESS\x10\xd9\x36\x12\x1f\n\x1aRESOURCE_EXHAUSTED_GENERIC\x10\xc0>\x12\"\n\x1dRESOURCE_EXHAUSTED_RATE_LIMIT\x10\xc1>\x12 \n\x1b\x46\x41ILED_PRECONDITION_GENERIC\x10\xa8\x46\x12\'\n\"FAILED_PRECONDITION_PAYMENT_LOCKED\x10\xa9\x46\x12\x14\n\x0f\x41\x42ORTED_GENERIC\x10\x90N\x12\x19\n\x14OUT_OF_RANGE_GENERIC\x10\xf8U\x12\x1a\n\x15UNIMPLEMENTED_GENERIC\x10\xe0]\x12\x15\n\x10INTERNAL_GENERIC\x10\xc8\x65\x12\x1d\n\x18INTERNAL_SERVICE_TIMEOUT\x10\xc9\x65\x12-\n(INTERNAL_PENDING_PAYMENT_CREATION_FAILED\x10\xca\x65\x12\x1c\n\x17INTERNAL_PAYMENT_FAILED\x10\xcb\x65\x12*\n%INTERNAL_PAYMENT_STATUS_UPDATE_FAILED\x10\xcc\x65\x12\x16\n\x11INTERNAL_DATABASE\x10\xcd\x65\x12\x18\n\x13UNAVAILABLE_GENERIC\x10\xb0m\x12\x16\n\x11\x44\x41TA_LOSS_GENERIC\x10\x98u\x12\x1c\n\x17UNAUTHENTICATED_GENERIC\x10\x80}\x12$\n\x1fUNAUTHENTICATED_SESSION_EXPIRED\x10\x81}b\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Com
14
+ module Kodypay
15
+ module Grpc
16
+ module Errors
17
+ KpError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.errors.KpError").enummodule
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,15 +1,8 @@
1
1
  module Kody
2
2
  class Configuration
3
- # KodyPay gRPC endpoints by region
4
- # Production endpoints
5
- PRODUCTION_ENDPOINT = 'grpc.kodypay.com:443' # Default
6
- PRODUCTION_AP_ENDPOINT = 'grpc-ap.kodypay.com:443' # Asia-Pacific
7
- PRODUCTION_EU_ENDPOINT = 'grpc-eu.kodypay.com:443' # Europe
8
-
9
- # Staging endpoints
10
- STAGING_ENDPOINT = 'grpc-staging.kodypay.com:443' # Default
11
- STAGING_AP_ENDPOINT = 'grpc-staging-ap.kodypay.com:443' # Asia-Pacific
12
- STAGING_EU_ENDPOINT = 'grpc-staging-eu.kodypay.com:443' # Europe
3
+ # Common KodyPay gRPC endpoints
4
+ PRODUCTION_ENDPOINT = 'grpc.kodypay.com:443'
5
+ STAGING_ENDPOINT = 'grpc-staging-ap.kodypay.com:443'
13
6
 
14
7
  attr_accessor :api_key, :store_id, :endpoint
15
8
 
@@ -20,25 +13,5 @@ module Kody
20
13
  def staging!
21
14
  @endpoint = STAGING_ENDPOINT
22
15
  end
23
-
24
- def staging_ap!
25
- @endpoint = STAGING_AP_ENDPOINT
26
- end
27
-
28
- def staging_eu!
29
- @endpoint = STAGING_EU_ENDPOINT
30
- end
31
-
32
- def production!
33
- @endpoint = PRODUCTION_ENDPOINT
34
- end
35
-
36
- def production_ap!
37
- @endpoint = PRODUCTION_AP_ENDPOINT
38
- end
39
-
40
- def production_eu!
41
- @endpoint = PRODUCTION_EU_ENDPOINT
42
- end
43
16
  end
44
17
  end
data/lib/kody/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kody
2
- VERSION = "1.6.16"
2
+ VERSION = "1.7.3"
3
3
  end
data/lib/poc_pb.rb ADDED
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: com/kodypay/grpc/poc/poc.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n\x1e\x63om/kodypay/grpc/poc/poc.proto\x12\x14\x63om.kodypay.grpc.poc\")\n\x13\x45rrorCodePocRequest\x12\x12\n\nerror_code\x18\x01 \x01(\x05\"\'\n\x14\x45rrorCodePocResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x32s\n\nPocService\x12\x65\n\x0c\x45rrorCodePoc\x12).com.kodypay.grpc.poc.ErrorCodePocRequest\x1a*.com.kodypay.grpc.poc.ErrorCodePocResponseb\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Com
14
+ module Kodypay
15
+ module Grpc
16
+ module Poc
17
+ ErrorCodePocRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.poc.ErrorCodePocRequest").msgclass
18
+ ErrorCodePocResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.poc.ErrorCodePocResponse").msgclass
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: com/kodypay/grpc/poc/poc.proto for package 'com.kodypay.grpc.poc'
3
+
4
+ require 'grpc'
5
+ require_relative "poc_pb"
6
+
7
+ module Com
8
+ module Kodypay
9
+ module Grpc
10
+ module Poc
11
+ module PocService
12
+ class Service
13
+
14
+ include ::GRPC::GenericService
15
+
16
+ self.marshal_class_method = :encode
17
+ self.unmarshal_class_method = :decode
18
+ self.service_name = 'com.kodypay.grpc.poc.PocService'
19
+
20
+ rpc :ErrorCodePoc, ::Com::Kodypay::Grpc::Poc::ErrorCodePocRequest, ::Com::Kodypay::Grpc::Poc::ErrorCodePocResponse
21
+ end
22
+
23
+ Stub = Service.rpc_stub_class
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
data/lib/preauth_pb.rb ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: com/kodypay/grpc/preauth/v1/preauth.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/timestamp_pb'
8
+
9
+
10
+ descriptor_data = "\n)com/kodypay/grpc/preauth/v1/preauth.proto\x12\x1b\x63om.kodypay.grpc.preauth.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb2\x02\n\x17PreAuthorisationRequest\x12\x18\n\x10idempotency_uuid\x18\x01 \x01(\t\x12\x1a\n\x12pre_auth_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08store_id\x18\x04 \x01(\t\x12\x13\n\x0bterminal_id\x18\x05 \x01(\t\x12\x1a\n\x12\x61mount_minor_units\x18\x06 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x07 \x01(\t\x12P\n\x13payment_method_type\x18\x08 \x01(\x0e\x32..com.kodypay.grpc.preauth.v1.PaymentMethodTypeH\x01\x88\x01\x01\x42\x0b\n\t_order_idB\x16\n\x14_payment_method_type\"\xa2\x05\n\x18PreAuthorisationResponse\x12Q\n\x08response\x18\x01 \x01(\x0b\x32=.com.kodypay.grpc.preauth.v1.PreAuthorisationResponse.SuccessH\x00\x12L\n\x05\x65rror\x18\x02 \x01(\x0b\x32;.com.kodypay.grpc.preauth.v1.PreAuthorisationResponse.ErrorH\x00\x1a\xe6\x02\n\x07Success\x12\x1a\n\x12pre_auth_reference\x18\x01 \x01(\t\x12\x15\n\rpsp_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0epre_auth_token\x18\x04 \x01(\t\x12\x45\n\x0c\x63\x61rd_details\x18\x05 \x01(\x0b\x32/.com.kodypay.grpc.preauth.v1.PaymentCardDetails\x12\x37\n\x06status\x18\x06 \x01(\x0e\x32\'.com.kodypay.grpc.preauth.v1.AuthStatus\x12%\n\x1d\x61uthorised_amount_minor_units\x18\x07 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x08 \x01(\t\x12\x33\n\x0f\x64\x61te_authorised\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0b\n\t_order_id\x1ar\n\x05\x45rror\x12\x1a\n\x12pre_auth_reference\x18\x01 \x01(\t\x12\x15\n\x08order_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nerror_code\x18\x03 \x01(\t\x12\x15\n\rerror_message\x18\x04 \x01(\tB\x0b\n\t_order_idB\x08\n\x06result\"\xc0\x01\n\x19TopUpAuthorisationRequest\x12\x18\n\x10idempotency_uuid\x18\x01 \x01(\t\x12\x18\n\x10top_up_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0epre_auth_token\x18\x04 \x01(\t\x12!\n\x19top_up_amount_minor_units\x18\x05 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x06 \x01(\tB\x0b\n\t_order_id\"\xdb\x03\n\x1aTopUpAuthorisationResponse\x12S\n\x08response\x18\x01 \x01(\x0b\x32?.com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse.SuccessH\x00\x12N\n\x05\x65rror\x18\x02 \x01(\x0b\x32=.com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse.ErrorH\x00\x1a\xbf\x01\n\x07Success\x12\x18\n\x10top_up_reference\x18\x01 \x01(\t\x12\x15\n\rpsp_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n#total_authorised_amount_minor_units\x18\x04 \x01(\x04\x12\x32\n\x0e\x64\x61te_topped_up\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0b\n\t_order_id\x1aL\n\x05\x45rror\x12\x18\n\x10top_up_reference\x18\x01 \x01(\t\x12\x12\n\nerror_code\x18\x02 \x01(\t\x12\x15\n\rerror_message\x18\x03 \x01(\tB\x08\n\x06result\"\x84\x02\n\x1b\x43\x61ptureAuthorisationRequest\x12\x18\n\x10idempotency_uuid\x18\x01 \x01(\t\x12\x19\n\x11\x63\x61pture_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0epre_auth_token\x18\x04 \x01(\t\x12\"\n\x1a\x63\x61pture_amount_minor_units\x18\x05 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12#\n\x16tip_amount_minor_units\x18\x07 \x01(\x04H\x01\x88\x01\x01\x42\x0b\n\t_order_idB\x19\n\x17_tip_amount_minor_units\"\xb5\x03\n\x1c\x43\x61ptureAuthorisationResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x41.com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse.SuccessH\x00\x12P\n\x05\x65rror\x18\x02 \x01(\x0b\x32?.com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse.ErrorH\x00\x1a\x92\x01\n\x07Success\x12\x19\n\x11\x63\x61pture_reference\x18\x01 \x01(\t\x12\x15\n\rpsp_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\rdate_captured\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0b\n\t_order_id\x1aM\n\x05\x45rror\x12\x19\n\x11\x63\x61pture_reference\x18\x01 \x01(\t\x12\x12\n\nerror_code\x18\x02 \x01(\t\x12\x15\n\rerror_message\x18\x03 \x01(\tB\x08\n\x06result\"\x8e\x01\n\x1bReleaseAuthorisationRequest\x12\x18\n\x10idempotency_uuid\x18\x01 \x01(\t\x12\x19\n\x11release_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0epre_auth_token\x18\x04 \x01(\tB\x0b\n\t_order_id\"\xb5\x03\n\x1cReleaseAuthorisationResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x41.com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse.SuccessH\x00\x12P\n\x05\x65rror\x18\x02 \x01(\x0b\x32?.com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse.ErrorH\x00\x1a\x92\x01\n\x07Success\x12\x19\n\x11release_reference\x18\x01 \x01(\t\x12\x15\n\rpsp_reference\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\rdate_released\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0b\n\t_order_id\x1aM\n\x05\x45rror\x12\x19\n\x11release_reference\x18\x01 \x01(\t\x12\x12\n\nerror_code\x18\x02 \x01(\t\x12\x15\n\rerror_message\x18\x03 \x01(\tB\x08\n\x06result\"4\n\x1aGetPreAuthorisationRequest\x12\x16\n\x0epre_auth_token\x18\x01 \x01(\t\"\x94\x07\n\x1bGetPreAuthorisationResponse\x12T\n\x08response\x18\x01 \x01(\x0b\x32@.com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponse.SuccessH\x00\x12O\n\x05\x65rror\x18\x02 \x01(\x0b\x32>.com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponse.ErrorH\x00\x1a\x8f\x05\n\x07Success\x12\x1a\n\x12pre_auth_reference\x18\x01 \x01(\t\x12\x16\n\x0epre_auth_token\x18\x02 \x01(\t\x12\x15\n\x08order_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06status\x18\x04 \x01(\x0e\x32\'.com.kodypay.grpc.preauth.v1.AuthStatus\x12+\n#total_authorised_amount_minor_units\x18\x05 \x01(\x04\x12(\n\x1b\x63\x61ptured_amount_minor_units\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x16\n\x0estore_currency\x18\x07 \x01(\t\x12\x45\n\x0c\x63\x61rd_details\x18\x08 \x01(\x0b\x32/.com.kodypay.grpc.preauth.v1.PaymentCardDetails\x12\x33\n\x0f\x64\x61te_authorised\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x13\x64\x61te_last_topped_up\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x36\n\rdate_captured\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12\x36\n\rdate_released\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04\x88\x01\x01\x42\x0b\n\t_order_idB\x1e\n\x1c_captured_amount_minor_unitsB\x16\n\x14_date_last_topped_upB\x10\n\x0e_date_capturedB\x10\n\x0e_date_released\x1a\x32\n\x05\x45rror\x12\x12\n\nerror_code\x18\x01 \x01(\t\x12\x15\n\rerror_message\x18\x02 \x01(\tB\x08\n\x06result\"\xf9\x01\n\x12PaymentCardDetails\x12\x1a\n\x12\x63\x61rd_last_4_digits\x18\x01 \x01(\t\x12\x18\n\x10\x65xpiry_date_yymm\x18\x02 \x01(\t\x12\x16\n\x0epos_entry_mode\x18\x03 \x01(\t\x12\x15\n\rpayment_token\x18\x04 \x01(\t\x12\x11\n\tauth_code\x18\x05 \x01(\t\x12?\n\ncard_brand\x18\x06 \x01(\x0e\x32+.com.kodypay.grpc.preauth.v1.PaymentMethods\x12\x19\n\x0c\x63\x61rd_variant\x18\x07 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_card_variant*\x9f\x02\n\nAuthStatus\x12\x1b\n\x17\x41UTH_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15PENDING_AUTHORISATION\x10\x01\x12\x0e\n\nAUTHORISED\x10\x02\x12\x0c\n\x08\x44\x45\x43LINED\x10\x03\x12\r\n\tCANCELLED\x10\x04\x12\x13\n\x0fPENDING_CAPTURE\x10\x05\x12\x0c\n\x08\x43\x41PTURED\x10\x06\x12\x12\n\x0e\x43\x41PTURE_FAILED\x10\x07\x12\x13\n\x0fPENDING_RELEASE\x10\x08\x12\x0c\n\x08RELEASED\x10\t\x12\x12\n\x0eRELEASE_FAILED\x10\n\x12\x12\n\x0ePENDING_TOP_UP\x10\x0b\x12\x11\n\rTOP_UP_FAILED\x10\x0c\x12\x0b\n\x07\x45XPIRED\x10\r\x12\n\n\x06\x46\x41ILED\x10\x0e*\xa2\x01\n\x0ePaymentMethods\x12\x08\n\x04VISA\x10\x00\x12\x0e\n\nMASTERCARD\x10\x01\x12\x08\n\x04\x41MEX\x10\x02\x12\x0f\n\x0b\x42\x41N_CONTACT\x10\x03\x12\x13\n\x0f\x43HINA_UNION_PAY\x10\x04\x12\x0b\n\x07MAESTRO\x10\x05\x12\n\n\x06\x44INERS\x10\x06\x12\x0c\n\x08\x44ISCOVER\x10\x07\x12\x07\n\x03JCB\x10\x08\x12\n\n\x06\x41LIPAY\x10\t\x12\n\n\x06WECHAT\x10\n*/\n\x11PaymentMethodType\x12\x10\n\x0c\x43\x41RD_PRESENT\x10\x00\x12\x08\n\x04MOTO\x10\x01\x32\xc8\x05\n\x1aKodyPreAuthTerminalService\x12{\n\x0cPreAuthorise\x12\x34.com.kodypay.grpc.preauth.v1.PreAuthorisationRequest\x1a\x35.com.kodypay.grpc.preauth.v1.PreAuthorisationResponse\x12\x85\x01\n\x12TopUpAuthorisation\x12\x36.com.kodypay.grpc.preauth.v1.TopUpAuthorisationRequest\x1a\x37.com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse\x12\x8b\x01\n\x14\x43\x61ptureAuthorisation\x12\x38.com.kodypay.grpc.preauth.v1.CaptureAuthorisationRequest\x1a\x39.com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse\x12\x8b\x01\n\x14ReleaseAuthorisation\x12\x38.com.kodypay.grpc.preauth.v1.ReleaseAuthorisationRequest\x1a\x39.com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse\x12\x88\x01\n\x13GetPreAuthorisation\x12\x37.com.kodypay.grpc.preauth.v1.GetPreAuthorisationRequest\x1a\x38.com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponseB1\n\x1b\x63om.kodypay.grpc.preauth.v1B\x10KodyPreAuthProtoP\x01\x62\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Com
16
+ module Kodypay
17
+ module Grpc
18
+ module Preauth
19
+ module V1
20
+ PreAuthorisationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PreAuthorisationRequest").msgclass
21
+ PreAuthorisationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PreAuthorisationResponse").msgclass
22
+ PreAuthorisationResponse::Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PreAuthorisationResponse.Success").msgclass
23
+ PreAuthorisationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PreAuthorisationResponse.Error").msgclass
24
+ TopUpAuthorisationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.TopUpAuthorisationRequest").msgclass
25
+ TopUpAuthorisationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse").msgclass
26
+ TopUpAuthorisationResponse::Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse.Success").msgclass
27
+ TopUpAuthorisationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.TopUpAuthorisationResponse.Error").msgclass
28
+ CaptureAuthorisationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.CaptureAuthorisationRequest").msgclass
29
+ CaptureAuthorisationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse").msgclass
30
+ CaptureAuthorisationResponse::Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse.Success").msgclass
31
+ CaptureAuthorisationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.CaptureAuthorisationResponse.Error").msgclass
32
+ ReleaseAuthorisationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.ReleaseAuthorisationRequest").msgclass
33
+ ReleaseAuthorisationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse").msgclass
34
+ ReleaseAuthorisationResponse::Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse.Success").msgclass
35
+ ReleaseAuthorisationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.ReleaseAuthorisationResponse.Error").msgclass
36
+ GetPreAuthorisationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.GetPreAuthorisationRequest").msgclass
37
+ GetPreAuthorisationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponse").msgclass
38
+ GetPreAuthorisationResponse::Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponse.Success").msgclass
39
+ GetPreAuthorisationResponse::Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.GetPreAuthorisationResponse.Error").msgclass
40
+ PaymentCardDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PaymentCardDetails").msgclass
41
+ AuthStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.AuthStatus").enummodule
42
+ PaymentMethods = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PaymentMethods").enummodule
43
+ PaymentMethodType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.kodypay.grpc.preauth.v1.PaymentMethodType").enummodule
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,40 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: com/kodypay/grpc/preauth/v1/preauth.proto for package 'com.kodypay.grpc.preauth.v1'
3
+
4
+ require 'grpc'
5
+ require_relative "preauth_pb"
6
+
7
+ module Com
8
+ module Kodypay
9
+ module Grpc
10
+ module Preauth
11
+ module V1
12
+ module KodyPreAuthTerminalService
13
+ class Service
14
+
15
+ include ::GRPC::GenericService
16
+
17
+ self.marshal_class_method = :encode
18
+ self.unmarshal_class_method = :decode
19
+ self.service_name = 'com.kodypay.grpc.preauth.v1.KodyPreAuthTerminalService'
20
+
21
+ # Initiates a pre-authorisation on a specific payment terminal.
22
+ # The terminal will then prompt the customer to present their card.
23
+ rpc :PreAuthorise, ::Com::Kodypay::Grpc::Preauth::V1::PreAuthorisationRequest, ::Com::Kodypay::Grpc::Preauth::V1::PreAuthorisationResponse
24
+ # Increases the authorised amount on an existing pre-authorisation.
25
+ rpc :TopUpAuthorisation, ::Com::Kodypay::Grpc::Preauth::V1::TopUpAuthorisationRequest, ::Com::Kodypay::Grpc::Preauth::V1::TopUpAuthorisationResponse
26
+ # Captures the funds from an existing pre-authorisation to finalise a payment.
27
+ rpc :CaptureAuthorisation, ::Com::Kodypay::Grpc::Preauth::V1::CaptureAuthorisationRequest, ::Com::Kodypay::Grpc::Preauth::V1::CaptureAuthorisationResponse
28
+ # Releases the hold on funds from an existing pre-authorisation.
29
+ rpc :ReleaseAuthorisation, ::Com::Kodypay::Grpc::Preauth::V1::ReleaseAuthorisationRequest, ::Com::Kodypay::Grpc::Preauth::V1::ReleaseAuthorisationResponse
30
+ # Retrieves the current state and details of a pre-authorisation.
31
+ rpc :GetPreAuthorisation, ::Com::Kodypay::Grpc::Preauth::V1::GetPreAuthorisationRequest, ::Com::Kodypay::Grpc::Preauth::V1::GetPreAuthorisationResponse
32
+ end
33
+
34
+ Stub = Service.rpc_stub_class
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -2,49 +2,40 @@
2
2
 
3
3
  require 'json'
4
4
 
5
- puts "šŸš€ KodyPay Ruby SDK Sample - GetPayments API"
6
- puts "============================================="
7
- puts "šŸ“¦ Using kody-clientsdk-ruby gem from RubyGems"
8
- puts
9
-
10
- # Configuration - replace with your actual credentials
11
- api_key = ENV['KODY_API_KEY'] || 'your-api-key-here'
12
- store_id = ENV['KODY_STORE_ID'] || 'your-store-id-here'
5
+ puts "šŸš€ REAL Kody GetPayments API Call"
6
+ puts "================================="
13
7
 
14
- begin
15
- # Require the published gem
16
- require 'kody'
8
+ # Your real credentials
9
+ api_key = 'zsr1gGOKCCk4HB-rKLESwJHWs0kmONj1p-HT7txoVqCn'
10
+ store_id = '7fbec013-34e1-4e93-a0ee-f4f91b94eb17'
11
+ endpoint = 'grpc-staging-ap.kodypay.com:443'
17
12
 
18
- # Configure KodyPay SDK
19
- Kody.configure do |config|
20
- config.staging_ap! # Use Asia-Pacific staging endpoint
21
- config.api_key = api_key
22
- config.store_id = store_id
23
- end
13
+ puts "šŸ“” Endpoint: #{endpoint}"
14
+ puts "šŸ”‘ Store ID: #{store_id}"
15
+ puts "šŸ—ļø API Key: #{api_key[0..10]}..."
16
+ puts
24
17
 
25
- puts "šŸ“” Endpoint: #{Kody.configuration.endpoint}"
26
- puts "šŸ”‘ Store ID: #{Kody.configuration.store_id[0..8]}..."
27
- puts "šŸ—ļø API Key: #{Kody.configuration.api_key[0..10]}..."
28
- puts
18
+ begin
19
+ require 'kody' # This will require the installed gem
29
20
 
30
- # Create the stub using configuration
21
+ # Create the stub and make the API call
31
22
  stub = Com::Kodypay::Grpc::Ecom::V1::KodyEcomPaymentsService::Stub.new(
32
- Kody.configuration.endpoint,
23
+ endpoint,
33
24
  GRPC::Core::ChannelCredentials.new
34
25
  )
35
26
 
36
27
  request = Com::Kodypay::Grpc::Ecom::V1::GetPaymentsRequest.new(
37
- store_id: Kody.configuration.store_id,
28
+ store_id: store_id,
38
29
  page_cursor: Com::Kodypay::Grpc::Ecom::V1::GetPaymentsRequest::PageCursor.new(
39
30
  page: 1,
40
31
  page_size: 10
41
32
  )
42
33
  )
43
34
 
44
- puts "šŸ“¤ Making gRPC call to GetPayments API..."
45
- response = stub.get_payments(request, metadata: { 'x-api-key' => Kody.configuration.api_key })
35
+ puts "šŸ“¤ Making real gRPC call to GetPayments..."
36
+ response = stub.get_payments(request, metadata: { 'x-api-key' => api_key })
46
37
 
47
- puts "šŸŽ‰ SUCCESS! Response from KodyPay API:"
38
+ puts "šŸŽ‰ SUCCESS! Real data from Kody staging:"
48
39
  puts "šŸ“Š Total payments: #{response.response.total}"
49
40
 
50
41
  if response.response.payments.empty?
@@ -68,15 +59,10 @@ begin
68
59
 
69
60
  rescue GRPC::BadStatus => e
70
61
  puts "āŒ gRPC API Error: #{e.code} - #{e.message}"
71
- puts "šŸ’” Check your API credentials and store permissions"
62
+ puts "šŸ’” This might be an authentication or endpoint issue"
72
63
  rescue LoadError => e
73
64
  puts "āŒ Missing dependency: #{e.message}"
74
- puts "šŸ’” Install the gem with: gem install kody-clientsdk-ruby"
75
65
  rescue => e
76
66
  puts "āŒ Error: #{e.message}"
77
67
  puts "šŸ” #{e.backtrace.first}"
78
- end
79
-
80
- puts "\nšŸ“š Documentation:"
81
- puts " RubyGems: https://rubygems.org/gems/kody-clientsdk-ruby"
82
- puts " GitHub: https://github.com/KodyPay/kody-clientsdk-ruby"
68
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kody-clientsdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.16
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kody Tech Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-08-22 00:00:00.000000000 Z
11
+ date: 2025-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -120,6 +120,7 @@ files:
120
120
  - kody-clientsdk-ruby.gemspec
121
121
  - lib/ecom_pb.rb
122
122
  - lib/ecom_services_pb.rb
123
+ - lib/error_pb.rb
123
124
  - lib/inventory_pb.rb
124
125
  - lib/inventory_services_pb.rb
125
126
  - lib/kody.rb
@@ -133,8 +134,11 @@ files:
133
134
  - lib/pay_at_table_services_pb.rb
134
135
  - lib/pay_pb.rb
135
136
  - lib/pay_services_pb.rb
137
+ - lib/poc_pb.rb
138
+ - lib/poc_services_pb.rb
139
+ - lib/preauth_pb.rb
140
+ - lib/preauth_services_pb.rb
136
141
  - samples/ecom/get_payments.rb
137
- - samples/pos/get_terminals.rb
138
142
  homepage: https://github.com/KodyPay/kody-clientsdk-ruby
139
143
  licenses:
140
144
  - MIT
@@ -1,77 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- puts "šŸš€ KodyPay Ruby SDK Sample - GetTerminals API"
4
- puts "============================================="
5
- puts "šŸ“¦ Using kody-clientsdk-ruby gem from RubyGems"
6
- puts
7
-
8
- # Configuration - replace with your actual credentials
9
- api_key = ENV['KODY_API_KEY'] || 'your-api-key-here'
10
- store_id = ENV['KODY_STORE_ID'] || 'your-store-id-here'
11
-
12
- begin
13
- # Require the published gem
14
- require 'kody'
15
-
16
- # Configure KodyPay SDK
17
- Kody.configure do |config|
18
- config.staging_ap! # Use Asia-Pacific staging endpoint
19
- config.api_key = api_key
20
- config.store_id = store_id
21
- end
22
-
23
- puts "šŸ“” Endpoint: #{Kody.configuration.endpoint}"
24
- puts "šŸ”‘ Store ID: #{Kody.configuration.store_id[0..8]}..."
25
- puts "šŸ—ļø API Key: #{Kody.configuration.api_key[0..10]}..."
26
- puts
27
-
28
- # Create the Terminal API stub using configuration
29
- stub = Com::Kodypay::Grpc::Pay::V1::KodyPayTerminalService::Stub.new(
30
- Kody.configuration.endpoint,
31
- GRPC::Core::ChannelCredentials.new
32
- )
33
-
34
- request = Com::Kodypay::Grpc::Pay::V1::TerminalsRequest.new(
35
- store_id: Kody.configuration.store_id
36
- )
37
-
38
- puts "šŸ“¤ Making gRPC call to GetTerminals API..."
39
- response = stub.terminals(request, metadata: { 'x-api-key' => Kody.configuration.api_key })
40
-
41
- puts "šŸŽ‰ SUCCESS! Response from KodyPay Terminal API:"
42
- puts "šŸ–„ļø Total terminals: #{response.terminals.length}"
43
-
44
- if response.terminals.empty?
45
- puts "šŸ“­ No terminals found for this store"
46
- else
47
- response.terminals.each_with_index do |terminal, index|
48
- status = terminal.online ? "🟢 Online" : "šŸ”“ Offline"
49
- puts "\nšŸ–„ļø Terminal #{index + 1}:"
50
- puts " ID: #{terminal.terminal_id}"
51
- puts " Status: #{status}"
52
-
53
- if terminal.respond_to?(:last_activity_at) && terminal.last_activity_at
54
- last_activity = Time.at(terminal.last_activity_at.seconds).strftime('%Y-%m-%d %H:%M:%S')
55
- puts " Last Activity: #{last_activity}"
56
- end
57
-
58
- if terminal.respond_to?(:version) && terminal.version && !terminal.version.empty?
59
- puts " Version: #{terminal.version}"
60
- end
61
- end
62
- end
63
-
64
- rescue GRPC::BadStatus => e
65
- puts "āŒ gRPC API Error: #{e.code} - #{e.message}"
66
- puts "šŸ’” Check your API credentials and store permissions"
67
- rescue LoadError => e
68
- puts "āŒ Missing dependency: #{e.message}"
69
- puts "šŸ’” Install the gem with: gem install kody-clientsdk-ruby"
70
- rescue => e
71
- puts "āŒ Error: #{e.message}"
72
- puts "šŸ” #{e.backtrace.first}"
73
- end
74
-
75
- puts "\nšŸ“š Documentation:"
76
- puts " RubyGems: https://rubygems.org/gems/kody-clientsdk-ruby"
77
- puts " GitHub: https://github.com/KodyPay/kody-clientsdk-ruby"