Skip to content

Commit 6883bbc

Browse files
authored
feat(cobank): Add cobank withdraw APIs (#332)
* feat(cobank): Add cobank withdraw APIs into internal page * chore(cobank): apply comments * chore(cobank): optimize some texts
1 parent e7df921 commit 6883bbc

2 files changed

Lines changed: 360 additions & 0 deletions

File tree

Lines changed: 359 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,359 @@
1+
<h1 id="cobank-withdraw">برداشت کوبنک</h1>
2+
3+
برداشت کوبنک فقط برای انجام برداشت‌های ریالی طراحی و پیاده‌سازی شده است. این فرایند امکان انتقال وجه ریالی میان حساب‌های بانکی کاربر و حساب کاربری او را فراهم می‌کند و تمامی کنترل‌ها، محدودیت‌ها و الزامات مربوط به عملیات ریالی در آن لحاظ شده است.
4+
5+
6+
<h2 id="cobank-withdraw-request">ثبت درخواست برداشت کوبنک</h2>
7+
8+
```shell
9+
curl -X POST 'https://apiv2.nobitex.ir/cobank/withdraw' \
10+
-H 'Authorization: Token yourTOKENhereHEX0000000000' \
11+
-H 'Content-Type: application/json' \
12+
--data '{"destinationBankAccountId": 13568, "amount": "2500000000"}'
13+
```
14+
15+
```plaintext
16+
http POST https://apiv2.nobitex.ir/cobank/withdraw \
17+
destinationBankAccountId=13568 amount=2500000000
18+
```
19+
20+
> در صورت فراخوانی درست، پاسخ به این صورت خواهد بود:
21+
22+
```json
23+
{
24+
"status": "ok",
25+
"result": {
26+
"id": "CW430542",
27+
"createdAt": "2021-12-11T10:13:42.957103+00:00",
28+
"status": "New",
29+
"amount": "2500000000",
30+
"fee": "500000",
31+
"fulfilledAmount": "499500000",
32+
"bankAccountId": 13568,
33+
"bankAccountInfo": "صادرات: IR670190123456789001234567",
34+
"records": [
35+
{
36+
"amount": "1000000000",
37+
"bankReferenceNumber": null,
38+
"status": "Pending",
39+
"estimatedSettleAt": null,
40+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
41+
"transferType": "normal"
42+
},
43+
{
44+
"amount": "1000000000",
45+
"bankReferenceNumber": "35413545",
46+
"status": "Failed",
47+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
48+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
49+
"transferType": "paya"
50+
},
51+
{
52+
"amount": "499500000",
53+
"bankReferenceNumber": "35415784546",
54+
"status": "Transferred",
55+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
56+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
57+
"transferType": "satna"
58+
}
59+
]
60+
}
61+
}
62+
```
63+
64+
65+
> در صورتی که درخواست با خطا مواجه شود، پاسخ به این شکل خواهد بود
66+
67+
```json
68+
{
69+
"status": "failed",
70+
"code": "WithdrawUnavailable",
71+
"message": "WithdrawUnavailable"
72+
}
73+
```
74+
75+
76+
برای ثبت درخواست برداشت کوبنک از این نوع درخواست استفاده نمایید:
77+
78+
* **درخواست:** `POST /cobank/withdraw`
79+
* **<a href="/#ratelimit">محدودیت فراخوانی:</a>** 10 درخواست در 3 دقیقه
80+
* **این ویژگی باید ابتدا برای شما فعال شده باشد**
81+
82+
### پارامترهای ورودی
83+
84+
| پارامتر | نوع | پیش‌فرض | توضیحات | نمونه |
85+
|-------------------------|----------|---------|-------------------------|--------------------------------------|
86+
| destinationBankAccountId| int | الزامی | شناسه حساب‌بانکی کاربر | 13568 |
87+
| amount | monetary | الزامی | مقدار | 2500000000 |
88+
89+
90+
### پارامترهای خروجی
91+
92+
| پارامتر | نوع | توضیحات | نمونه |
93+
|-------------------------|----------|-------------------------|--------------------------------------|
94+
| id | int |شناسه درخواست برداشت ریالی که یک رشته خواهد بود و با WJ یا CW آغاز میشود و به دنبال آن عدد خواهد آمد. حرف WJ برای درخواست برداشت در فلوی قدیمی و CW برای درخواست برداشت در فلوی کوبنک خواهد بود | CW13568 |
95+
| createdAt | string | زمان ایجاد درخواست برداشت | 2021-12-11T10:13:42.957103+00:00 |
96+
| status | string | وضعیت درخواست برداشت | New |
97+
| amount | monetary | مقدار درخواست برداشت (ریال) | 2500000000 |
98+
| fee | monetary | مقدار کارمزد درخواست برداشت (ریال) | 20000 |
99+
| fulfilledAmount | monetary | مقدار برداشت انجام شده. (در ابتدا صفر است) | 1500000000 |
100+
| bankAccountId | int | شناسه حساب‌بانکی کاربر | 13568 |
101+
| bankAccountInfo | string | اطلاعات حساب‌بانکی شامل نام بانک و شماره حساب | صادرات: IR670190123456789001234567 |
102+
| records | array | لیست رکوردهای صفحه جزییات. این لیست برای برداشت‌های ریالی فلوی قدیمی خالی خواهد بود | |
103+
104+
### پارامترهای فیلد records
105+
106+
| پارامتر | نوع | توضیحات | نمونه |
107+
|-------------------------|-----------|-------------------------------------------------|-----------------------------------|
108+
| amount | monetary | مقدار درخواست برداشت ارسال شده به بانک (ریال) | 1000000000 |
109+
| bankReferenceNumber | string | کد پیگیری بانک | 123f345345g34634 |
110+
| status | string | وضعیت ریز تراکنش‌ها | Pending, Failed, Transferred |
111+
| estimatedSettleAt | string | زمان تخمینی واریز وجه به حساب کاربر | 2021-12-11T10:13:42.957103+00:00 |
112+
| providerUpdatedAt | string | زمان بروزرسانی وضعیت رکورد از سمت پروایدر | 2021-12-11T10:13:42.957103+00:00 |
113+
| transferType | string | نوع انتقال وجه | normal, paya, satana |
114+
115+
116+
### وضعیت‌های درخواست برداشت
117+
118+
| وضعیت | توضیحات |
119+
|----------------------|-------------------------------------------------|
120+
| New | ثبت درخواست توسط کاربر |
121+
| Sent | ارسال درخواست به پروایدر |
122+
| Bank processing | پردازش درخواست توسط بانک |
123+
| Partially Done | بخشی از درخواست موفق |
124+
| Done | درخواست کاملا موفق |
125+
| Failed | درخواست کاملا ناموفق |
126+
| Rejected | رد درخواست (توسط نوبیتکس، پروایدر یا بانک) |
127+
| Canceled | لغو درخواست توسط کاربر |
128+
129+
130+
### حالت‌های خطا
131+
132+
در صورتی که درخواست برداشت معتبر نباشد، ممکن است یکی از این خطاها برگردانده شود. در صورت دریافت هر یک از این خطاها، درخواست شما ثبت نشده است و در صورت تمایل باید درخواست را دوباره ارسال کنید.
133+
134+
کد خطا | توضیحات
135+
----------------------------------------------------------------------------------------------------| ---------
136+
UnAcceptedDisclaimerError | برای برداشت، لازم است موجودی کیف اسپات خود را تایید کنید.
137+
FeatureUnavailable | این امکان فعلا در دسترس شما نیست.
138+
ParseError | مشکلی در پارامتر ورودی وجود دارد.
139+
BankAccountNotFound | حساب بانکی مورد نظر پیدا نشد.
140+
TooManyRequests | قبلا درخواست داده‌اید، لطفا کمی صبر کنید.
141+
WithdrawUnavailable | برداشت تومان برای شما محدود شده است.
142+
WithdrawAmountLimitation | مقدار برداشت نباید از حداکثر مقدار قابل برداشت بیشتر باشد.
143+
InsufficientBalance | موجودی کافی نیست.
144+
AmountTooLow | مقدار برداشت نباید از حداقل مقدار قابل برداشت کمتر باشد.
145+
InsufficientBalanceOrInactiveWallet | موجودی کافی نیست.
146+
WithdrawLimitReached | در هر ۲۴ ساعت فقط ۳ برداشت تومانی و ۱۰ برداشت رمزارزی امکان‌پذیر است.
147+
AmountTooHigh | مقدار برداشت نباید از حداکثر مقدار قابل برداشت بیشتر باشد.
148+
ShabaWithdrawCannotProceed | سقف واریز به هر شماره شبا ۲۰۰ میلیون تومان است. می‌توانید مبلغ را به دو یا چند شماره شبا واریز کنید.
149+
150+
151+
### نکات و ملاحظات
152+
۱. برای استفاده از این ویژگی لازم است که ابتدا برای شما فعال شده باشد. در صورتی که درخواست برداشت کوبنک برای شما فعال نباشد، درخواست ارسالی از فلوی قدیمی برداشت ریالی پردازش خواهد شد.
153+
154+
۲. مقدار estimatedSettleAt و bankReferenceNumber در ابتدای ثبت درخواست خالی می‌باشد و پس از محاسبه و تخمین این فیلدها مقداردهی خواهد شد.
155+
156+
157+
158+
159+
160+
<h2 id="cobank-withdraw-details">جزئیات درخواست برداشت</h2>
161+
162+
```shell
163+
curl -X GET 'https://apiv2.nobitex.ir/cobank/withdraw/<id>' \
164+
-H 'Authorization: Token yourTOKENhereHEX0000000000' \
165+
-H 'Content-Type: application/json'
166+
```
167+
168+
```plaintext
169+
http GET https://apiv2.nobitex.ir/cobank/withdraw/<id>
170+
```
171+
172+
> در صورت فراخوانی درست، پاسخ به این صورت خواهد بود:
173+
174+
```json
175+
{
176+
"status": "ok",
177+
"result": {
178+
"id": "CW430542",
179+
"createdAt": "2021-12-11T10:13:42.957103+00:00",
180+
"status": "New",
181+
"amount": "2500000000",
182+
"fee": "500000",
183+
"fulfilledAmount": "499500000",
184+
"bankAccountId": 13568,
185+
"bankAccountInfo": "صادرات: IR670190123456789001234567",
186+
"records": [
187+
{
188+
"amount": "1000000000",
189+
"bankReferenceNumber": null,
190+
"status": "Pending",
191+
"estimatedSettleAt": null,
192+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
193+
"transferType": "normal"
194+
},
195+
{
196+
"amount": "1000000000",
197+
"bankReferenceNumber": "35413545",
198+
"status": "Failed",
199+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
200+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
201+
"transferType": "paya"
202+
},
203+
{
204+
"amount": "499500000",
205+
"bankReferenceNumber": "35415784546",
206+
"status": "Transferred",
207+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
208+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
209+
"transferType": "satna"
210+
}
211+
]
212+
}
213+
}
214+
```
215+
216+
217+
> در صورت مواجه با خطا چنین پاسخی خواهید داشت
218+
219+
220+
```json
221+
{
222+
"status": "failed",
223+
"code": "WithdrawRequestNotFound",
224+
"message": "Withdraw Request Not Found"
225+
}
226+
```
227+
228+
برای مشاهده جزئیات درخواست برداشت از این نوع درخواست استفاده نمایید:
229+
230+
* **درخواست:** `POST /cobank/withdraw/<id>`
231+
* **<a href="/#ratelimit">محدودیت فراخوانی:</a>** 60 درخواست در 2 دقیقه
232+
233+
### پارامترهای ورودی
234+
235+
| پارامتر | نوع | پیش‌فرض | توضیحات | نمونه |
236+
|----------|--------|-------------------------- |-------------------------|-------------|
237+
| id | string | الزامی | شناسه درخواست برداشت | CW256854 |
238+
239+
240+
### نکات و ملاحظات
241+
در صورتی که شناسه درخواست برداشت شما با WJ شروع شده باشد به این معنی است که این درخواست از فلوی قدیمی درخواست برداشت ریالی پردازش شده است. پیشوند درخواست برداشت کوبنک CW است.
242+
243+
244+
### حالت‌های خطا
245+
246+
کد خطا | توضیحات
247+
--------------------------------------------------------- | ---------
248+
WithdrawRequestNotFound | درخواست برداشت پیدا نشد.
249+
UnAcceptedDisclaimerError | برای برداشت، لازم است موجودی کیف اسپات خود را تایید کنید.
250+
251+
252+
253+
254+
255+
256+
<h2 id="cobank-withdraw-cancel">لغو درخواست برداشت</h2>
257+
258+
```shell
259+
curl -X POST 'https://apiv2.nobitex.ir/cobank/withdraw/<id>/cancel' \
260+
-H 'Authorization: Token yourTOKENhereHEX0000000000' \
261+
-H 'Content-Type: application/json'
262+
```
263+
264+
```plaintext
265+
http POST https://apiv2.nobitex.ir/cobank/withdraw/<id>/cancel
266+
```
267+
268+
> در صورت فراخوانی درست، پاسخ به این صورت خواهد بود:
269+
270+
```json
271+
{
272+
"status": "ok",
273+
"result": {
274+
"id": "CW430542",
275+
"createdAt": "2021-12-11T10:13:42.957103+00:00",
276+
"status": "Canceled",
277+
"amount": "2500000000",
278+
"fee": "500000",
279+
"fulfilledAmount": "499500000",
280+
"bankAccountId": 13568,
281+
"bankAccountInfo": "صادرات: IR670190123456789001234567",
282+
"records": [
283+
{
284+
"amount": "1000000000",
285+
"bankReferenceNumber": null,
286+
"status": "Pending",
287+
"estimatedSettleAt": null,
288+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
289+
"transferType": "normal"
290+
},
291+
{
292+
"amount": "1000000000",
293+
"bankReferenceNumber": "35413545",
294+
"status": "Failed",
295+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
296+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
297+
"transferType": "paya"
298+
},
299+
{
300+
"amount": "499500000",
301+
"bankReferenceNumber": "35415784546",
302+
"status": "Transferred",
303+
"estimatedSettleAt": "2021-12-11T10:13:42.957103+00:00",
304+
"providerUpdatedAt": "2021-12-11T10:13:42.957103+00:00",
305+
"transferType": "satna"
306+
}
307+
]
308+
}
309+
}
310+
```
311+
312+
313+
> در صورت مواجه با خطا چنین پاسخی خواهید داشت
314+
315+
316+
```json
317+
{
318+
"status": "failed",
319+
"code": "WithdrawRequestNotFound",
320+
"message": "Withdraw Request Not Found"
321+
}
322+
```
323+
324+
برای لغو درخواست برداشت از این نوع درخواست استفاده نمایید:
325+
326+
* **درخواست:** `POST /cobank/withdraw/<id>/cancel`
327+
* **<a href="/#ratelimit">محدودیت فراخوانی:</a>** 60 درخواست در 1 ساعت
328+
* **<a href="/#ratelimit">محدودیت فراخوانی:</a>** 10 درخواست در 1 دقیقه
329+
330+
### پارامترهای ورودی
331+
332+
| پارامتر | نوع | پیش‌فرض | توضیحات | نمونه |
333+
|----------|--------|-------------------------- |-------------------------|-------------|
334+
| id | string | الزامی | شناسه درخواست برداشت | CW256854 |
335+
336+
337+
### نکات و ملاحظات
338+
امکان لغو درخواست برداشت تا زمانی ممکن است که وضعیت درخواست در حالت New باشد و بیش از ۳ دقیقه از زمان ثبت آن نگذشته باشد.
339+
340+
341+
### حالت‌های خطا
342+
343+
کد خطا | توضیحات
344+
--------------------------------------------------------- | ---------
345+
WithdrawRequestNotFound | درخواست برداشت پیدا نشد.
346+
UnAcceptedDisclaimerError | برای برداشت، لازم است موجودی کیف اسپات خود را تایید کنید.
347+
CancellationFailed | لغو درخواست برداشت ناموفق شد.
348+
NotCancellable | لغو درخواست برداشت امکان‌پذیر نیست.
349+
350+
351+
352+
353+
354+
355+
356+
<h2 id="cobank-withdraw-history">تاریخچه درخواست‌های برداشت</h2>
357+
358+
سوابق برداشت کوبنک را میتوانید در <a href="/#withdraw-list">لیست درخواست برداشت ها</a> مشاهده کنید.
359+

source/internal.html.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ includes:
1717
- internal/ticketing
1818
- internal/batch_actions
1919
- internal/active_order_count
20+
- internal/cobank_withdraw
2021
toc_footers:
2122
- <a href='https://nobitex.ir/'>سایت نوبیتکس</a>
2223
---

0 commit comments

Comments
 (0)