پرداخت کسب‌وکارهای واسط

خدمت‌دهنده

بازارچه پادیوم

مقدمه

با گسترش کسب وکارهایی که دارای ماهیت پلتفرمی هستند و نقش واسط بین کاربران و ارائه دهندگان خدمات را ایفا میکنند چالش دریافت پول و تسهیم آن میان ذینفعان پر رنگ تر شده است. دلیل این امر این است که با وجود اینکه سامانه ها یا واسطهای ارائه دهنده خدمات، کل مبلغ پرداختی را از کاربر دریافت می کنند اما عمدتا بخش کوچکی از این مبالغ متعلق به آنها است. دریافت این موجودی علاوه برتحمیل چالشهای مالیاتی، بار عملیاتی زیادی جهت انتقال سهم هریک از ذینفعان را نیز در پی خواهد داشت.

در واقع کسب وکارهای واسط پس از دریافت پول از کاربران، می بایست کارمزد خود را از وجوه دریافتی کسر کرده و مابقی را به حساب ذینفعان واریز کنند. در این مستند تلاش شده است که راهکاری به منظور مدیریت دریافت و تسهیم وجوه میان ذینفعان با کمترین پیچیدگی تشریح شود.

نکات:

  • سرویسهای به کار رفته در این مستند، تنها به عنوان نمونه معرفی شده اند.
  • امکان استفاده از سایر سرویسهای مشابه در هر مرحله وجود دارد.
  • امکان کاهش و افزایش و ابطال فاکتور، به منظور ساده سازی در این مستند آورده نشده است.
  • امکان تسویه خودکار حساب صنفی، به منظور ساده سازی در این مستند آورده نشده است.

فعالسازی سرویس

ارسال درخواست در سایت پادیوم www.podium.ir:

ابتدا وارد سایت پادیوم شده، سپس در بازارچه‌ی API، سرویسهای مورد نظر خود را انتخاب و درخواست استفاده از آن مجموعه سرویس را ارسال کنید.

clasor

درخواست شما توسط کارشناسان پادیوم، بررسی شده و بعد از تایید آن می‌توانید از طربق پنل کسب و کار خود اقدام به دریافت کلید اتصال مربوط به آن سرویس نمایید.

clasor

منو: پنل کسب و کار – منوی میزکار سرویس گیرنده – درخواستهای ارسالی – در بخش مربوط به سرویس مورد نظر با کلیک بر روی "جزئیات درخواست"

درلیست باز شده با کلیک بر روی تصویر کلید سمت چپ هر سطر جدول می‌توانید ApiKey مربوط به آن سرویس را دریافت و ذخیره کنید.

لینک پنل کسب و کار                                                                                                                                                                                     https://panel.pod.ir/Businesses/Requestwebservices

clasor

 

نکته : این کلید در تمام درخواست‌های ارسالی از آن سرویس ، ثابت است تا زمانی که کلید جدیدی برای آن سرویس دریافت نشود و به محض دریافت مقدار جدید برای سرویس مورد نظر, کلید قبلی منقضی خواهد شد.

-این کلید در فیلد scApiKey در بخش body درخواست HTTP ، استفاده می شود.

clasor

دریافت کلیدهای سرویس یک (دسته/مجموعه) سرویس در قالب یک فایل:

بعداز فشردن دکمه ی تایید سرویس در پنجره باز شده بالا ، برای تمامی سرویسهای موجود در پنل می‌توانید از گزینه "دریافت فایل خروجی"، لیست کاملی از سرویس‌ها و کلیدهای scApiKey متناظر با هر یک را دریافت کنید.

clasor

مرحله 1: درگاه پرداخت

درخواست فعالسازی درگاه پرداخت و دریافت آن ارائه شود. برای این منظور توضیحات مربوطه را در صفحه پرداخت مطالعه فرمایید.

مرحله 2: افتتاح حساب دیجیتال پاسارگاد

لازم است کسب و کارهای ذینفع نیز حساب دیجتال پاسارگاد افتتاح نمایند.

