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.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.editorconfig +12 -0
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/ruby.yml +38 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +22 -0
- data/.simplecov +3 -0
- data/CHANGELOG.md +168 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +102 -0
- data/Rakefile +26 -0
- data/documents/Invoice.md +539 -0
- data/documents/addon.md +191 -0
- data/documents/card.md +610 -0
- data/documents/customer.md +163 -0
- data/documents/emandate.md +492 -0
- data/documents/fund.md +89 -0
- data/documents/items.md +208 -0
- data/documents/order.md +281 -0
- data/documents/papernach.md +738 -0
- data/documents/payment.md +826 -0
- data/documents/paymentLink.md +1063 -0
- data/documents/paymentVerification.md +79 -0
- data/documents/plan.md +184 -0
- data/documents/qrcode.md +439 -0
- data/documents/refund.md +325 -0
- data/documents/registerEmandate.md +452 -0
- data/documents/registerNach.md +653 -0
- data/documents/settlement.md +478 -0
- data/documents/subscriptions.md +752 -0
- data/documents/tokens.md +262 -0
- data/documents/transfers.md +781 -0
- data/documents/upi.md +545 -0
- data/documents/virtualAccount.md +591 -0
- data/lib/ca-bundle.crt +3988 -0
- data/lib/extensions/httparty/hash_conversions.rb +44 -0
- data/lib/razorpay/addon.rb +32 -0
- data/lib/razorpay/card.rb +17 -0
- data/lib/razorpay/collection.rb +6 -0
- data/lib/razorpay/constants.rb +6 -0
- data/lib/razorpay/customer.rb +42 -0
- data/lib/razorpay/entity.rb +46 -0
- data/lib/razorpay/errors/bad_request_error.rb +14 -0
- data/lib/razorpay/errors/gateway_error.rb +7 -0
- data/lib/razorpay/errors/razorpay_error.rb +11 -0
- data/lib/razorpay/errors/server_error.rb +7 -0
- data/lib/razorpay/errors.rb +4 -0
- data/lib/razorpay/fund_account.rb +19 -0
- data/lib/razorpay/invoice.rb +68 -0
- data/lib/razorpay/item.rb +34 -0
- data/lib/razorpay/order.rb +39 -0
- data/lib/razorpay/payment.rb +116 -0
- data/lib/razorpay/payment_link.rb +36 -0
- data/lib/razorpay/payment_method.rb +17 -0
- data/lib/razorpay/plan.rb +24 -0
- data/lib/razorpay/qr_code.rb +34 -0
- data/lib/razorpay/refund.rb +27 -0
- data/lib/razorpay/request.rb +119 -0
- data/lib/razorpay/settlement.rb +39 -0
- data/lib/razorpay/subscription.rb +60 -0
- data/lib/razorpay/subscription_registration.rb +16 -0
- data/lib/razorpay/transfer.rb +35 -0
- data/lib/razorpay/utility.rb +57 -0
- data/lib/razorpay/virtual_account.rb +49 -0
- data/lib/razorpay.rb +37 -0
- data/razorpay-ruby.gemspec +36 -0
- data/test/fixtures/addon_collection.json +60 -0
- data/test/fixtures/bad_request_error.json +7 -0
- data/test/fixtures/cancel_invoice.json +44 -0
- data/test/fixtures/cancel_subscription.json +20 -0
- data/test/fixtures/create_json_payment.json +13 -0
- data/test/fixtures/customer_collection.json +22 -0
- data/test/fixtures/delete_token.json +3 -0
- data/test/fixtures/downtimes_collection.json +21 -0
- data/test/fixtures/empty.json +2 -0
- data/test/fixtures/fake_addon.json +24 -0
- data/test/fixtures/fake_captured_payment.json +13 -0
- data/test/fixtures/fake_card.json +9 -0
- data/test/fixtures/fake_create_upi_payment.json +3 -0
- data/test/fixtures/fake_customer.json +8 -0
- data/test/fixtures/fake_customer_edited.json +8 -0
- data/test/fixtures/fake_direct_transfer.json +32 -0
- data/test/fixtures/fake_downtime.json +14 -0
- data/test/fixtures/fake_fund_account.json +18 -0
- data/test/fixtures/fake_instant_settlement.json +19 -0
- data/test/fixtures/fake_invoice.json +30 -0
- data/test/fixtures/fake_item.json +9 -0
- data/test/fixtures/fake_order.json +10 -0
- data/test/fixtures/fake_order_transfers.json +88 -0
- data/test/fixtures/fake_otp_generate.json +19 -0
- data/test/fixtures/fake_otp_resend.json +7 -0
- data/test/fixtures/fake_otp_submit.json +5 -0
- data/test/fixtures/fake_payment.json +14 -0
- data/test/fixtures/fake_payment_authorized_webhook.json +40 -0
- data/test/fixtures/fake_payment_bank_transfer.json +12 -0
- data/test/fixtures/fake_payment_link.json +40 -0
- data/test/fixtures/fake_pending_update.json +30 -0
- data/test/fixtures/fake_plan.json +26 -0
- data/test/fixtures/fake_qrcode.json +20 -0
- data/test/fixtures/fake_qrcode_close.json +22 -0
- data/test/fixtures/fake_recurring.json +5 -0
- data/test/fixtures/fake_refund.json +8 -0
- data/test/fixtures/fake_refunded_payment.json +14 -0
- data/test/fixtures/fake_settlement.json +11 -0
- data/test/fixtures/fake_settlement_on_demand.json +39 -0
- data/test/fixtures/fake_subscription.json +20 -0
- data/test/fixtures/fake_subscription_pause.json +19 -0
- data/test/fixtures/fake_subscription_registration.json +91 -0
- data/test/fixtures/fake_subscription_resume.json +19 -0
- data/test/fixtures/fake_token.json +31 -0
- data/test/fixtures/fake_transfer.json +18 -0
- data/test/fixtures/fake_transfer_reverse.json +15 -0
- data/test/fixtures/fake_update_payment.json +39 -0
- data/test/fixtures/fake_validate_vpa.json +5 -0
- data/test/fixtures/fake_virtual_account.json +21 -0
- data/test/fixtures/fake_virtual_account_allowed.json +46 -0
- data/test/fixtures/fake_virtual_account_closed.json +21 -0
- data/test/fixtures/fake_virtual_account_collection.json +48 -0
- data/test/fixtures/fake_virtual_account_receiver.json +46 -0
- data/test/fixtures/fund_collection.json +20 -0
- data/test/fixtures/hello_response.json +3 -0
- data/test/fixtures/invoice_collection.json +93 -0
- data/test/fixtures/issue_invoice.json +44 -0
- data/test/fixtures/item_collection.json +24 -0
- data/test/fixtures/order_collection.json +36 -0
- data/test/fixtures/order_payments.json +29 -0
- data/test/fixtures/payment_collection.json +32 -0
- data/test/fixtures/payment_collection_with_one_payment.json +19 -0
- data/test/fixtures/payment_link_collection.json +43 -0
- data/test/fixtures/payment_link_response.json +3 -0
- data/test/fixtures/payment_methods_collection.json +149 -0
- data/test/fixtures/plan_collection.json +32 -0
- data/test/fixtures/qrcode_collection.json +50 -0
- data/test/fixtures/qrcode_payments_collection.json +74 -0
- data/test/fixtures/refund_collection.json +30 -0
- data/test/fixtures/refund_collection_for_payment.json +22 -0
- data/test/fixtures/settlement_collection.json +26 -0
- data/test/fixtures/settlement_instant_collection.json +84 -0
- data/test/fixtures/settlement_report_collection.json +117 -0
- data/test/fixtures/subscription_collection.json +26 -0
- data/test/fixtures/success.json +3 -0
- data/test/fixtures/tokens_collection.json +36 -0
- data/test/fixtures/transfer_settlements_collection.json +38 -0
- data/test/fixtures/transfers_collection.json +41 -0
- data/test/fixtures/update_invoice.json +44 -0
- data/test/fixtures/welcome.json +3 -0
- data/test/razorpay/test_addon.rb +76 -0
- data/test/razorpay/test_card.rb +23 -0
- data/test/razorpay/test_customer.rb +69 -0
- data/test/razorpay/test_entity.rb +55 -0
- data/test/razorpay/test_fund_account.rb +42 -0
- data/test/razorpay/test_invoice.rb +143 -0
- data/test/razorpay/test_item.rb +66 -0
- data/test/razorpay/test_order.rb +71 -0
- data/test/razorpay/test_payment.rb +303 -0
- data/test/razorpay/test_payment_link.rb +83 -0
- data/test/razorpay/test_plan.rb +65 -0
- data/test/razorpay/test_qr_code.rb +63 -0
- data/test/razorpay/test_razorpay.rb +53 -0
- data/test/razorpay/test_refund.rb +56 -0
- data/test/razorpay/test_request.rb +15 -0
- data/test/razorpay/test_settlement.rb +76 -0
- data/test/razorpay/test_subscription.rb +190 -0
- data/test/razorpay/test_subscription_registration.rb +58 -0
- data/test/razorpay/test_transfer.rb +77 -0
- data/test/razorpay/test_utility.rb +84 -0
- data/test/razorpay/test_virtual_account.rb +135 -0
- data/test/test_helper.rb +54 -0
- metadata +400 -0
@@ -0,0 +1,591 @@
|
|
1
|
+
## Virtual account
|
2
|
+
|
3
|
+
```rb
|
4
|
+
require "razorpay"
|
5
|
+
|
6
|
+
Razorpay.setup('key_id', 'key_secret')
|
7
|
+
```
|
8
|
+
|
9
|
+
### Create a virtual account
|
10
|
+
```rb
|
11
|
+
para_attr = {
|
12
|
+
"receivers": {
|
13
|
+
"types": [
|
14
|
+
"bank_account"
|
15
|
+
]
|
16
|
+
},
|
17
|
+
"description": "Virtual Account created for Raftar Soft",
|
18
|
+
"customer_id": "cust_CaVDm8eDRSXYME",
|
19
|
+
"close_by": 1681615838,
|
20
|
+
"notes": {
|
21
|
+
"project_name": "Banking Software"
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
Razorpay::VirtualAccount.create(para_attr)
|
26
|
+
```
|
27
|
+
|
28
|
+
**Parameters:**
|
29
|
+
|
30
|
+
| Name | Type | Description |
|
31
|
+
|---------------|-------------|---------------------------------------------|
|
32
|
+
| receivers* | object | Array that defines what receivers are available for this Virtual Account |
|
33
|
+
| description | string | A brief description of the virtual account. |
|
34
|
+
| customer_id | string | Unique identifier of the customer to whom the virtual account must be tagged. |
|
35
|
+
| close_by | integer | UNIX timestamp at which the virtual account is scheduled to be automatically closed. |
|
36
|
+
| notes | integer | Any custom notes you might want to add to the virtual account can be entered here. |
|
37
|
+
|
38
|
+
**Response:**
|
39
|
+
```json
|
40
|
+
{
|
41
|
+
"id":"va_DlGmm7jInLudH9",
|
42
|
+
"name":"Acme Corp",
|
43
|
+
"entity":"virtual_account",
|
44
|
+
"status":"active",
|
45
|
+
"description":"Virtual Account created for Raftar Soft",
|
46
|
+
"amount_expected":null,
|
47
|
+
"notes":{
|
48
|
+
"project_name":"Banking Software"
|
49
|
+
},
|
50
|
+
"amount_paid":0,
|
51
|
+
"customer_id":"cust_CaVDm8eDRSXYME",
|
52
|
+
"receivers":[
|
53
|
+
{
|
54
|
+
"id":"ba_DlGmm9mSj8fjRM",
|
55
|
+
"entity":"bank_account",
|
56
|
+
"ifsc":"RATN0VAAPIS",
|
57
|
+
"bank_name": "RBL Bank",
|
58
|
+
"name":"Acme Corp",
|
59
|
+
"notes":[],
|
60
|
+
"account_number":"2223330099089860"
|
61
|
+
}
|
62
|
+
],
|
63
|
+
"close_by":1681615838,
|
64
|
+
"closed_at":null,
|
65
|
+
"created_at":1574837626
|
66
|
+
}
|
67
|
+
```
|
68
|
+
|
69
|
+
-------------------------------------------------------------------------------------------------------
|
70
|
+
|
71
|
+
### Create a virtual account with TPV
|
72
|
+
```rb
|
73
|
+
Razorpay::VirtualAccount.create({
|
74
|
+
"receivers": {
|
75
|
+
"types": [
|
76
|
+
"bank_account"
|
77
|
+
]
|
78
|
+
},
|
79
|
+
"allowed_payers": [
|
80
|
+
{
|
81
|
+
"type": "bank_account",
|
82
|
+
"bank_account": {
|
83
|
+
"ifsc": "RATN0VAAPIS",
|
84
|
+
"account_number": 2223330027558515
|
85
|
+
}
|
86
|
+
}
|
87
|
+
],
|
88
|
+
"description": "Virtual Account created for Raftar Soft",
|
89
|
+
"customer_id": "cust_HssUOFiOd2b1TJ",
|
90
|
+
"notes": {
|
91
|
+
"project_name": "Banking Software"
|
92
|
+
}
|
93
|
+
})
|
94
|
+
```
|
95
|
+
|
96
|
+
**Parameters:**
|
97
|
+
|
98
|
+
| Name | Type | Description |
|
99
|
+
|---------------|-------------|---------------------------------------------|
|
100
|
+
| receivers* | object | Array that defines what receivers are available for this Virtual Account |
|
101
|
+
| allowed_payers* | object | All parameters listed [here](https://razorpay.com/docs/api/smart-collect-tpv/#create-virtual-account) are supported |
|
102
|
+
| description | string | A brief description of the virtual account. |
|
103
|
+
| customer_id | string | Unique identifier of the customer to whom the virtual account must be tagged. |
|
104
|
+
| notes | integer | Any custom notes you might want to add to the virtual account can be entered here. |
|
105
|
+
|
106
|
+
**Response:**
|
107
|
+
```json
|
108
|
+
{
|
109
|
+
"id":"va_DlGmm7jInLudH9",
|
110
|
+
"name":"Acme Corp",
|
111
|
+
"entity":"virtual_account",
|
112
|
+
"status":"active",
|
113
|
+
"description":"Virtual Account created for Raftar Soft",
|
114
|
+
"amount_expected":null,
|
115
|
+
"notes":{
|
116
|
+
"project_name":"Banking Software"
|
117
|
+
},
|
118
|
+
"amount_paid":0,
|
119
|
+
"customer_id":"cust_CaVDm8eDRSXYME",
|
120
|
+
"receivers":[
|
121
|
+
{
|
122
|
+
"id":"ba_DlGmm9mSj8fjRM",
|
123
|
+
"entity":"bank_account",
|
124
|
+
"ifsc":"RATN0VAAPIS",
|
125
|
+
"bank_name": "RBL Bank",
|
126
|
+
"name":"Acme Corp",
|
127
|
+
"notes":[],
|
128
|
+
"account_number":"2223330099089860"
|
129
|
+
}
|
130
|
+
],
|
131
|
+
"allowed_payers": [
|
132
|
+
{
|
133
|
+
"type": "bank_account",
|
134
|
+
"id":"ba_DlGmm9mSj8fjRM",
|
135
|
+
"bank_account": {
|
136
|
+
"ifsc": "UTIB0000013",
|
137
|
+
"account_number": "914010012345679"
|
138
|
+
}
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"type": "bank_account",
|
142
|
+
"id":"ba_Cmtnm5tSj6agUW",
|
143
|
+
"bank_account": {
|
144
|
+
"ifsc": "UTIB0000014",
|
145
|
+
"account_number": "914010012345680"
|
146
|
+
}
|
147
|
+
}
|
148
|
+
],
|
149
|
+
"close_by":1681615838,
|
150
|
+
"closed_at":null,
|
151
|
+
"created_at":1574837626
|
152
|
+
}
|
153
|
+
```
|
154
|
+
|
155
|
+
-------------------------------------------------------------------------------------------------------
|
156
|
+
|
157
|
+
### Create static/dynamic qr
|
158
|
+
```rb
|
159
|
+
Razorpay::VirtualAccount.create({
|
160
|
+
"receivers": {
|
161
|
+
"types": [
|
162
|
+
"qr_code"
|
163
|
+
]
|
164
|
+
},
|
165
|
+
"description": "First QR code",
|
166
|
+
"amount_expected": 100,
|
167
|
+
"notes": {
|
168
|
+
"receiver_key": "receiver_value"
|
169
|
+
}
|
170
|
+
})
|
171
|
+
```
|
172
|
+
|
173
|
+
**Parameters:**
|
174
|
+
|
175
|
+
| Name | Type | Description |
|
176
|
+
|---------------|-------------|---------------------------------------------|
|
177
|
+
| receivers* | array | Array that defines what receivers are available for this Virtual Account |
|
178
|
+
| description | string | A brief description of the payment. |
|
179
|
+
| amount_expected | integer | The maximum amount you expect to receive in this virtual account. Pass `69999` for ₹699.99. |
|
180
|
+
| notes | object | All keys listed [here](https://razorpay.com/docs/payments/payments/payment-methods/bharatqr/api/#create) are supported |
|
181
|
+
|
182
|
+
**Response:**
|
183
|
+
```json
|
184
|
+
{
|
185
|
+
"id": "va_4xbQrmEoA5WJ0G",
|
186
|
+
"name": "Acme Corp",
|
187
|
+
"entity": "virtual_account",
|
188
|
+
"status": "active",
|
189
|
+
"description": "First Payment by BharatQR",
|
190
|
+
"amount_expected": null,
|
191
|
+
"notes": {
|
192
|
+
"reference_key": "reference_value"
|
193
|
+
},
|
194
|
+
"amount_paid": 0,
|
195
|
+
"customer_id": "cust_805c8oBQdBGPwS",
|
196
|
+
"receivers": [
|
197
|
+
{
|
198
|
+
"id": "qr_4lsdkfldlteskf",
|
199
|
+
"entity": "qr_code",
|
200
|
+
"reference": "AgdeP8aBgZGckl",
|
201
|
+
"short_url": "https://rzp.io/i/PLs03pOc"
|
202
|
+
}
|
203
|
+
],
|
204
|
+
"close_by": null,
|
205
|
+
"closed_at": null,
|
206
|
+
"created_at": 1607938184
|
207
|
+
}
|
208
|
+
```
|
209
|
+
-------------------------------------------------------------------------------------------------------
|
210
|
+
|
211
|
+
### Fetch virtual account by id
|
212
|
+
```rb
|
213
|
+
virtualId = "va_IDDYE8gYTLJCEH"
|
214
|
+
|
215
|
+
Razorpay::VirtualAccount.fetch(virtualId)
|
216
|
+
```
|
217
|
+
|
218
|
+
**Parameters:**
|
219
|
+
|
220
|
+
| Name | Type | Description |
|
221
|
+
|---------------|-------------|---------------------------------------------|
|
222
|
+
| virtualId* | string | The id of the virtual to be updated |
|
223
|
+
|
224
|
+
**Response:**
|
225
|
+
For fetch virtual account by id response please click [here](https://razorpay.com/docs/api/smart-collect/#fetch-a-virtual-account-by-id)
|
226
|
+
-------------------------------------------------------------------------------------------------------
|
227
|
+
|
228
|
+
### Fetch all virtual account
|
229
|
+
```rb
|
230
|
+
options = {"count":1}
|
231
|
+
|
232
|
+
Razorpay::VirtualAccount.all(options)
|
233
|
+
```
|
234
|
+
|
235
|
+
**Parameters:**
|
236
|
+
|
237
|
+
| Name | Type | Description |
|
238
|
+
|-------|-----------|--------------------------------------------------|
|
239
|
+
| from | timestamp | timestamp after which the payments were created |
|
240
|
+
| to | timestamp | timestamp before which the payments were created |
|
241
|
+
| count | integer | number of payments to fetch (default: 10) |
|
242
|
+
| skip | integer | number of payments to be skipped (default: 0) |
|
243
|
+
|
244
|
+
**Response:**
|
245
|
+
```json
|
246
|
+
{
|
247
|
+
"entity": "collection",
|
248
|
+
"count": 1,
|
249
|
+
"items": [
|
250
|
+
{
|
251
|
+
"id": "va_Di5gbNptcWV8fQ",
|
252
|
+
"name": "Acme Corp",
|
253
|
+
"entity": "virtual_account",
|
254
|
+
"status": "closed",
|
255
|
+
"description": "Virtual Account created for M/S ABC Exports",
|
256
|
+
"amount_expected": 2300,
|
257
|
+
"notes": {
|
258
|
+
"material": "teakwood"
|
259
|
+
},
|
260
|
+
"amount_paid": 239000,
|
261
|
+
"customer_id": "cust_DOMUFFiGdCaCUJ",
|
262
|
+
"receivers": [
|
263
|
+
{
|
264
|
+
"id": "ba_Di5gbQsGn0QSz3",
|
265
|
+
"entity": "bank_account",
|
266
|
+
"ifsc": "RATN0VAAPIS",
|
267
|
+
"bank_name": "RBL Bank",
|
268
|
+
"name": "Acme Corp",
|
269
|
+
"notes": [],
|
270
|
+
"account_number": "1112220061746877"
|
271
|
+
}
|
272
|
+
],
|
273
|
+
"close_by": 1574427237,
|
274
|
+
"closed_at": 1574164078,
|
275
|
+
"created_at": 1574143517
|
276
|
+
}
|
277
|
+
]
|
278
|
+
}
|
279
|
+
```
|
280
|
+
-------------------------------------------------------------------------------------------------------
|
281
|
+
|
282
|
+
### Fetch payments for a virtual account
|
283
|
+
```rb
|
284
|
+
virtualId = "va_IDDYE8gYTLJCEH"
|
285
|
+
|
286
|
+
options = {"count":1}
|
287
|
+
|
288
|
+
Razorpay::VirtualAccount.fetch(virtualId).payments(options)
|
289
|
+
```
|
290
|
+
|
291
|
+
**Parameters:**
|
292
|
+
|
293
|
+
| Name | Type | Description |
|
294
|
+
|-------|-----------|--------------------------------------------------|
|
295
|
+
| virtualId* | string | The id of the virtual to be updated |
|
296
|
+
| from | timestamp | timestamp after which the payments were created |
|
297
|
+
| to | timestamp | timestamp before which the payments were created |
|
298
|
+
| count | integer | number of payments to fetch (default: 10) |
|
299
|
+
| skip | integer | number of payments to be skipped (default: 0) |
|
300
|
+
|
301
|
+
**Response:**
|
302
|
+
```json
|
303
|
+
{
|
304
|
+
"entity": "collection",
|
305
|
+
"count": 1,
|
306
|
+
"items": [
|
307
|
+
{
|
308
|
+
"id": "pay_Di5iqCqA1WEHq6",
|
309
|
+
"entity": "payment",
|
310
|
+
"amount": 239000,
|
311
|
+
"currency": "INR",
|
312
|
+
"status": "captured",
|
313
|
+
"order_id": null,
|
314
|
+
"invoice_id": null,
|
315
|
+
"international": false,
|
316
|
+
"method": "bank_transfer",
|
317
|
+
"amount_refunded": 0,
|
318
|
+
"refund_status": null,
|
319
|
+
"captured": true,
|
320
|
+
"description": "",
|
321
|
+
"card_id": null,
|
322
|
+
"bank": null,
|
323
|
+
"wallet": null,
|
324
|
+
"vpa": null,
|
325
|
+
"email": "saurav.kumar@example.com",
|
326
|
+
"contact": "+919972139994",
|
327
|
+
"customer_id": "cust_DOMUFFiGdCaCUJ",
|
328
|
+
"notes": [],
|
329
|
+
"fee": 2820,
|
330
|
+
"tax": 430,
|
331
|
+
"error_code": null,
|
332
|
+
"error_description": null,
|
333
|
+
"created_at": 1574143644
|
334
|
+
}
|
335
|
+
]
|
336
|
+
}
|
337
|
+
```
|
338
|
+
|
339
|
+
-------------------------------------------------------------------------------------------------------
|
340
|
+
|
341
|
+
### Fetch payment details using id and transfer method
|
342
|
+
```rb
|
343
|
+
paymend_id = "pay_Di5iqCqA1WEHq6"
|
344
|
+
|
345
|
+
Razorpay::Payment.fetch(paymend_id).bank_transfer
|
346
|
+
```
|
347
|
+
|
348
|
+
**Parameters:**
|
349
|
+
|
350
|
+
| Name | Type | Description |
|
351
|
+
|-------|-----------|--------------------------------------------------|
|
352
|
+
| paymentId* | string | The id of the paymentId to be updated |
|
353
|
+
|
354
|
+
**Response:**
|
355
|
+
```json
|
356
|
+
{
|
357
|
+
"id": "bt_Di5iqCElVyRlCb",
|
358
|
+
"entity": "bank_transfer",
|
359
|
+
"payment_id": "pay_Di5iqCqA1WEHq6",
|
360
|
+
"mode": "NEFT",
|
361
|
+
"bank_reference": "157414364471",
|
362
|
+
"amount": 239000,
|
363
|
+
"payer_bank_account": {
|
364
|
+
"id": "ba_Di5iqSxtYrTzPU",
|
365
|
+
"entity": "bank_account",
|
366
|
+
"ifsc": "UTIB0003198",
|
367
|
+
"bank_name": "Axis Bank",
|
368
|
+
"name": "Acme Corp",
|
369
|
+
"notes": [],
|
370
|
+
"account_number": "765432123456789"
|
371
|
+
},
|
372
|
+
"virtual_account_id": "va_Di5gbNptcWV8fQ",
|
373
|
+
"virtual_account": {
|
374
|
+
"id": "va_Di5gbNptcWV8fQ",
|
375
|
+
"name": "Acme Corp",
|
376
|
+
"entity": "virtual_account",
|
377
|
+
"status": "closed",
|
378
|
+
"description": "Virtual Account created for M/S ABC Exports",
|
379
|
+
"amount_expected": 2300,
|
380
|
+
"notes": {
|
381
|
+
"material": "teakwood"
|
382
|
+
},
|
383
|
+
"amount_paid": 239000,
|
384
|
+
"customer_id": "cust_DOMUFFiGdCaCUJ",
|
385
|
+
"receivers": [
|
386
|
+
{
|
387
|
+
"id": "ba_Di5gbQsGn0QSz3",
|
388
|
+
"entity": "bank_account",
|
389
|
+
"ifsc": "RATN0VAAPIS",
|
390
|
+
"bank_name": "RBL Bank",
|
391
|
+
"name": "Acme Corp",
|
392
|
+
"notes": [],
|
393
|
+
"account_number": "1112220061746877"
|
394
|
+
}
|
395
|
+
],
|
396
|
+
"close_by": 1574427237,
|
397
|
+
"closed_at": 1574164078,
|
398
|
+
"created_at": 1574143517
|
399
|
+
}
|
400
|
+
}
|
401
|
+
```
|
402
|
+
-------------------------------------------------------------------------------------------------------
|
403
|
+
|
404
|
+
### Refund payments made to a virtual account
|
405
|
+
```rb
|
406
|
+
paymend_id = "pay_Di5iqCqA1WEHq6"
|
407
|
+
|
408
|
+
options = {
|
409
|
+
"amount": "100",
|
410
|
+
"speed": "normal",
|
411
|
+
"notes": {
|
412
|
+
"notes_key_1": "Beam me up Scotty.",
|
413
|
+
"notes_key_2": "Engage"
|
414
|
+
},
|
415
|
+
"receipt": "Receipt No. 31"
|
416
|
+
}
|
417
|
+
|
418
|
+
Razorpay::Payment.fetch(payment_id).refund(options)
|
419
|
+
```
|
420
|
+
|
421
|
+
**Parameters:**
|
422
|
+
|
423
|
+
| Name | Type | Description |
|
424
|
+
|-------|-----------|--------------------------------------------------|
|
425
|
+
| paymentId* | string | The id of the payment to be updated |
|
426
|
+
| amount | integer | The amount to be captured (should be equal to the authorized amount, in paise) | |
|
427
|
+
| speed | string | Here, it must be normal |
|
428
|
+
| notes | array | A key-value pair |
|
429
|
+
| receipt | string | A unique identifier provided by you for your internal reference. |
|
430
|
+
|
431
|
+
**Response:**
|
432
|
+
```json
|
433
|
+
{
|
434
|
+
"id": "rfnd_FP8QHiV938haTz",
|
435
|
+
"entity": "refund",
|
436
|
+
"amount": 500100,
|
437
|
+
"receipt": "Receipt No. 31",
|
438
|
+
"currency": "INR",
|
439
|
+
"payment_id": "pay_FCXKPFtYfPXJPy",
|
440
|
+
"notes": [],
|
441
|
+
"receipt": null,
|
442
|
+
"acquirer_data": {
|
443
|
+
"arn": null
|
444
|
+
},
|
445
|
+
"created_at": 1597078866,
|
446
|
+
"batch_id": null,
|
447
|
+
"status": "processed",
|
448
|
+
"speed_processed": "normal",
|
449
|
+
"speed_requested": "normal"
|
450
|
+
}
|
451
|
+
```
|
452
|
+
-------------------------------------------------------------------------------------------------------
|
453
|
+
|
454
|
+
### Add receiver to an existing virtual account
|
455
|
+
```rb
|
456
|
+
virtualId = "va_Di5gbNptcWV8fQ"
|
457
|
+
|
458
|
+
para_attr = {
|
459
|
+
"types": [
|
460
|
+
"vpa"
|
461
|
+
],
|
462
|
+
"vpa": {
|
463
|
+
"descriptor": "gauravkumar"
|
464
|
+
}
|
465
|
+
}
|
466
|
+
|
467
|
+
Razorpay::VirtualAccount.add_receiver(virtualId, para_attr)
|
468
|
+
```
|
469
|
+
|
470
|
+
**Parameters:**
|
471
|
+
|
472
|
+
| Name | Type | Description |
|
473
|
+
|-------|-----------|--------------------------------------------------|
|
474
|
+
| virtualId* | string | The id of the virtual to be updated |
|
475
|
+
| types* | object | The receiver type to be added to the virtual account. Possible values are `vpa` or `bank_account` |
|
476
|
+
| vpa.descriptor | string | Descriptor should be 10 characters only. |
|
477
|
+
|
478
|
+
**Response:**
|
479
|
+
For add receiver to an existing virtual account response please click [here](https://razorpay.com/docs/api/smart-collect/#add-receiver-to-an-existing-virtual-account)
|
480
|
+
|
481
|
+
-------------------------------------------------------------------------------------------------------
|
482
|
+
|
483
|
+
### Add an Allowed Payer Account
|
484
|
+
```rb
|
485
|
+
|
486
|
+
virtualId = "va_Di5gbNptcWV8fQ"
|
487
|
+
|
488
|
+
para_attr = {
|
489
|
+
"type": "bank_account",
|
490
|
+
"bank_account": {
|
491
|
+
"ifsc": "UTIB0000013",
|
492
|
+
"account_number": 914010012345679
|
493
|
+
}
|
494
|
+
}
|
495
|
+
|
496
|
+
Razorpay::VirtualAccount.allowed_payer(virtualId, para_attr)
|
497
|
+
```
|
498
|
+
|
499
|
+
**Parameters:**
|
500
|
+
|
501
|
+
| Name | Type | Description |
|
502
|
+
|-------|-----------|--------------------------------------------------|
|
503
|
+
| virtualId* | string | The id of the virtual to be updated |
|
504
|
+
| type* | object | The receiver type to be added to the virtual account. Possible values are `vpa` or `bank_account` |
|
505
|
+
| bank_account* | object | Indicates the bank account details such as `ifsc` and `account_number` |
|
506
|
+
|
507
|
+
**Response:**
|
508
|
+
```json
|
509
|
+
{
|
510
|
+
"id":"va_DlGmm7jInLudH9",
|
511
|
+
"name":"Acme Corp",
|
512
|
+
"entity":"virtual_account",
|
513
|
+
"status":"active",
|
514
|
+
"description":"Virtual Account created for Raftar Soft",
|
515
|
+
"amount_expected":null,
|
516
|
+
"notes":{
|
517
|
+
"project_name":"Banking Software"
|
518
|
+
},
|
519
|
+
"amount_paid":0,
|
520
|
+
"customer_id":"cust_CaVDm8eDRSXYME",
|
521
|
+
"receivers":[
|
522
|
+
{
|
523
|
+
"id":"ba_DlGmm9mSj8fjRM",
|
524
|
+
"entity":"bank_account",
|
525
|
+
"ifsc":"RATN0VAAPIS",
|
526
|
+
"bank_name": "RBL Bank",
|
527
|
+
"name":"Acme Corp",
|
528
|
+
"notes":[],
|
529
|
+
"account_number":"2223330099089860"
|
530
|
+
}
|
531
|
+
],
|
532
|
+
"allowed_payers": [
|
533
|
+
{
|
534
|
+
"type": "bank_account",
|
535
|
+
"id":"ba_DlGmm9mSj8fjRM",
|
536
|
+
"bank_account": {
|
537
|
+
"ifsc": "UTIB0000013",
|
538
|
+
"account_number": "914010012345679"
|
539
|
+
}
|
540
|
+
}
|
541
|
+
],
|
542
|
+
"close_by":1681615838,
|
543
|
+
"closed_at":null,
|
544
|
+
"created_at":1574837626
|
545
|
+
}
|
546
|
+
```
|
547
|
+
-------------------------------------------------------------------------------------------------------
|
548
|
+
|
549
|
+
### Delete an Allowed Payer Account
|
550
|
+
```rb
|
551
|
+
virtualId = "va_Di5gbNptcWV8fQ"
|
552
|
+
|
553
|
+
allowedPayersId = "ba_J0XikIKgezi6PC"
|
554
|
+
|
555
|
+
Razorpay::VirtualAccount.delete_allowed_payer(virtualId,allowedPayersId)
|
556
|
+
```
|
557
|
+
|
558
|
+
**Parameters:**
|
559
|
+
|
560
|
+
| Name | Type | Description |
|
561
|
+
|-------|-----------|--------------------------------------------------|
|
562
|
+
| virtualId* | string | The id of the virtual to be updated |
|
563
|
+
| allowedPayersId* | string | The id of the allowed payers to be updated |
|
564
|
+
|
565
|
+
**Response:**
|
566
|
+
```json
|
567
|
+
null
|
568
|
+
```
|
569
|
+
-------------------------------------------------------------------------------------------------------
|
570
|
+
### Close virtual account
|
571
|
+
```rb
|
572
|
+
virtualId = "va_Di5gbNptcWV8fQ"
|
573
|
+
|
574
|
+
Razorpay::VirtualAccount.close(virtualId)
|
575
|
+
```
|
576
|
+
|
577
|
+
**Parameters:**
|
578
|
+
|
579
|
+
| Name | Type | Description |
|
580
|
+
|-------|-----------|--------------------------------------------------|
|
581
|
+
| virtualId* | string | The id of the virtual to be updated |
|
582
|
+
|
583
|
+
**Response:**
|
584
|
+
For close virtual account response please click [here](https://razorpay.com/docs/api/smart-collect/#close-a-virtual-account)
|
585
|
+
|
586
|
+
-------------------------------------------------------------------------------------------------------
|
587
|
+
|
588
|
+
**PN: * indicates mandatory fields**
|
589
|
+
<br>
|
590
|
+
<br>
|
591
|
+
**For reference click [here](https://razorpay.com/docs/smart-collect/api/)**
|