razorpay 3.0.1 → 3.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +2 -2
  3. data/CHANGELOG.md +13 -0
  4. data/README.md +4 -0
  5. data/documents/account.md +449 -0
  6. data/documents/card.md +45 -0
  7. data/documents/payment.md +44 -1
  8. data/documents/productConfiguration.md +444 -0
  9. data/documents/stakeholder.md +334 -0
  10. data/documents/tokens.md +146 -1
  11. data/documents/webhook.md +224 -0
  12. data/lib/razorpay/account.rb +39 -0
  13. data/lib/razorpay/addon.rb +1 -1
  14. data/lib/razorpay/card.rb +4 -0
  15. data/lib/razorpay/constants.rb +2 -2
  16. data/lib/razorpay/iin.rb +15 -0
  17. data/lib/razorpay/order.rb +1 -1
  18. data/lib/razorpay/product.rb +37 -0
  19. data/lib/razorpay/request.rb +16 -16
  20. data/lib/razorpay/stakeholder.rb +39 -0
  21. data/lib/razorpay/token.rb +28 -0
  22. data/lib/razorpay/virtual_account.rb +1 -1
  23. data/lib/razorpay/webhook.rb +50 -0
  24. data/lib/razorpay.rb +6 -0
  25. data/test/fixtures/fake_account.json +78 -0
  26. data/test/fixtures/fake_card_reference.json +5 -0
  27. data/test/fixtures/fake_iin_token.json +23 -0
  28. data/test/fixtures/fake_product.json +138 -0
  29. data/test/fixtures/fake_stakeholder.json +29 -0
  30. data/test/fixtures/fake_tokenise_customer.json +40 -0
  31. data/test/fixtures/fake_webhook.json +79 -0
  32. data/test/fixtures/fake_webhook_by_account_id.json +22 -0
  33. data/test/fixtures/fetch_tnc.json +11 -0
  34. data/test/fixtures/stakeholder_collection.json +35 -0
  35. data/test/fixtures/webhook_by_account_collection.json +35 -0
  36. data/test/fixtures/webhook_collection.json +85 -0
  37. data/test/razorpay/test_account.rb +134 -0
  38. data/test/razorpay/test_card.rb +6 -0
  39. data/test/razorpay/test_customer.rb +8 -8
  40. data/test/razorpay/test_iin.rb +23 -0
  41. data/test/razorpay/test_order.rb +1 -1
  42. data/test/razorpay/test_product.rb +67 -0
  43. data/test/razorpay/test_settlement.rb +1 -1
  44. data/test/razorpay/test_stakeholder.rb +87 -0
  45. data/test/razorpay/test_token.rb +66 -0
  46. data/test/razorpay/test_transfer.rb +1 -1
  47. data/test/razorpay/test_webhook.rb +132 -0
  48. metadata +47 -1
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+ module Razorpay
4
+ # Tests for Razorpay::Iin
5
+ class RazorpayIinTest < Minitest::Test
6
+ def setup
7
+ @token_id = '411111'
8
+
9
+ # Any request that ends with token/token_id
10
+ stub_get(%r{iins/#{@token_id}$}, 'fake_iin_token')
11
+ end
12
+
13
+ def test_iin_should_be_defined
14
+ refute_nil Razorpay::Iin
15
+ end
16
+
17
+ def test_iin_should_be_fetched
18
+ token = Razorpay::Iin.fetch(@token_id)
19
+ assert_instance_of Razorpay::Iin, token, 'Iin not an instance of Razorpay::Iin class'
20
+ assert_equal @token_id, token.iin, 'token IDs do not match'
21
+ end
22
+ end
23
+ end
@@ -60,7 +60,7 @@ module Razorpay
60
60
  end
61
61
 
62
62
  def test_fetch_order_transfers
63
- stub_get("#{BASE_URI}orders/#{@order_id}/?expand[]=transfers&status", 'fake_order_transfers')
63
+ stub_get("#{BASE_URI}/v1/orders/#{@order_id}/?expand[]=transfers&status", 'fake_order_transfers')
64
64
  order = Razorpay::Order.fetch_transfer_order(@order_id)
65
65
  assert_instance_of Razorpay::Order, order, 'order not an instance of Razorpay::Order class'
66
66
  assert_equal @order_id, order.id, 'order IDs do not match'
@@ -0,0 +1,67 @@
1
+ require 'test_helper'
2
+
3
+ module Razorpay
4
+ # Tests for Razorpay::Product
5
+ class RazorpayProductonTest < Minitest::Test
6
+ class Product < Razorpay::Entity; end
7
+
8
+ def setup
9
+ @product_id = 'acc_prd_00000000000001'
10
+ @account_id = 'acc_00000000000001'
11
+ @product_name = 'payment_gateway'
12
+ @tnc_id = 'tnc_map_00000000000001'
13
+ # Any request that ends with product_id
14
+ stub_get(%r{/v2/accounts\/#{Regexp.quote(@account_id)}/products\/#{Regexp.quote(@product_id)}$}, 'fake_product')
15
+ end
16
+
17
+ def test_product_should_be_defined
18
+ refute_nil Razorpay::Product
19
+ end
20
+
21
+ def test_product_should_be_available
22
+ product = Razorpay::Product.fetch(@account_id, @product_id)
23
+ assert_instance_of Razorpay::Entity, product, 'product not an instance of Entity class'
24
+ assert_equal @product_id, product.id, 'Product IDs do not match'
25
+ assert_equal @product_name, product.product_name, 'product name is accessible'
26
+ end
27
+
28
+ def test_product_request_product_configuration
29
+
30
+ payload = create_product_payload()
31
+ stub_post(%r{accounts/#{@account_id}/products$}, 'fake_product', payload.to_json)
32
+
33
+ product = Razorpay::Product.request_product_configuration(@account_id, payload.to_json)
34
+ assert_instance_of Razorpay::Entity, product, 'Product not an instance of Entity class'
35
+ assert_equal @product_id, product.id, 'Product IDs do not match'
36
+ assert_equal @product_name, product.product_name, 'product name is accessible'
37
+ end
38
+
39
+ def test_product_edit
40
+
41
+ payload = create_product_payload()
42
+ stub_patch(%r{accounts/#{@account_id}/products/#{@product_id}$}, 'fake_product', payload.to_json)
43
+
44
+ product = Razorpay::Product.edit(@account_id, @product_id, payload.to_json)
45
+ assert_instance_of Razorpay::Entity, product, 'Product not an instance of Entity class'
46
+ assert_equal @product_id, product.id, 'Product IDs do not match'
47
+ assert_equal @product_name, product.product_name, 'product name is accessible'
48
+ end
49
+
50
+ def test_product_fetchTnc
51
+ product_name = "payments"
52
+
53
+ stub_get("#{BASE_URI}/v2/products/#{product_name}/tnc", 'fetch_tnc')
54
+ product = Razorpay::Product.fetch_tnc(product_name)
55
+ assert_instance_of Razorpay::Entity, product, 'Product not an instance of Entity class'
56
+ assert_equal @tnc_id, product.id, 'Product IDs do not match'
57
+ end
58
+
59
+ def create_product_payload
60
+ return {
61
+ "product_name": "payment_gateway",
62
+ "tnc_accepted": true,
63
+ "ip": "233.233.233.234"
64
+ }
65
+ end
66
+ end
67
+ end
@@ -36,7 +36,7 @@ module Razorpay
36
36
  "year": 2022,
37
37
  "month":12
38
38
  }
39
- stub_get("#{BASE_URI}settlements/recon/combined?month=12&year=2022", 'settlement_report_collection')
39
+ stub_get("#{BASE_URI}/v1/settlements/recon/combined?month=12&year=2022", 'settlement_report_collection')
40
40
  settlement = Razorpay::Settlement.reports(para_attr)
41
41
  assert_instance_of Razorpay::Collection, settlement, 'Settlement not an instance of Settlement class'
42
42
  refute_empty settlement.items, 'Settlement should be more than one'
@@ -0,0 +1,87 @@
1
+ require 'test_helper'
2
+
3
+ module Razorpay
4
+ # Tests for Razorpay::Account
5
+ class RazorpayStakeholderonTest < Minitest::Test
6
+ class Stakeholder < Razorpay::Entity; end
7
+
8
+ def setup
9
+ @stakeholder_id = 'sth_00000000000001'
10
+ @account_id = 'acc_00000000000001'
11
+ @email = 'gaurav.kumar@example.com'
12
+ # Any request that ends with stakeholder_id
13
+ stub_get(%r{/v2/accounts\/#{Regexp.quote(@account_id)}/stakeholders\/#{Regexp.quote(@stakeholder_id)}$}, 'fake_stakeholder')
14
+ end
15
+
16
+ def test_stakeholder_should_be_defined
17
+ refute_nil Razorpay::Stakeholder
18
+ end
19
+
20
+ def test_stakeholder_should_be_available
21
+ stakeholder = Razorpay::Stakeholder.fetch(@account_id, @stakeholder_id)
22
+ assert_instance_of Razorpay::Stakeholder, stakeholder, 'Stakeholder not an instance of Entity class'
23
+ assert_equal @stakeholder_id, stakeholder.id, 'Stakeholder IDs do not match'
24
+ assert_equal @email, stakeholder.email, 'Stakeholder email is accessible'
25
+ end
26
+
27
+ def test_stakeholder_should_be_create
28
+
29
+ payload = create_stakeholder_payload()
30
+ stub_post(%r{accounts/#{@account_id}/stakeholders$}, 'fake_stakeholder', payload.to_json)
31
+
32
+ stakeholder = Razorpay::Stakeholder.create(@account_id, payload.to_json)
33
+ assert_instance_of Razorpay::Stakeholder, stakeholder, 'Stakeholder not an instance of Entity class'
34
+ assert_equal @stakeholder_id, stakeholder.id, 'Stakeholder IDs do not match'
35
+ assert_equal @email, stakeholder.email, 'Stakeholder email is accessible'
36
+ end
37
+
38
+ def test_stakeholder_edit
39
+
40
+ payload = create_stakeholder_payload()
41
+ stub_patch(%r{accounts/#{@account_id}/stakeholders/#{@stakeholder_id}$}, 'fake_stakeholder', payload.to_json)
42
+
43
+ stakeholder = Razorpay::Stakeholder.edit(@account_id, @stakeholder_id, payload.to_json)
44
+ assert_instance_of Razorpay::Stakeholder, stakeholder, 'Stakeholder not an instance of Entity class'
45
+ assert_equal @stakeholder_id, stakeholder.id, 'Stakeholder IDs do not match'
46
+ assert_equal @email, stakeholder.email, 'Stakeholder email is accessible'
47
+ end
48
+
49
+ def test_fetching_all_stakeholder
50
+ stub_get(%r{accounts/#{@account_id}/stakeholders$}, 'stakeholder_collection')
51
+ orders = Razorpay::Stakeholder.all(@account_id)
52
+ assert_instance_of Razorpay::Collection, orders, 'Orders should be an array'
53
+ assert !orders.items.empty?, 'orders should be more than one'
54
+ end
55
+
56
+ def create_stakeholder_payload
57
+ return {
58
+ "percentage_ownership": 10,
59
+ "name": "Gaurav Kumar",
60
+ "email": "gaurav.kumar@example.com",
61
+ "relationship": {
62
+ "director": true,
63
+ "executive": false
64
+ },
65
+ "phone": {
66
+ "primary": "9000090000",
67
+ "secondary": "9000090000"
68
+ },
69
+ "addresses": {
70
+ "residential": {
71
+ "street": "506, Koramangala 1st block",
72
+ "city": "Bengaluru",
73
+ "state": "Karnataka",
74
+ "postal_code": "560034",
75
+ "country": "IN"
76
+ }
77
+ },
78
+ "kyc": {
79
+ "pan": "AVOPB1111K"
80
+ },
81
+ "notes": {
82
+ "random_key_by_partner": "random_value"
83
+ }
84
+ }
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,66 @@
1
+ require 'test_helper'
2
+
3
+ module Razorpay
4
+ # Tests for Razorpay::Token
5
+ class RazorpayTokenTest < Minitest::Test
6
+ class Token < Razorpay::Entity; end
7
+
8
+ def setup
9
+ @token_id = 'token_00000000000001'
10
+ @customer_id = 'cust_1Aa00000000001'
11
+ @method = 'card'
12
+ end
13
+
14
+ def test_token_should_be_defined
15
+ refute_nil Razorpay::Token
16
+ end
17
+
18
+ def test_token_should_be_available
19
+ payload = {
20
+ "id": @token_id
21
+ }
22
+ stub_post(%r{/tokens/fetch$}, 'fake_tokenise_customer', payload.to_json)
23
+ token = Razorpay::Token.fetch(payload.to_json)
24
+ assert_instance_of Razorpay::Token, token, 'token not an instance of Token class'
25
+ assert_equal @token_id, token.id, 'Token IDs do not match'
26
+ end
27
+
28
+ def test_token_should_be_delete
29
+ payload = {
30
+ "id": @token_id
31
+ }
32
+ stub_post(%r{/tokens/delete$}, 'empty', payload.to_json)
33
+ token = Razorpay::Token.delete(payload.to_json)
34
+ assert_instance_of Razorpay::Entity, token, 'token not an instance of Entity class'
35
+ end
36
+
37
+ def test_token_create
38
+
39
+ payload = create_token_payload()
40
+ stub_post(%r{/tokens$}, 'fake_tokenise_customer', payload.to_json)
41
+
42
+ token = Razorpay::Token.create(payload.to_json)
43
+ assert_instance_of Razorpay::Token, token, 'Token not an instance of Token class'
44
+ assert_equal @token_id, token.id, 'Token IDs do not match'
45
+ end
46
+
47
+ def create_token_payload
48
+ return {
49
+ "customer_id": "cust_00000000000002",
50
+ "method": "card",
51
+ "card": {
52
+ "number": "4854000000708430",
53
+ "cvv": "123",
54
+ "expiry_month": "12",
55
+ "expiry_year": "24",
56
+ "name": "Gaurav Kumar"
57
+ },
58
+ "authentication": {
59
+ "provider": "razorpay",
60
+ "provider_reference_id": "pay_000000000000"
61
+ },
62
+ "notes": []
63
+ }
64
+ end
65
+ end
66
+ end
@@ -45,7 +45,7 @@ module Razorpay
45
45
  end
46
46
 
47
47
  def test_transfer_fetch_settlement_details
48
- stub_get("#{BASE_URI}transfers/?expand[]=recipient_settlement", 'transfers_collection')
48
+ stub_get("#{BASE_URI}/v1/transfers/?expand[]=recipient_settlement", 'transfers_collection')
49
49
  transfer = Razorpay::Transfer.fetch_settlements
50
50
  assert_instance_of Razorpay::Collection, transfer , 'Transfer should be an array'
51
51
  refute_empty transfer.items , 'Transfer should be more than one'
@@ -0,0 +1,132 @@
1
+ require 'test_helper'
2
+
3
+ module Razorpay
4
+ # Tests for Razorpay::Webhook
5
+ class RazorpayWebhookonTest < Minitest::Test
6
+ class Webhook < Razorpay::Entity; end
7
+
8
+ def setup
9
+ @webhook_id = 'H000000000000H'
10
+ @account_id = 'acc_00000000000001'
11
+ @alert_email = 'gaurav.kumar@example.com'
12
+ # Any request that ends with webhook_id
13
+ end
14
+
15
+ def test_product_should_be_defined
16
+ refute_nil Razorpay::Webhook
17
+ end
18
+
19
+ def test_webhook_with_account_id_should_be_available
20
+ stub_get(%r{/v2/accounts\/#{Regexp.quote(@account_id)}/webhooks\/#{Regexp.quote(@webhook_id)}$}, 'fake_webhook_by_account_id')
21
+ webhook = Razorpay::Webhook.fetch(@webhook_id, @account_id)
22
+ assert_instance_of Razorpay::Webhook, webhook, 'webhook not an instance of Webhook class'
23
+ assert_equal @webhook_id, webhook.id, 'Webhook IDs do not match'
24
+ assert_equal @alert_email, webhook.alert_email, 'webhook alert_email is accessible'
25
+ end
26
+
27
+ def test_webhook_with_account_id_should_be_create
28
+ payload = create_webhook_payload_by_account()
29
+ stub_post(%r{/v2/accounts/#{@account_id}/webhooks$}, 'fake_webhook_by_account_id', payload.to_json)
30
+
31
+ webhook = Razorpay::Webhook.create(payload.to_json, @account_id)
32
+ assert_instance_of Razorpay::Webhook, webhook, 'Webhook not an instance of Webhook class'
33
+ assert_equal @webhook_id, webhook.id, 'Webhook IDs do not match'
34
+ assert_equal @alert_email, webhook.alert_email, 'webhook alert_email is accessible'
35
+ end
36
+
37
+ def test_webhook_should_be_create
38
+ payload = create_webhook_payload()
39
+ stub_post(%r{/webhooks$}, 'fake_webhook', payload.to_json)
40
+
41
+ webhook = Razorpay::Webhook.create(payload.to_json)
42
+ assert_instance_of Razorpay::Webhook, webhook, 'Webhook not an instance of Webhook class'
43
+ assert_equal @webhook_id, webhook.id, 'Webhook IDs do not match'
44
+ assert_equal @alert_email, webhook.created_by_email, 'webhook alert_email is accessible'
45
+ end
46
+
47
+ def test_webhook_with_account_id_should_be_edit
48
+ payload = edit_webhook_payload_by_account()
49
+ stub_patch(%r{/v2/accounts/#{@account_id}/webhooks/#{@webhook_id}$}, 'fake_webhook_by_account_id', payload.to_json)
50
+
51
+ webhook = Razorpay::Webhook.edit(payload.to_json, @webhook_id, @account_id)
52
+ assert_instance_of Razorpay::Webhook, webhook, 'Webhook not an instance of Webhook class'
53
+ assert_equal @webhook_id, webhook.id, 'Webhook IDs do not match'
54
+ assert_equal @alert_email, webhook.alert_email, 'webhook alert_email is accessible'
55
+ end
56
+
57
+ def test_webhook_should_be_edit
58
+ payload = edit_webhook_payload()
59
+ stub_put(%r{/webhooks/#{@webhook_id}$}, 'fake_webhook', payload.to_json)
60
+
61
+ webhook = Razorpay::Webhook.edit(payload.to_json, @webhook_id)
62
+ assert_instance_of Razorpay::Webhook, webhook, 'Webhook not an instance of Webhook class'
63
+ assert_equal @webhook_id, webhook.id, 'Webhook IDs do not match'
64
+ assert_equal @alert_email, webhook.created_by_email, 'webhook alert_email is accessible'
65
+ end
66
+
67
+ def test_webhook_fetch_webhooks_by_account
68
+ stub_get(%r{/v2/accounts/#{@account_id}/webhooks$}, 'webhook_by_account_collection', {})
69
+
70
+ webhook = Razorpay::Webhook.all({}, @account_id)
71
+ assert_instance_of Razorpay::Collection, webhook, 'Webhook not an instance of Webhook class'
72
+ refute_empty webhook.items , 'Webhook should be more than one'
73
+ end
74
+
75
+ def test_webhook_fetch_webhooks
76
+ stub_get(%r{/webhooks$}, 'webhook_collection')
77
+
78
+ webhook = Razorpay::Webhook.all()
79
+ assert_instance_of Razorpay::Collection, webhook, 'Webhook not an instance of Webhook class'
80
+ refute_empty webhook.items , 'Webhook should be more than one'
81
+ end
82
+
83
+ def create_webhook_payload_by_account
84
+ return {
85
+ "url": "https://google.com",
86
+ "alert_email": "gaurav.kumar@example.com",
87
+ "secret": "12345",
88
+ "events": [
89
+ "payment.authorized",
90
+ "payment.failed",
91
+ "payment.captured",
92
+ "payment.dispute.created",
93
+ "refund.failed",
94
+ "refund.created"
95
+ ]
96
+ }
97
+ end
98
+
99
+ def edit_webhook_payload_by_account
100
+ return {
101
+ "url": "https://google.com",
102
+ "alert_email": "gaurav.kumar@example.com",
103
+ "secret": "12345",
104
+ "events": [
105
+ "payment.authorized"
106
+ ]
107
+ }
108
+ end
109
+
110
+ def create_webhook_payload
111
+ return {
112
+ "url": "https://google.com",
113
+ "alert_email": "gaurav.kumar@example.com",
114
+ "secret": "12345",
115
+ "events": {
116
+ "payment.authorized": "true",
117
+ "refund.created": "true",
118
+ "subscription.charged": "true"
119
+ }
120
+ }
121
+ end
122
+
123
+ def edit_webhook_payload
124
+ return {
125
+ "url": "https://google.com",
126
+ "events": {
127
+ "payment.authorized": "true",
128
+ }
129
+ }
130
+ end
131
+ end
132
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: razorpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abhay Rana
@@ -131,6 +131,7 @@ files:
131
131
  - README.md
132
132
  - Rakefile
133
133
  - documents/Invoice.md
134
+ - documents/account.md
134
135
  - documents/addon.md
135
136
  - documents/card.md
136
137
  - documents/customer.md
@@ -143,19 +144,23 @@ files:
143
144
  - documents/paymentLink.md
144
145
  - documents/paymentVerification.md
145
146
  - documents/plan.md
147
+ - documents/productConfiguration.md
146
148
  - documents/qrcode.md
147
149
  - documents/refund.md
148
150
  - documents/registerEmandate.md
149
151
  - documents/registerNach.md
150
152
  - documents/settlement.md
153
+ - documents/stakeholder.md
151
154
  - documents/subscriptions.md
152
155
  - documents/tokens.md
153
156
  - documents/transfers.md
154
157
  - documents/upi.md
155
158
  - documents/virtualAccount.md
159
+ - documents/webhook.md
156
160
  - lib/ca-bundle.crt
157
161
  - lib/extensions/httparty/hash_conversions.rb
158
162
  - lib/razorpay.rb
163
+ - lib/razorpay/account.rb
159
164
  - lib/razorpay/addon.rb
160
165
  - lib/razorpay/card.rb
161
166
  - lib/razorpay/collection.rb
@@ -168,6 +173,7 @@ files:
168
173
  - lib/razorpay/errors/razorpay_error.rb
169
174
  - lib/razorpay/errors/server_error.rb
170
175
  - lib/razorpay/fund_account.rb
176
+ - lib/razorpay/iin.rb
171
177
  - lib/razorpay/invoice.rb
172
178
  - lib/razorpay/item.rb
173
179
  - lib/razorpay/order.rb
@@ -175,15 +181,19 @@ files:
175
181
  - lib/razorpay/payment_link.rb
176
182
  - lib/razorpay/payment_method.rb
177
183
  - lib/razorpay/plan.rb
184
+ - lib/razorpay/product.rb
178
185
  - lib/razorpay/qr_code.rb
179
186
  - lib/razorpay/refund.rb
180
187
  - lib/razorpay/request.rb
181
188
  - lib/razorpay/settlement.rb
189
+ - lib/razorpay/stakeholder.rb
182
190
  - lib/razorpay/subscription.rb
183
191
  - lib/razorpay/subscription_registration.rb
192
+ - lib/razorpay/token.rb
184
193
  - lib/razorpay/transfer.rb
185
194
  - lib/razorpay/utility.rb
186
195
  - lib/razorpay/virtual_account.rb
196
+ - lib/razorpay/webhook.rb
187
197
  - razorpay-ruby.gemspec
188
198
  - test/fixtures/addon_collection.json
189
199
  - test/fixtures/bad_request_error.json
@@ -194,15 +204,18 @@ files:
194
204
  - test/fixtures/delete_token.json
195
205
  - test/fixtures/downtimes_collection.json
196
206
  - test/fixtures/empty.json
207
+ - test/fixtures/fake_account.json
197
208
  - test/fixtures/fake_addon.json
198
209
  - test/fixtures/fake_captured_payment.json
199
210
  - test/fixtures/fake_card.json
211
+ - test/fixtures/fake_card_reference.json
200
212
  - test/fixtures/fake_create_upi_payment.json
201
213
  - test/fixtures/fake_customer.json
202
214
  - test/fixtures/fake_customer_edited.json
203
215
  - test/fixtures/fake_direct_transfer.json
204
216
  - test/fixtures/fake_downtime.json
205
217
  - test/fixtures/fake_fund_account.json
218
+ - test/fixtures/fake_iin_token.json
206
219
  - test/fixtures/fake_instant_settlement.json
207
220
  - test/fixtures/fake_invoice.json
208
221
  - test/fixtures/fake_item.json
@@ -217,6 +230,7 @@ files:
217
230
  - test/fixtures/fake_payment_link.json
218
231
  - test/fixtures/fake_pending_update.json
219
232
  - test/fixtures/fake_plan.json
233
+ - test/fixtures/fake_product.json
220
234
  - test/fixtures/fake_qrcode.json
221
235
  - test/fixtures/fake_qrcode_close.json
222
236
  - test/fixtures/fake_recurring.json
@@ -224,11 +238,13 @@ files:
224
238
  - test/fixtures/fake_refunded_payment.json
225
239
  - test/fixtures/fake_settlement.json
226
240
  - test/fixtures/fake_settlement_on_demand.json
241
+ - test/fixtures/fake_stakeholder.json
227
242
  - test/fixtures/fake_subscription.json
228
243
  - test/fixtures/fake_subscription_pause.json
229
244
  - test/fixtures/fake_subscription_registration.json
230
245
  - test/fixtures/fake_subscription_resume.json
231
246
  - test/fixtures/fake_token.json
247
+ - test/fixtures/fake_tokenise_customer.json
232
248
  - test/fixtures/fake_transfer.json
233
249
  - test/fixtures/fake_transfer_reverse.json
234
250
  - test/fixtures/fake_update_payment.json
@@ -238,6 +254,9 @@ files:
238
254
  - test/fixtures/fake_virtual_account_closed.json
239
255
  - test/fixtures/fake_virtual_account_collection.json
240
256
  - test/fixtures/fake_virtual_account_receiver.json
257
+ - test/fixtures/fake_webhook.json
258
+ - test/fixtures/fake_webhook_by_account_id.json
259
+ - test/fixtures/fetch_tnc.json
241
260
  - test/fixtures/fund_collection.json
242
261
  - test/fixtures/hello_response.json
243
262
  - test/fixtures/invoice_collection.json
@@ -258,34 +277,43 @@ files:
258
277
  - test/fixtures/settlement_collection.json
259
278
  - test/fixtures/settlement_instant_collection.json
260
279
  - test/fixtures/settlement_report_collection.json
280
+ - test/fixtures/stakeholder_collection.json
261
281
  - test/fixtures/subscription_collection.json
262
282
  - test/fixtures/success.json
263
283
  - test/fixtures/tokens_collection.json
264
284
  - test/fixtures/transfer_settlements_collection.json
265
285
  - test/fixtures/transfers_collection.json
266
286
  - test/fixtures/update_invoice.json
287
+ - test/fixtures/webhook_by_account_collection.json
288
+ - test/fixtures/webhook_collection.json
267
289
  - test/fixtures/welcome.json
290
+ - test/razorpay/test_account.rb
268
291
  - test/razorpay/test_addon.rb
269
292
  - test/razorpay/test_card.rb
270
293
  - test/razorpay/test_customer.rb
271
294
  - test/razorpay/test_entity.rb
272
295
  - test/razorpay/test_fund_account.rb
296
+ - test/razorpay/test_iin.rb
273
297
  - test/razorpay/test_invoice.rb
274
298
  - test/razorpay/test_item.rb
275
299
  - test/razorpay/test_order.rb
276
300
  - test/razorpay/test_payment.rb
277
301
  - test/razorpay/test_payment_link.rb
278
302
  - test/razorpay/test_plan.rb
303
+ - test/razorpay/test_product.rb
279
304
  - test/razorpay/test_qr_code.rb
280
305
  - test/razorpay/test_razorpay.rb
281
306
  - test/razorpay/test_refund.rb
282
307
  - test/razorpay/test_request.rb
283
308
  - test/razorpay/test_settlement.rb
309
+ - test/razorpay/test_stakeholder.rb
284
310
  - test/razorpay/test_subscription.rb
285
311
  - test/razorpay/test_subscription_registration.rb
312
+ - test/razorpay/test_token.rb
286
313
  - test/razorpay/test_transfer.rb
287
314
  - test/razorpay/test_utility.rb
288
315
  - test/razorpay/test_virtual_account.rb
316
+ - test/razorpay/test_webhook.rb
289
317
  - test/test_helper.rb
290
318
  homepage: https://razorpay.com/
291
319
  licenses:
@@ -320,15 +348,18 @@ test_files:
320
348
  - test/fixtures/delete_token.json
321
349
  - test/fixtures/downtimes_collection.json
322
350
  - test/fixtures/empty.json
351
+ - test/fixtures/fake_account.json
323
352
  - test/fixtures/fake_addon.json
324
353
  - test/fixtures/fake_captured_payment.json
325
354
  - test/fixtures/fake_card.json
355
+ - test/fixtures/fake_card_reference.json
326
356
  - test/fixtures/fake_create_upi_payment.json
327
357
  - test/fixtures/fake_customer.json
328
358
  - test/fixtures/fake_customer_edited.json
329
359
  - test/fixtures/fake_direct_transfer.json
330
360
  - test/fixtures/fake_downtime.json
331
361
  - test/fixtures/fake_fund_account.json
362
+ - test/fixtures/fake_iin_token.json
332
363
  - test/fixtures/fake_instant_settlement.json
333
364
  - test/fixtures/fake_invoice.json
334
365
  - test/fixtures/fake_item.json
@@ -343,6 +374,7 @@ test_files:
343
374
  - test/fixtures/fake_payment_link.json
344
375
  - test/fixtures/fake_pending_update.json
345
376
  - test/fixtures/fake_plan.json
377
+ - test/fixtures/fake_product.json
346
378
  - test/fixtures/fake_qrcode.json
347
379
  - test/fixtures/fake_qrcode_close.json
348
380
  - test/fixtures/fake_recurring.json
@@ -350,11 +382,13 @@ test_files:
350
382
  - test/fixtures/fake_refunded_payment.json
351
383
  - test/fixtures/fake_settlement.json
352
384
  - test/fixtures/fake_settlement_on_demand.json
385
+ - test/fixtures/fake_stakeholder.json
353
386
  - test/fixtures/fake_subscription.json
354
387
  - test/fixtures/fake_subscription_pause.json
355
388
  - test/fixtures/fake_subscription_registration.json
356
389
  - test/fixtures/fake_subscription_resume.json
357
390
  - test/fixtures/fake_token.json
391
+ - test/fixtures/fake_tokenise_customer.json
358
392
  - test/fixtures/fake_transfer.json
359
393
  - test/fixtures/fake_transfer_reverse.json
360
394
  - test/fixtures/fake_update_payment.json
@@ -364,6 +398,9 @@ test_files:
364
398
  - test/fixtures/fake_virtual_account_closed.json
365
399
  - test/fixtures/fake_virtual_account_collection.json
366
400
  - test/fixtures/fake_virtual_account_receiver.json
401
+ - test/fixtures/fake_webhook.json
402
+ - test/fixtures/fake_webhook_by_account_id.json
403
+ - test/fixtures/fetch_tnc.json
367
404
  - test/fixtures/fund_collection.json
368
405
  - test/fixtures/hello_response.json
369
406
  - test/fixtures/invoice_collection.json
@@ -384,32 +421,41 @@ test_files:
384
421
  - test/fixtures/settlement_collection.json
385
422
  - test/fixtures/settlement_instant_collection.json
386
423
  - test/fixtures/settlement_report_collection.json
424
+ - test/fixtures/stakeholder_collection.json
387
425
  - test/fixtures/subscription_collection.json
388
426
  - test/fixtures/success.json
389
427
  - test/fixtures/tokens_collection.json
390
428
  - test/fixtures/transfer_settlements_collection.json
391
429
  - test/fixtures/transfers_collection.json
392
430
  - test/fixtures/update_invoice.json
431
+ - test/fixtures/webhook_by_account_collection.json
432
+ - test/fixtures/webhook_collection.json
393
433
  - test/fixtures/welcome.json
434
+ - test/razorpay/test_account.rb
394
435
  - test/razorpay/test_addon.rb
395
436
  - test/razorpay/test_card.rb
396
437
  - test/razorpay/test_customer.rb
397
438
  - test/razorpay/test_entity.rb
398
439
  - test/razorpay/test_fund_account.rb
440
+ - test/razorpay/test_iin.rb
399
441
  - test/razorpay/test_invoice.rb
400
442
  - test/razorpay/test_item.rb
401
443
  - test/razorpay/test_order.rb
402
444
  - test/razorpay/test_payment.rb
403
445
  - test/razorpay/test_payment_link.rb
404
446
  - test/razorpay/test_plan.rb
447
+ - test/razorpay/test_product.rb
405
448
  - test/razorpay/test_qr_code.rb
406
449
  - test/razorpay/test_razorpay.rb
407
450
  - test/razorpay/test_refund.rb
408
451
  - test/razorpay/test_request.rb
409
452
  - test/razorpay/test_settlement.rb
453
+ - test/razorpay/test_stakeholder.rb
410
454
  - test/razorpay/test_subscription.rb
411
455
  - test/razorpay/test_subscription_registration.rb
456
+ - test/razorpay/test_token.rb
412
457
  - test/razorpay/test_transfer.rb
413
458
  - test/razorpay/test_utility.rb
414
459
  - test/razorpay/test_virtual_account.rb
460
+ - test/razorpay/test_webhook.rb
415
461
  - test/test_helper.rb