سرویس زیر عملیات مهم زیر را در یک عملیات انجام می‌دهد:

  • با استفاده از نام کاربری و ایمیل و شماره موبایل که دریافت می کند، امکان ورود به پنل مدیریت کسب و کار برای کسب و کار دیگر فراهم می‌شود
  • اطلاعات کسب و کار در پلتفرم (اصلی یا سندباکس) ثبت می‌شود
  • یک اپلیکیشن (client) پیشفرض برای کسب و کار به صورت یکپارچه ایجاد می‌شود که برای هر دو سرور سندباکس و اصلی اعتبار دارد
  • بنابراین در صورتی که سرویس زیر را برای مثال در سندباکس فراخوانی نمودید، برای انتقال به سرور اصلی کافیست با همان توکنی که برای کسب و کار از سرور سندباکس دریافت نموده‌اید، اطلاعات پروفایل کاربر را در سرور اصلی دریافت نموده و یک کسب و کار برای آن کاربر ثبت نمایید.
  • لازم به ذکر است، شماره شبای این کسب و کارها مبتنی بر کد ملی صاحب کسب و کار ساخته می‌شود. در صورتی که owner کسب و کار تغییر یابد، شماره شباهای ساخته شده با کد ملی قبلی غیر فعال شده و از حساب‌های کسب و کار جدا می‌گردد تا owner جدید با کد ملی خود، شبای جدید دریافت نماید.
  • همچنین در این سرویس می توان از کد به جای اسامی کشور، استان و شهر استفاده نمود (که در ادامه سرویس های مربوط به اخذ کد را معرفی خواهیم کرد.)

اضافه کردن کسب و کار زیر مجموعه

شناسه سرویس : 29832

ورودی

Header

توکن ثابت کسب وکار، که از پنل کسب وکار قابل دریافت است

yourBusinessToken

_token_

این پارامتر همواره دارای مقدار ثابت 1 است .

1

_token_issuer_

این پارامتر نوع داده ارسالی به سرور را مشخص میکند که همواره باید دارای مقدار ثابت application/x-www-form-urlencoded'  باشد

application/x-www-form-urlencoded

Content-Type

 

Body

شناسه سرویس

 29832   

scProductId

کلید فراخوانی سرویس

 

scApiKey

   

username

   

businessName

 

[]

guildCode

   

country

   

state

   

city

   

address

   

description

   

ownerId

   

country

   

state

   

city

   

address

   

description

   

email

   

cellphone

   

agentFirstName

   

agentLastName

   

agentCellphoneNumber

   

sheba

   

nationalCode

   

economicCode

   

registrationNumber

   

postalCode

   

fax

   

phone

   

logoImage

   

agentNationalCode

   

lat

   

lng

   

coverImage

 

خروجی

در صورت وقوع خطا در فراخوانی سرویس true خواهد بود

true/false

hasError

جهت بررسی لاگ درخواست و ریسپانس توسط کارشناسان پادیوم ، استفاده میشود. توصیه می شود این پارامتر را برای هر درخواست ذخیره کنید.

string

referenceNumber

 

string

result

شناسه کسب و کار

 

Id

شناسه کاربر

 

userId

شناسه sso کاربر

 

ssoId

توکن ایجاد شده برای کسب  وکار جدید

 

apiToken

نمونه درخواست

Request

html

 

نمونه پاسخ

json

 

 

json

 

سرویس افزودن کسب و کار واسط

شناسه سرویس: 29827

(سندباکس: 39323)

اجازه ثبت فاکتور به فروشنده: بوسیله‌ی این سرویس، کسب وکار سود برنده، میتواند کسب وکار فروشنده (واسط) برای خود مشخص نماید.

به این معنی که کسب وکار واسط میتواند، فاکتورهایی را با نام و مشخصات کسب وکار سود برنده صادر نماید،

پارامترهای ورودی

نام پارامتر

نوع

توضیحات

scProductId

String

شناسه سرویس 29827

scApiKey

String

این مقدار را بعد از درخواست سرویس و تایید پادیوم ، میتوانید از پنل یا از طریق api دریافت نمایید.

