razorruby 3.0.1

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 (171) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.editorconfig +12 -0
  4. data/.github/dependabot.yml +8 -0
  5. data/.github/workflows/ruby.yml +38 -0
  6. data/.gitignore +23 -0
  7. data/.rubocop.yml +22 -0
  8. data/.simplecov +3 -0
  9. data/CHANGELOG.md +168 -0
  10. data/Gemfile +4 -0
  11. data/LICENSE.txt +22 -0
  12. data/README.md +102 -0
  13. data/Rakefile +26 -0
  14. data/documents/Invoice.md +539 -0
  15. data/documents/addon.md +191 -0
  16. data/documents/card.md +610 -0
  17. data/documents/customer.md +163 -0
  18. data/documents/emandate.md +492 -0
  19. data/documents/fund.md +89 -0
  20. data/documents/items.md +208 -0
  21. data/documents/order.md +281 -0
  22. data/documents/papernach.md +738 -0
  23. data/documents/payment.md +826 -0
  24. data/documents/paymentLink.md +1063 -0
  25. data/documents/paymentVerification.md +79 -0
  26. data/documents/plan.md +184 -0
  27. data/documents/qrcode.md +439 -0
  28. data/documents/refund.md +325 -0
  29. data/documents/registerEmandate.md +452 -0
  30. data/documents/registerNach.md +653 -0
  31. data/documents/settlement.md +478 -0
  32. data/documents/subscriptions.md +752 -0
  33. data/documents/tokens.md +262 -0
  34. data/documents/transfers.md +781 -0
  35. data/documents/upi.md +545 -0
  36. data/documents/virtualAccount.md +591 -0
  37. data/lib/ca-bundle.crt +3988 -0
  38. data/lib/extensions/httparty/hash_conversions.rb +44 -0
  39. data/lib/razorpay/addon.rb +32 -0
  40. data/lib/razorpay/card.rb +17 -0
  41. data/lib/razorpay/collection.rb +6 -0
  42. data/lib/razorpay/constants.rb +6 -0
  43. data/lib/razorpay/customer.rb +42 -0
  44. data/lib/razorpay/entity.rb +46 -0
  45. data/lib/razorpay/errors/bad_request_error.rb +14 -0
  46. data/lib/razorpay/errors/gateway_error.rb +7 -0
  47. data/lib/razorpay/errors/razorpay_error.rb +11 -0
  48. data/lib/razorpay/errors/server_error.rb +7 -0
  49. data/lib/razorpay/errors.rb +4 -0
  50. data/lib/razorpay/fund_account.rb +19 -0
  51. data/lib/razorpay/invoice.rb +68 -0
  52. data/lib/razorpay/item.rb +34 -0
  53. data/lib/razorpay/order.rb +39 -0
  54. data/lib/razorpay/payment.rb +116 -0
  55. data/lib/razorpay/payment_link.rb +36 -0
  56. data/lib/razorpay/payment_method.rb +17 -0
  57. data/lib/razorpay/plan.rb +24 -0
  58. data/lib/razorpay/qr_code.rb +34 -0
  59. data/lib/razorpay/refund.rb +27 -0
  60. data/lib/razorpay/request.rb +119 -0
  61. data/lib/razorpay/settlement.rb +39 -0
  62. data/lib/razorpay/subscription.rb +60 -0
  63. data/lib/razorpay/subscription_registration.rb +16 -0
  64. data/lib/razorpay/transfer.rb +35 -0
  65. data/lib/razorpay/utility.rb +57 -0
  66. data/lib/razorpay/virtual_account.rb +49 -0
  67. data/lib/razorpay.rb +37 -0
  68. data/razorpay-ruby.gemspec +36 -0
  69. data/test/fixtures/addon_collection.json +60 -0
  70. data/test/fixtures/bad_request_error.json +7 -0
  71. data/test/fixtures/cancel_invoice.json +44 -0
  72. data/test/fixtures/cancel_subscription.json +20 -0
  73. data/test/fixtures/create_json_payment.json +13 -0
  74. data/test/fixtures/customer_collection.json +22 -0
  75. data/test/fixtures/delete_token.json +3 -0
  76. data/test/fixtures/downtimes_collection.json +21 -0
  77. data/test/fixtures/empty.json +2 -0
  78. data/test/fixtures/fake_addon.json +24 -0
  79. data/test/fixtures/fake_captured_payment.json +13 -0
  80. data/test/fixtures/fake_card.json +9 -0
  81. data/test/fixtures/fake_create_upi_payment.json +3 -0
  82. data/test/fixtures/fake_customer.json +8 -0
  83. data/test/fixtures/fake_customer_edited.json +8 -0
  84. data/test/fixtures/fake_direct_transfer.json +32 -0
  85. data/test/fixtures/fake_downtime.json +14 -0
  86. data/test/fixtures/fake_fund_account.json +18 -0
  87. data/test/fixtures/fake_instant_settlement.json +19 -0
  88. data/test/fixtures/fake_invoice.json +30 -0
  89. data/test/fixtures/fake_item.json +9 -0
  90. data/test/fixtures/fake_order.json +10 -0
  91. data/test/fixtures/fake_order_transfers.json +88 -0
  92. data/test/fixtures/fake_otp_generate.json +19 -0
  93. data/test/fixtures/fake_otp_resend.json +7 -0
  94. data/test/fixtures/fake_otp_submit.json +5 -0
  95. data/test/fixtures/fake_payment.json +14 -0
  96. data/test/fixtures/fake_payment_authorized_webhook.json +40 -0
  97. data/test/fixtures/fake_payment_bank_transfer.json +12 -0
  98. data/test/fixtures/fake_payment_link.json +40 -0
  99. data/test/fixtures/fake_pending_update.json +30 -0
  100. data/test/fixtures/fake_plan.json +26 -0
  101. data/test/fixtures/fake_qrcode.json +20 -0
  102. data/test/fixtures/fake_qrcode_close.json +22 -0
  103. data/test/fixtures/fake_recurring.json +5 -0
  104. data/test/fixtures/fake_refund.json +8 -0
  105. data/test/fixtures/fake_refunded_payment.json +14 -0
  106. data/test/fixtures/fake_settlement.json +11 -0
  107. data/test/fixtures/fake_settlement_on_demand.json +39 -0
  108. data/test/fixtures/fake_subscription.json +20 -0
  109. data/test/fixtures/fake_subscription_pause.json +19 -0
  110. data/test/fixtures/fake_subscription_registration.json +91 -0
  111. data/test/fixtures/fake_subscription_resume.json +19 -0
  112. data/test/fixtures/fake_token.json +31 -0
  113. data/test/fixtures/fake_transfer.json +18 -0
  114. data/test/fixtures/fake_transfer_reverse.json +15 -0
  115. data/test/fixtures/fake_update_payment.json +39 -0
  116. data/test/fixtures/fake_validate_vpa.json +5 -0
  117. data/test/fixtures/fake_virtual_account.json +21 -0
  118. data/test/fixtures/fake_virtual_account_allowed.json +46 -0
  119. data/test/fixtures/fake_virtual_account_closed.json +21 -0
  120. data/test/fixtures/fake_virtual_account_collection.json +48 -0
  121. data/test/fixtures/fake_virtual_account_receiver.json +46 -0
  122. data/test/fixtures/fund_collection.json +20 -0
  123. data/test/fixtures/hello_response.json +3 -0
  124. data/test/fixtures/invoice_collection.json +93 -0
  125. data/test/fixtures/issue_invoice.json +44 -0
  126. data/test/fixtures/item_collection.json +24 -0
  127. data/test/fixtures/order_collection.json +36 -0
  128. data/test/fixtures/order_payments.json +29 -0
  129. data/test/fixtures/payment_collection.json +32 -0
  130. data/test/fixtures/payment_collection_with_one_payment.json +19 -0
  131. data/test/fixtures/payment_link_collection.json +43 -0
  132. data/test/fixtures/payment_link_response.json +3 -0
  133. data/test/fixtures/payment_methods_collection.json +149 -0
  134. data/test/fixtures/plan_collection.json +32 -0
  135. data/test/fixtures/qrcode_collection.json +50 -0
  136. data/test/fixtures/qrcode_payments_collection.json +74 -0
  137. data/test/fixtures/refund_collection.json +30 -0
  138. data/test/fixtures/refund_collection_for_payment.json +22 -0
  139. data/test/fixtures/settlement_collection.json +26 -0
  140. data/test/fixtures/settlement_instant_collection.json +84 -0
  141. data/test/fixtures/settlement_report_collection.json +117 -0
  142. data/test/fixtures/subscription_collection.json +26 -0
  143. data/test/fixtures/success.json +3 -0
  144. data/test/fixtures/tokens_collection.json +36 -0
  145. data/test/fixtures/transfer_settlements_collection.json +38 -0
  146. data/test/fixtures/transfers_collection.json +41 -0
  147. data/test/fixtures/update_invoice.json +44 -0
  148. data/test/fixtures/welcome.json +3 -0
  149. data/test/razorpay/test_addon.rb +76 -0
  150. data/test/razorpay/test_card.rb +23 -0
  151. data/test/razorpay/test_customer.rb +69 -0
  152. data/test/razorpay/test_entity.rb +55 -0
  153. data/test/razorpay/test_fund_account.rb +42 -0
  154. data/test/razorpay/test_invoice.rb +143 -0
  155. data/test/razorpay/test_item.rb +66 -0
  156. data/test/razorpay/test_order.rb +71 -0
  157. data/test/razorpay/test_payment.rb +303 -0
  158. data/test/razorpay/test_payment_link.rb +83 -0
  159. data/test/razorpay/test_plan.rb +65 -0
  160. data/test/razorpay/test_qr_code.rb +63 -0
  161. data/test/razorpay/test_razorpay.rb +53 -0
  162. data/test/razorpay/test_refund.rb +56 -0
  163. data/test/razorpay/test_request.rb +15 -0
  164. data/test/razorpay/test_settlement.rb +76 -0
  165. data/test/razorpay/test_subscription.rb +190 -0
  166. data/test/razorpay/test_subscription_registration.rb +58 -0
  167. data/test/razorpay/test_transfer.rb +77 -0
  168. data/test/razorpay/test_utility.rb +84 -0
  169. data/test/razorpay/test_virtual_account.rb +135 -0
  170. data/test/test_helper.rb +54 -0
  171. metadata +400 -0
