سرویس های انتقال وجه
#
اصطلاحاتسرویس انتقال وجه، به منظور در اختيار گرفتن دسترسی حساب بانکی کاربر و سپس انتقال وجه به حساب ذینفعان پياده سازی شده است. در ابتدا اصطلاحات که در مستندات به کار رفته را تعریف ميکنيم.
کاربر/ پذیرنده: شخصی که در پنل پی استار حساب کاربری ایجاد کرده است.
اپليکيشن:برای فراخوانی وبسرویسهای انتقال وجه، نياز به ایجاد اپليکيشن ميباشد که به این منظور باید از طریق پنل کاربری برای ایجاد آن اقدام نمایید.
apiKey :یک توکن برای احراز هویت کاربر و دسترسی به اپليکيشن، به منظور فراخوانی وبسرویسهای دریافت دسترسی حساب و انتقال وجه است. این توکن باید در تمامی وبسرویسها به عنوان توکن bearer در هدر authorization ارسال شود.
refreshToken :توکن apiKey به مدت 24 ساعت معتبر است. لذا برای ایجاد apiKey جدید به refreshToken نياز ميباشد.
applicationId : شناسه اپليکيشن، که بعد از ایجاد اپليکيشن در اختيار کاربر قرار ميگيرد.
accessPassword :رمز دسترسی به اپليکيشن، که بعد از ایجاد اپليکيشن در اختيار کاربر قرار ميگيرد.
accessIp :آی پی های مجاز برای فراخوانی وبسرویسها که در اپليکيشن تنظيم شده اند.
#
وبسرویس refresh api keyhttps://core.paystar.ir/api/application/refresh-api-key
برای دریافت apiKey جدید ،سرویس بالا با متد POST فراخوانی شود.
پارامترهای ورودی
نام فیلد | نوع داده | شرح | اجباری |
---|---|---|---|
application_id | string | شناسه اپلیکیشن | بله |
access_password | string | رمز دسترسی اپلیکیشن | بله |
refresh_token | string | توکن بازیابی API key | بله |
درصورت فرخوانی موفق، پاسخ با وضعيت ok و در صورت فراخوانی ناموفق با وضعيت fail دریافت ميکنيد. نمونه پاسخ موفق به شکل زیر ميباشد.
#
وبسرویس انتقال وجه بانکیhttps://core.paystar.ir/api/bank-transfer/v2/settlement
پس از گرفتن دسترسی به حساب بانکی، برای انتقال وجه باید وبسرویس بالا را با متد POST فراخوانی کنيد.
پارامترهای ورودی
نام فیلد | نوع داده | شرح | اجباری |
---|---|---|---|
application_id | string | شناسه اپلیکیشن | بله |
access_password | string | رمز دسترسی اپلیکیشن | بله |
transfers | array | آرایهای از لیست درخواستهای انتقال وجه که هر درخواست یک object به فرمت جدول زیر میباشد | بله |
جدول نوع داده transfers
عنوان | نوع داده | شرح |
---|---|---|
amount | integer | مبلغ تراکنش |
deposit | string | شماره حساب مبداء |
destination_account | string | شماره حساب مقصد که میتوانید شماره حساب بانکی یا شماره شبا (26 کاراکتر) باشد (اگر حساب شما در بانک شامل کاراکتر اضافه مانند خط تیره میباشد با همان فرمت در پارامتر استفاده کنید) |
destination_firstname | string | نام صاحب حساب مقصد |
destination_lastname | string | نام خانوادگی صاحب حساب مقصد |
track_id | string | میتوانید با track id یکتا، از ایجاد دوباره یک تراکنش جلوگیری کنید. در صورت ورود track id تکراری خطا دریافت میکنید. |
pay_id | string | شناسه واریز (در صورتی که حساب مقصد شناسه دار باشد وارد کردن این فیلد الزامی می باشد) |
نمونه کد (php) :
نمونه کد (C# .net) :
نمونه کد (Python) :
#
وبسرویس دریافت لیست درخواستهای انتقال وجهhttps://core.paystar.ir/api/bank-transfer/settlement-requests
جهت دریافت ليست درخواستهای انتقال وجه ،سرویس بالا با متد GET فراخوانی گردد:
پارامترهای ورودی
نام فیلد | نوع داده | شرح | اجباری |
---|---|---|---|
application_id | string | شناسه اپلیکیشن | بله |
access_password | string | رمز دسترسی اپلیکیشن | بله |
deposit | string | شماره حساب بانک که در اپلیکیشن ثبت شده است | خیر |
track_id | string | کد رهگیری | خیر |
limit | integer | تعداد رکوردهای پاسخ | درصورت وارد کردن skip |
skip | integer | تعدادرکوردهایی که رد شوند | درصورت وارد کردن limit |
نمونه کد (php) :
نمونه کد (C# .net) :
نمونه کد (Python) :
#
وبسرویس دریافت موجودی حسابhttps://core.paystar.ir/api/open-banking/service/balance
جهت دریافت موجودی حساب بانکی ،سرویس بالا با متد GET فراخوانی گردد:
(در حال حاضر وبسرویس موجودی فقط برای بانک صادرات در دسترس است.)
پارامترهای ورودی
نام فیلد | نوع داده | شرح | اجباری |
---|---|---|---|
application_id | string | شناسه اپلیکیشن | بله |
access_password | string | رمز دسترسی اپلیکیشن | بله |
account_number | string | شماره حساب بانک که در اپلیکیشن ثبت شده است | بله |
پارامتر های خروجی (درصورت موفق بودن درخواست)
عنوان | نوع داده | شرح |
---|---|---|
available_balance | int | مانده در دسترس |
effective_balance | int | مانده موثر |
account | string | شماره حساب |
نمونه کد (php) :
نمونه کد (C# .net) :
نمونه کد (Python) :
#
وبسرویس دریافت صورتحسابhttps://core.paystar.ir/api/open-banking/service/invoice
جهت دریافت صورتحساب بانکی ،سرویس بالا با متد GET فراخوانی گردد:
(در حال حاضر وبسرویس صورتحساب فقط برای بانک صادرات در دسترس است.)
پارامترهای ورودی
نام فیلد | نوع داده | شرح | اجباری |
---|---|---|---|
application_id | string | شناسه اپلیکیشن | بله |
access_password | string | رمز دسترسی اپلیکیشن | بله |
account_number | string | شماره حساب بانک که در اپلیکیشن ثبت شده است | بله |
from_date | string | تاریخ میلادی شروع بازه صورتحساب (Y-m-d) | بله |
to_date | string | تاریخ میلادی پایان بازه صورتحساب (Y-m-d) | بله |
last_record | string | پارامتر صفحه بندی برای بانک صادرات | خیر |
page_size | number | تعداد رکورد هر پاسخ ( پیشفرض = 100 ) | خیر |
پارامتر های خروجی (درصورت موفق بودن درخواست)
عنوان | نوع داده | شرح |
---|---|---|
status | int | جدول وضعيت |
message | string | پيام سيستم |
data | InvoiceData | جدول نوع داده InvoiceData |
جدول نوع داده InvoiceData
عنوان | نوع داده | شرح |
---|---|---|
last_record | string | پارامتر مورد استفاده برای دریافت صفحه بعدی رکورد ها(بانک صادرات) |
transactions | Transaction آرایه ای از نوع داده | جدول نوع داده Transactions |
جدول نوع داده Transaction
عنوان | نوع داده | شرح |
---|---|---|
transaction_date_time | jalalidatetime | تاریخ شمسی تراکنش |
debit_amount | int | مبلغ برداشت شده |
credit_amount | int | مبلغ واریز شده |
description | string | کد شرح بانکی تراکنش |
balance | int | مانده پس از تراکنش |
transaction_trace | string | کد رهگیری |
branch_code | string | شعبه انجام تراکنش |
transaction_identity | string | uuid تراکنش انتقال مربوطه |
statement_status | string | وضعیت تراکنش |
source_account | string | حساب مبدا |
destination_account | string | حساب مقصد |
document_id | string | شناسه سند انتقال مربوطه |
customer_description | string | شرح تراکنش |
operation_code | string | کد تراکنش |