dealerBizId

 

بیزنس آیدی کسب وکار واسط

allProductAllow

 

وضعیت دسترسی به تمام محصولات

پارامترهای خروجی

نام پارامتر

نوع

توضیحات

hasError

true/false

در صورت وقوع خطا در فراخوانی سرویس true خواهد بود

referenceNumber

string

جهت بررسی لاگ درخواست و ریسپانس توسط کارشناسان پادیوم ، استفاده میشود. توصیه می شود این پارامتر را برای هر درخواست ذخیره کنید.

result

  پاسخ نهایی سرویس

مقادیر خروجی

business

 

 مشخصات کسب وکار سود برنده

dealer

 

مشخصات کسب وکار واسط / فروشنده

enable

true/false

وضعیت فعال / غیرفعال بودن واسطه گر

allProductAllow

true/false

وضعیت دسترسی به تمام محصولات

نمونه درخواست

Request

HTTP

نمونه پاسخ

Response

JSON

 businesspanel.pod.ir «کارگزاری » کارگزارهای من» افزودن کارگزار

مرحله 4: صدور فاکتور تسهیمی

کسب و کار معامله گر که لازم است فاکتور تسهیمی صادر نماید باید از جانب کسب و کارهای سهیم دارای مجوز صدور فاکتور باشد. همچنین در این سرویس امکان برای یک کسب وکار با ایجاد فاکتور تسهیمی برای چند صنف مختلف با توجه به رشته json، در نظر گرفته شده است. سپس می تواند با استفاده از سرویس زیر تسهیم فروش انجام دهد:

سرویس صدور فاکتور تسهیمی

شناسه سرویس: 29798

یک فاکتور تسهیمی شامل  3 بخش اصلی می باشد.

 mainInvoice

subInvoices

customerInvoiceItemVOs

* mainInvoice:

فاکتور اصلی ، اطلاعات مربوط به سهم فروشنده از فروش ، و همینطور محل واریز درآمد به حساب تفصیلی کسب وکار فروشنده در این بخش قرار میگیرد.

* subInvoices:

فاکتور و سهم سایر  ذینفعان از فروش ،  در این بخش قرار میگیرد، که به صورت یک آرایه از چند Object فاکتور  ، وارد میشود. که دراین قسمت شناسه کسب وکار ،ذینفع و سود برنده از این فروش ، به همراه محل واریز ( حساب تفصیلی آن کسب وکار ) و همینطور میزان سهمی که از فروش می برد ، آورده میشود . 

*  customerInvoiceItemVOs:

اطلاعات فاکتور نهایی که به مشتری نمایش داده میشود در این بخش می آید ، که مبلغ فاکتور ، حاصل مجموع بخشهای فاکتور اصلی و سایر سود برندگان از فروش است .این فاکتور به مشتری نشان داده میشود ، و تنها این فاکتور است ، که قابل پرداخت خواهد بود .

ساختار فاکتور تسهیمی

Request

JSON

توجه داشته باشید که در مقادیر بالا معادله زیر باید برقرار باشد:

سهم فروشنده + (سهم سایر سودبرندگان ) = مبلغ پرداختی توسط کاربر در فاکتور

* دقت شود که پارامتر billNumber باید برای کسب وکار یونیک باشد.

* اگر فاکتور ، بدون تایید پرداخت ایجاد شود، شما برای پرداخت فاکتور تسهیمی توسط مشتری لازم است، شناسه customerInvoice جهت پرداخت ارسال گردد.

سایر فاکتورهای متصل قابل پرداخت نیستند.

همچنین سایر کسب و کارهای ذینفع فقط فاکتور مربوط به خود را خواهند دید که قابل پرداخت نمی باشند.

برای پرداخت فاکتور می توانید مقدار result -> customerInvoice -> id را با انواع روش های پرداخت ارسال نمایید.

یا از مقدار result -> customerInvoice-> uniqueNumber برای پرداخت پیشرفته استفاده نمایید.

برای تایید فاکتور یا لغو فاکتور یا بستن فاکتور، مقدار result -> customerInvoice -> id را بفرستید.