@@ -0,0 +1,262 @@
1
+ ## Tokens
2
+
3
+ ```rb
4
+ require "razorpay"
5
+
6
+ Razorpay.setup('key_id', 'key_secret')
7
+ ```
8
+
9
+ ### Fetch token by payment id
10
+ ```rb
11
+ paymentId = "pay_FHfqtkRzWvxky4"
12
+
13
+ Razorpay::Payment.fetch(paymentId)
14
+ ```
15
+
16
+ **Parameters:**
17
+
18
+ | Name | Type | Description |
19
+ |---------------|-------------|---------------------------------------------|
20
+ | paymentId* | string | The id of the payment to be fetched |
21
+
22
+ **Response:**
23
+ ```json
24
+ {
25
+ "id": "pay_FHfqtkRzWvxky4",
26
+ "entity": "payment",
27
+ "amount": 100,
28
+ "currency": "INR",
29
+ "status": "captured",
30
+ "order_id": "order_FHfnswDdfu96HQ",
31
+ "invoice_id": null,
32
+ "international": false,
33
+ "method": "card",
34
+ "amount_refunded": 0,
35
+ "refund_status": null,
36
+ "captured": true,
37
+ "description": null,
38
+ "card_id": "card_F0zoXUp4IPPGoI",
39
+ "bank": null,
40
+ "wallet": null,
41
+ "vpa": null,
42
+ "email": "gaurav.kumar@example.com",
43
+ "contact": "+919876543210",
44
+ "customer_id": "cust_DtHaBuooGHTuyZ",
45
+ "token_id": "token_FHfn3rIiM1Z8nr",
46
+ "notes": {
47
+ "note_key 1": "Beam me up Scotty",
48
+ "note_key 2": "Tea. Earl Gray. Hot."
49
+ },
50
+ "fee": 0,
51
+ "tax": 0,
52
+ "error_code": null,
53
+ "error_description": null,
54
+ "error_source": null,
55
+ "error_step": null,
56
+ "error_reason": null,
57
+ "acquirer_data": {
58
+ "auth_code": "541898"
59
+ },
60
+ "created_at": 1595449871
61
+ }
62
+ ```
63
+
64
+ -------------------------------------------------------------------------------------------------------
65
+
66
+ ### Fetch tokens by customer id
67
+
68
+ ```rb
69
+ customerId = "cust_1Aa00000000004"
70
+
71
+ Razorpay::Customer.fetch(customerId).fetchTokens
72
+ ```
73
+
74
+ **Parameters:**
75
+
76
+ | Name | Type | Description |
77
+ |---------------|-------------|---------------------------------------------|
78
+ | customerId* | string | The id of the customer to be fetched |
79
+
80
+ **Response:**
81
+ ```json
82
+ {
83
+ "entity":"collection",
84
+ "count":1,
85
+ "items":[
86
+ {
87
+ "id":"token_HouA2OQR5Z2jTL",
88
+ "entity":"token",
89
+ "token":"2JPRk664pZHUWG",
90
+ "bank":null,
91
+ "wallet":null,
92
+ "method":"card",
93
+ "card":{
94
+ "entity":"card",
95
+ "name":"Gaurav Kumar",
96
+ "last4":"8950",
97
+ "network":"Visa",
98
+ "type":"credit",
99
+ "issuer":"STCB",
100
+ "international":false,
101
+ "emi":false,
102
+ "sub_type":"consumer",
103
+ "expiry_month":12,
104
+ "expiry_year":2021,
105
+ "flows":{
106
+ "otp":true,
107
+ "recurring":true
108
+ }
109
+ },
110
+ "recurring":true,
111
+ "recurring_details":{
112
+ "status":"confirmed",
113
+ "failure_reason":null
114
+ },
115
+ "auth_type":null,
116
+ "mrn":null,
117
+ "used_at":1629779657,
118
+ "created_at":1629779657,
119
+ "expired_at":1640975399,
120
+ "dcc_enabled":false,
121
+ "billing_address":null
122
+ }
123
+ ]
124
+ }
125
+ ```
126
+ -------------------------------------------------------------------------------------------------------
127
+
128
+ ### Fetch particular token
129
+ ```rb
130
+ customerId = "cust_1Aa00000000004"
131
+
132
+ tokenId = "token_Hxe0skTXLeg9pF"
133
+
134
+ Razorpay::Customer.fetch(customerId).fetchToken(tokenId)
135
+ ```
136
+
137
+ **Parameters:**
138
+
139
+ | Name | Type | Description |
140
+ |---------------|-------------|---------------------------------------------|
141
+ | customerId* | string | The id of the customer to be fetched |
142
+ | tokenId* | string | The id of the token to be fetched |
143
+
144
+ **Response:**
145
+ ```json
146
+ {
147
+ "id": "token_Hxe0skTXLeg9pF",
148
+ "entity": "token",
149
+ "token": "F85BgXnGVwcuqV",
150
+ "bank": null,
151
+ "wallet": null,
152
+ "method": "card",
153
+ "card": {
154
+ "entity": "card",
155
+ "name": "ankit",
156
+ "last4": "5449",
157
+ "network": "MasterCard",
158
+ "type": "credit",
159
+ "issuer": "UTIB",
160
+ "international": false,
161
+ "emi": false,
162
+ "sub_type": "consumer",
163
+ "expiry_month": 12,
164
+ "expiry_year": 2024,
165
+ "flows": {
166
+ "recurring": true
167
+ }
168
+ },
169
+ "recurring": true,
170
+ "auth_type": null,
171
+ "mrn": null,
172
+ "used_at": 1632976165,
173
+ "created_at": 1631687852,
174
+ "expired_at": 1634215992,
175
+ "dcc_enabled": false
176
+ }
177
+ ```
178
+ -------------------------------------------------------------------------------------------------------
179
+
180
+ ### Delete token
181
+
182
+ ```rb
183
+ customerId = "cust_1Aa00000000004"
184
+
185
+ tokenId = "token_Hxe0skTXLeg9pF"
186
+
187
+ Razorpay::Customer.fetch(customerId).deleteToken(tokenId)
188
+ ```
189
+
190
+ **Parameters:**
191
+
192
+ | Name | Type | Description |
193
+ |---------------|-------------|---------------------------------------------|
194
+ | customerId* | string | The id of the customer to be fetched |
195
+ | tokenId* | string | The id of the token to be fetched |
196
+
197
+ **Response:**
198
+ ```json
199
+ {
200
+ "deleted": true
201
+ }
202
+ ```
203
+ -------------------------------------------------------------------------------------------------------
204
+ ### Fetch VPA tokens of a customer id
205
+
206
+ ```rb
207
+ Razorpay::Customer.fetch(customerId).fetchTokens
208
+ ```
209
+
210
+ **Parameters:**
211
+
212
+ | Name | Type | Description |
213
+ |---------------|-------------|---------------------------------------------|
214
+ | customerId* | string | The id of the customer to be fetched |
215
+
216
+ **Response:**
217
+ ```json
218
+ {
219
+ "entity": "collection",
220
+ "count": 1,
221
+ "items": [
222
+ {
223
+ "id": "token_EeroOjvOvorT5L",
224
+ "entity": "token",
225
+ "token": "4ydxm47GQjrIEx",
226
+ "bank": null,
227
+ "wallet": null,
228
+ "method": "card",
229
+ "card": {
230
+ "entity": "card",
231
+ "name": "Gaurav Kumar",
232
+ "last4": "8430",
233
+ "network": "Visa",
234
+ "type": "credit",
235
+ "issuer": "HDFC",
236
+ "international": false,
237
+ "emi": true,
238
+ "expiry_month": 12,
239
+ "expiry_year": 2022,
240
+ "flows": {
241
+ "otp": true,
242
+ "recurring": true
243
+ }
244
+ },
245
+ "vpa": null,
246
+ "recurring": false,
247
+ "auth_type": null,
248
+ "mrn": null,
249
+ "used_at": 1586976724,
250
+ "created_at": 1586976724,
251
+ "expired_at": 1672511399,
252
+ "dcc_enabled": false
253
+ }
254
+ ]
255
+ }
256
+ ```
257
+ -------------------------------------------------------------------------------------------------------
258
+
259
+ **PN: * indicates mandatory fields**
260
+ <br>
261
+ <br>
262
+ **For reference click [here](https://razorpay.com/docs/api/recurring-payments/upi/tokens/)**