با توجه به اینکه در فاکتور تسهیمی، آدرس کاربر در خروجی subinvoiceها قابل مشاهده نمی‌باشد، جهت دسترسی هر کسب و کار به آدرس کاربر، امکان ارسال addressId برای subInvoiceها نیز  فراهم گردیده است.

در صورتی که addressId در subInvoice ارسال گردد، آدرس کاربر در خروجی subInvoice فاکتور قابل مشاهده خواهد بود.

پارامترهای ورودی:

نام پارامتر

نوع

توضیحات

scProductId

29798

شناسه سرویس

scApiKey

کلید فراخوانی سرویس

این مقدار را بعد از درخواست سرویس و تایید پادیوم ، میتوانید از پنل یا از طریق api دریافت نمایید.

data

 

رشته حاوی اطلاعات فاکتورها json

delegatorId                

 

شناسه تفویض کنندگان، ترتیب اولویت را مشخص می کند

delegationHash          

 

کد تفویض برای اشاره به یک تفویض مشخصر

forceDelegation         

 

پرداخت فقط از طریق تفویض

پارامترهای خروجی:

نام پارامتر

نوع

توضیحات

hasError

true/false

در صورت وقوع خطا در فراخوانی سرویس true خواهد بود

referenceNumber

string

جهت بررسی لاگ درخواست و ریسپانس توسط کارشناسان پادیوم ، استفاده میشود. توصیه می شود این پارامتر را برای هر درخواست ذخیره کنید.

result

  پاسخ نهایی سرویس

نمونه data

Request

JSON

نمونه درخواست

Request

JSON

نمونه پاسخ

Response

JSON

 

مرحله 5: تولید لینک پرداخت

از آدرس زیر استفاده شود. به جای returnuri.ir آدرس بازگشتی ثبت شده هنگام فعالسازی درگاه پرداخت جایگزین شود.

نمونه لینک پرداخت

Request

HTTP

 

لینک پرداخت باید به مشتری ارائه و توسط او پرداخت شود.

مرحله 6: کنترل پرداخت

چنانچه مشتری با استفاده از لینک پرداخت، فاکتور را پرداخت کند، آدرس بازگشتی فراخوانی شده و مقادیر پارامترهای پرداخت شده به آن ارسال می شود.

نمونه فراخوانی آدرس بازگشتی

Request

HTTP

کسب و کار واسط باید مقادیر ارسال شده به آدرس بازگشتی را کنترل نماید تا متوجه پرداخت فاکتور شود

مرحله 7: بستن فاکتور

سرویس بستن فاکتور

شناسه سرویس: 29812

(سندباکس: 39307)

برای اینکه بتوانید مبالغ فروش خود را تسویه نمایید ( و از حساب دیجیتال خود خارج کنید ) لازم است حتما فاکتورها را ببندید.

با این عمل فیلدclosed در مشخصات فاکتور true خواهد شد.

فاکتور هایی که بسته شوند دیگر قابل ابطال نیستند.

* در صورتی که فاکتور مورد نظر تسهیمی است، شناسه ای که باید به این سرویس ارسال گردد، معادل result -> id موجود در خروجی فاکتور تسهیمی می باشد. تا زمانی که فاکتور بسته نشود هیچکدام از ذینفعان قادر به تسویه و برداشت سهم خود نیستند.

* چنانچه فاکتور به صورت safe=true صادر شده باشد ( مراجعه شود به سرویس صدور فاکتور فیلد safe ) و یا فاکتور متعلق به کسب و کار شما نباشد پیغام خطای " اجازه بستن این فاکتور را ندارید " دریافت خواهید کرد.

* هنگام استفاده از این وب سرویس به نکات زیر دقت نمایید:

مبلغ فاکتور بعد از واریز شاپرک قابل برداشت خواهد بود.

بعد از فراخوانی این سرویس امکان کاهش فاکتور یا لغو فاکتور وجود ندارد.

جهت عودت  وجه به مشتری پرداخت کننده فاکتور، لازم است از سرویس"انتقال وجه به مشتریان براساس فاکتور 34988 " - transferByInvoice استفاده نمایید که شامل کارمزد می باشد.(این سرویس در مجموعه سرویس حساب دیجیتال قرار دارد)

بعد از فراخوانی این سرویس وضعیت فاکتور دیگر تغییر نخواهد کرد

ورودی

Header

توکن ثابت کسب وکار، که از پنل کسب وکار قابل دریافت است

yourBusinessToken

_token_

این پارامتر همواره دارای مقدار ثابت 1 است.

1

_token_issuer_

این پارامتر نوع داده ارسالی به سرور را مشخص میکند که همواره باید دارای مقدار ثابت application/x-www-form-urlencoded'  باشد

application/x-www-form-urlencoded

Content-Type

Body

شناسه سرویس29812

29812

scProductId

این مقدار را بعد از درخواست سرویس و تایید پادیوم ، میتوانید از پنل یا از طریق api دریافت نمایید.

کلید فراخوانی سرویس

scApiKey

سایر پارامترهای سرویس در Body

شناسه فاکتور invoiceId

 

id

خروجی

در صورت وقوع خطا در فراخوانی سرویس true خواهد بود

true/false

hasError

جهت بررسی لاگ درخواست و ریسپانس توسط کارشناسان پادیوم ، استفاده میشود. توصیه می شود این پارامتر را برای هر درخواست ذخیره کنید.

string

referenceNumber

.پاسخ نهایی سرویس  : نتیجه سرویس بستن فاکتور

TRUE

result

نمونه درخواست

Request

HTTP

 

نمونه پاسخ

Response

JSON

 

مرحله 8: تسویه شاپرکی

تسویه شاپرکی توسط سامانه شاپرک در ساعت 9 صبح برای فاکتورهای بسته شده تا ساعت 22 شب قبل انجام شده و این فاکتورها قابل تسویه می شوند. البته ممکن است به دلیل طولانی شدن عملیات مغایرت گیری شاپرکی، تسویه شاپرکی بیشتر از این بازه طول بکشد.

مرحله 9: مبلغ قابل تسویه

سرویس دریافت موجودی کسب و کار

شناسه سرویس: 39634

با استفاده از سرویس زیر میتوانید موجودی حسابهای تفصیلی و کیف پول خود را بدست آورید.

میتوانید تنها موجودی یک حساب تفصیلی خاص را با وارد کردن کد آن بدست آورید .

* customerAmountSrvs  : در این فیلد خروجی اطلاعات موجودی کیف پول کسب وکار خود را خواهید داشت.

* mainBusinessAmountSrvs : در این فیلد ، لیستی از حسابهای تفصیلی کسب وکار و موجودی آن را بدست خواهید آورد.

دقت شود که با وارد کردن کد صنف در درخواست ، تنها اطلاعات آن حساب باز خواهد گشت .

* withdrawableAmount   : نمایش مبلغ قابل برداشت 

* notWithdrawableAmount : نمایش میزان مبلغ غیر قابل برداشت .

* amount  : نمایش تمام مبلغ موجود در حساب .

پارامترهای ورودی

scProductId

39634

guildCode

کد صنف

نمونه درخواست

Request

HTTP

 

نمونه پاسخ

Response

JSON

 

مرحله 10: ثبت حساب برای تسویه

برای انجام تسویه ، باید شماره شبای مقصد مورد نظر  را پیش از تسویه ، در سیستم اضافه نمایید. این کار برای هر حساب فقط یک بار انجام می شود و برای تسویه های بعدی به مقصد این حساب، نیازی به ثبت دوباره آن نیست.

سرویس اضافه کردن شبا معتبر جهت تسویه

شناسه سرویس: 46871

ورودی

Header

توکن ثابت کسب وکار، که از پنل کسب وکار قابل دریافت است

yourBusinessToken

_token_

این پارامتر همواره دارای مقدار ثابت 1 است .

1

_token_issuer_

این پارامتر نوع داده ارسالی به سرور را مشخص میکند که همواره باید دارای مقدار ثابت application/x-www-form-urlencoded'  باشد

application/x-www-form-urlencoded

Content-Type

Body

شناسه سرویس

 46871

scProductId

کلید فراخوانی سرویس

 

scApiKey

   

sheba

   

name

خروجی

در صورت وقوع خطا در فراخوانی سرویس true خواهد بود

true/false

hasError

جهت بررسی لاگ درخواست و ریسپانس توسط کارشناسان پادیوم ، استفاده میشود. توصیه می شود این پارامتر را برای هر درخواست ذخیره کنید.

string

referenceNumber

 

string

result

نمونه درخواست

Request

HTTP

 

نمونه پاسخ

Response

JSON

 

businesspanel.pod.ir » حسابهای تفصیلی » کارتها و شباها » شماره های شبا » شماره شبای جدید

مرحله 11: درخواست تسویه حساب

سرویس تسویه و برداشت از حساب تفصیلی کسب و کار

شناسه سرویس: 2467366

 (سندباکس: 158268)

در حساب های صنفی همواره مبلغی به عنوان مبلغ قابل تسویه وجود دارد که شامل دارایی کسب و کار بجز فاکتورهای باز و یا فاکتورهایی که مبلغ آن ها هنوز واریز نشده است، می باشد. مبلغ قابل تسویه را می توان از طریقAPI زیر تسویه نمود.

پارامترهای ورودی

scProductId

 شناسه سرویس (  2467366 )

firstName

 نام صاحب حسابی که تسویه به آن واریز می گردد

lastName

 نام خانوادگی صاحب حسابی که تسویه به آن واریز می گردد

sheba

 شماره شبا حسابی که تسویه به آن واریز می گردد

amount

* مبلغ برداشت

guildCode *

 کد صنف

currencyCode

 

uniqueId

 شناسه یکتا

paymentId

 شناسه پرداخت

description

 شرح دلخواه

نمونه درخواست

Request

HTTP

 

نمونه پاسخ

Response

JSON

 

نکته: به جای درخواست تسویه حساب تفصیلی به صورت موردی، می توان از تسویه خودکار استفاده کرد تا در هر 24 ساعت یک بار به صورت خودکار تسویه حساب انجام شود.

مرحله 12: تسویه حساب کسب و کار ذی نفع

بعد از تسویه حساب تفصیلی کسب و کار واسط، کسب و کار واسط می تواند مراحل مربوط به کسب و کار ذی نفع را به جای او انجام دهد. در غیر این صورت کسب و کار ذی نفع می تواند شخصا این مراحل را انجام دهد. همچنین کسب و کار واسط باید برای فراخوانی سرویسها به جای کسب و کار ذی نفع، از توکن کسب و کار ذی نفع که از مرحله 2 به دست آمده است استفاده کند.

مبلغ قابل تسویه

دریافت مبلغ قابل تسویه ذی نفع توسط سرویس 39634

ثبت حساب

ثبت حساب برای تسویه ذی نفع توسط سرویس 46871

businesspanel.pod.ir » حسابهای تفصیلی » کارتها و شباها » شماره های شبا » شماره شبای جدید

تسویه حساب

تسویه حساب ذینفع توسط سرویس 2467366

خطاهای معمول در پلتفرم

 

کد خطا

توضیح

21

توکن کسب­­وکاری وارد نشده است

4

PERMISSION_DENIED -  اجازه بستن این فاکتور را ندارید

45

BILL_ALREADY_CLOSED - فاکتور بسته شده است.

55

BILL_NOT_PAYED - اگر فاکتوری که پرداخت نشده است را بخواهید ببندید این خطا را دریافت می کنید.

58

BILL_IS_WAITING_FOR_VERIFICATION  -  فاکتور تا قبل از تایید شدن قابل بستن نمی باشد.

227

تایم اوت سرویس اصلی

378

ارسال پاسخ از سرویس اصلی به پلتفرم با مشکل مواجه شده است

999

UNKHOWN - خطای داخلی

 

Clasor npm package version 2.1.4
به پادیوم قدرت داده اند:
pasargad
fanap
pod