مقدمه
امکان پرداخت قبوض آب، برق، گاز و... یکی از امکانات کلیدی مورد نیاز در اپلیکیشنهای پرداخت و همچنین سامانههای مدیریت ساختمان است. به منظور پرداخت قبوض خدماتی، میتوانید از این سرویس استفاده کنید. با ارائه شناسه قبض و شناسه پرداخت، میتوانید انواع قبوض خدماتی را از طریق «سرزمین هوشمند پاد» پرداخت کنید. تمام قبوض خدماتی از جمله آب و فاضلاب، برق، گاز، تلفن ثابت و تلفن همراه (ایرانسل و رایتل) و خلافی خودرو با استفاده از این سرویس قابل پرداخت هستند.
فعالسازی سرویس
ارسال درخواست در سایت پادیوم www.podium.ir:
ابتدا وارد سایت پادیوم شده، سپس در بازارچهی API، سرویسهای مورد نظر خود را انتخاب و درخواست استفاده از آن مجموعه سرویس را ارسال کنید.
درخواست شما توسط کارشناسان پادیوم، بررسی شده و بعد از تایید آن میتوانید از طربق پنل کسب و کار خود اقدام به دریافت کلید اتصال مربوط به آن سرویس نمایید.
منو: پنل کسب و کار – منوی میزکار سرویس گیرنده – درخواستهای ارسالی – در بخش مربوط به سرویس مورد نظر با کلیک بر روی "جزئیات درخواست"
درلیست باز شده با کلیک بر روی تصویر کلید سمت چپ هر سطر جدول میتوانید ApiKey مربوط به آن سرویس را دریافت و ذخیره کنید.
لینک پنل کسب و کار https://panel.pod.ir/Businesses/Requestwebservices
نکته : این کلید در تمام درخواستهای ارسالی از آن سرویس ، ثابت است تا زمانی که کلید جدیدی برای آن سرویس دریافت نشود و به محض دریافت مقدار جدید برای سرویس مورد نظر, کلید قبلی منقضی خواهد شد.
-این کلید در فیلد scApiKey در بخش body درخواست HTTP ، استفاده می شود.
دریافت کلیدهای سرویس یک (دسته/مجموعه) سرویس در قالب یک فایل:
بعداز فشردن دکمه ی تایید سرویس در پنجره باز شده بالا ، برای تمامی سرویسهای موجود در پنل میتوانید از گزینه "دریافت فایل خروجی"، لیست کاملی از سرویسها و کلیدهای scApiKey متناظر با هر یک را دریافت کنید.
پرداخت قبض (کیف پول)
جهت پرداخت قبوض خدماتی، لازم است شماره قبض و شناسه پرداخت را به سرویس زیر ارسال نمایید. در صورت موفقیت در پرداخت قبض، مبلغ در قالب یک فاکتور از حساب مربوط به دارندهی توکن برداشته می شود و قبض پرداخت میگردد.
لازم به ذکر است، پرداخت قبوض تلفن همراه با این سرویس به صورت آنی است. همچنین امکان پرداخت قبض راهور ناجا از طریق این سرویس وجود ندارد.
شناسه سرویس: 27903493
پارامترهای ورودی:
نام پارامتر | نوع | توضیحات |
شناسه قبض | billId | شناسه قبض بدون صفرهای سمت چپ وارد نمایید |
شناسه پرداخت | paymentId | شناسه پرداخت بدون صفرهای سمت چپ وارد نمایید, |
پارامتر های خروجی :
نام پارامتر | نوع | توضیحات |
hasError | bool | نشان دهنده ی این است که آیا سرویس با موفقیت از روی پلتفرم پاد فراخوانی شده است یا خیر. |
messageId | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
referenceNumber | string | شناسه ی درخواست در پلتفرم پاد. |
errorCode | int | کد ارور پلتفرمی. |
Count | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Ott | string | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Result | object | نتیجه ی فراخوانی سرویس در این آبجکت نمایش داده می شود که در ادامه شرح داده خواهد شد. |
نکته: طبق موارد مطرح شده، پاسخ مد نظر سرویس دریافت اطلاعات آدرس در فیلد result موجود است.
به صورت دقیق تر، بدنه ی پاسخ را میتوان در فیلد result مشاهده کرد که دارای ساختار زیر است.
پارامتر های پاسخ سرویس در Result :
در صورتی که سرویس با موفقیت اجرا شده و پاسخ صحیح بازگرداند خروجی به صورت زیر است:
پاسخ برگشتی: json با ساختار و پارامترهای زیر
توضیحات | پارامتر |
شناسه قبض پرداختی | id |
شناسه قبض | billId |
شناسه پرداخت | paymentId |
مبلغ قبض | price |
نام سازمان خدماتی دارنده قبض(نوع قبض) | utilityCompanyName |
| subUtilityCompanyName |
تاریخ درخواست | requestDate |
شماره پیگیری پرداخت | referenceNumber |
وضعیت قبض | status |
شماره فاکتور | invoiceId |
شناسه تسویه درخواست | settlementRequestId |
اطلاعات شخص پرداخت کننده | userSrv |
تاریخ لغو | cacelDate |
پرداخت قبض (درگاه)
جهت پرداخت قبوض خدماتی به صورت دو مرحلهای، ابتدا فاکتور قبض توسط سرویس 27903191 صادر میگردد. در صورت صحت اطلاعات ارسالی، فاکتوری به مقدار مبلغ قبض مربوطه صادر شده و با هدایت کاربر به درگاه پرداخت، عملیات پرداخت قبض انجام میگردد.
توجه نمایید ارسال هر دو پارامتر billId و paymentId در سرویس زیر الزامی است. همچنین امکان پرداخت قبض راهور ناجا از طریق این سرویس وجود ندارد.
شناسه سرویس: 27903191
پارمتر | مقدار | توضیح |
billId |
| الزامی - شناسه قبض بدون صفرهای سمت چپ وارد نمایید |
paymentId |
| الزامی - شناسه پرداخت بدون صفرهای سمت چپ وارد نمایید |
نکته: با فراخوانی سرویس فوق، خروجی به شکل زیر دریافت میگردد. لازم به ذکر است، در صورت فراخوانی مجدد این سرویس، فاکتور جدید ایجاد نمیگردد و همان شناسه فاکتور ایجاد شده در خروجی نمایش داده خواهد شد.(در ا ینجا برخی قسمتهای خروجی حذف شده اند )
نکته: وضعیت قبوض صادر شده توسط سرویس فوق در لیست قبوض تا قبل از پرداخت، برابر با SERVICE_BILL_ISSUE_INVOICE است و پس از پرداخت قبض به SERVICE_BILL_ACCEPTED تغییر خواهد یافت.
پارامتر های خروجی :
نام پارامتر | نوع | توضیحات |
hasError | bool | نشان دهنده ی این است که آیا سرویس با موفقیت از روی پلتفرم پاد فراخوانی شده است یا خیر. |
messageId | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
referenceNumber | string | شناسه ی درخواست در پلتفرم پاد. |
errorCode | int | کد ارور پلتفرمی. |
Count | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Ott | string | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Result | object | نتیجه ی فراخوانی سرویس در این آبجکت نمایش داده می شود که در ادامه شرح داده خواهد شد. |
نکته: طبق موارد مطرح شده، پاسخ مد نظر سرویس دریافت اطلاعات آدرس در فیلد result موجود است.
به صورت دقیق تر، بدنه ی پاسخ را میتوان در فیلد result مشاهده کرد که دارای ساختار زیر است.
پارامتر های پاسخ سرویس در Result :
در صورتی که سرویس با موفقیت اجرا شده و پاسخ صحیح بازگرداند خروجی به صورت زیر است:
دریافت لینک پرداخت درگاه
کسب و کار میتواند برای تمام مشتریان خود، بدون نیاز به ورود به سامانه احراز هویت یکپارچه، امکان خرید را از طریق لینک زیر فراهم کند. برای این منظور لازم است کسب و کار از کد یکتا که برای فاکتور تولید می شود استفاده نماید.
مراحل انجام کار به ترتیب:
دریافت توکن جهت فراخوانی سرویس ها
ثبت فاکتور : دقت نمایید در صورت تمایل به نمایش شماره کارت های مربوط به مشتری، در صفحه درگاه ضروری است شناسه کاربر (userId) در فاکتور ثبت شود. این شناسه پس از ورود کاربر از طریق SSO بدست آمده یا می تواند شناسه ی کاربر آفلاین (غیر SSO) باشد. در صورتی که شماره موبایل مربوط به هیچکدام از این دودسته نیست، می توان با ثبت شماره موبایل (cellphoneNumber) در فاکتو، همین نتیجه را دریافت نمود.
هدایت کاربر به درگاه (توسط سرویس زیر)
استعلام فاکتور (اختیاری)
تایید پرداخت
بستن فاکتور (پس از اطمینان از تحویل محصول یا هرگونه شرط دلخواه کسب و کار به عنوان مجوز تسویه)
تسویه
سرویس اصلی: 46547342
سرویس سندباکس: 217462
پارامتر ورودی سرویس
توضیحات | اجباری/اختیاری | نوع | پارامتر |
شناسه اختصاصی دریافتی در سرویس ایجاد فاکتور | اجباری | String | uniqueNumber |
آدرس بازگشتی از درگاه | اجباری | String | redirectUri |
نام تابعی که پس از پرداخت فراخوانی میگردد | اجباری | String | callUri |
نام درگاه (پیش فرض PEP) | اختیاری | String | gateway |
پارامتر های خروجی :
نام پارامتر | نوع | توضیحات |
hasError | bool | نشان دهنده ی این است که آیا سرویس با موفقیت از روی پلتفرم پاد فراخوانی شده است یا خیر. |
messageId | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
referenceNumber | string | شناسه ی درخواست در پلتفرم پاد. |
errorCode | int | کد ارور پلتفرمی. |
Count | int | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Ott | string | پارامتر درون پلتفرمی ای که با توجه به این سرویس خاص موضوعیت ندارد. |
Result | object | نتیجه ی فراخوانی سرویس در این آبجکت نمایش داده می شود که در ادامه شرح داده خواهد شد. |
نکته: پارامتر redirectUri آدرسی است که پس از پرداخت، کاربر به آن هدایت میشود. پارامتر callUri نیز میتواند آدرسی در سرور شما باشد که در صورت موفق بودن پرداخت، فراخوانی میگردد. پس از پرداخت، پارامترهای زیر بهصورت GET به آدرس redirectUri ارسال میشوند.
توجه: در صورتی که پارامتر gateway ارسال شود، کاربر مستقیماً به درگاه پرداخت بانک پاسارگاد منتقل میشود. در غیر این صورت، در صفحهای که نمایش داده میشود، کاربر میتواند وارد SSO شود و از امکانات کیف پول خود نیز استفاده نماید.
اگر مقدارuniqueNumber اشتباه ارسال شود، به صفحهی "صفحه یافت نشد" هدایت خواهید شد
نمونه خروجی:
در صورت که پارامترها به درستی ارسال شده باشد نمونه زیر در خروجپ سرویس ایجاد خواهد شد که میتواند با فراخوانی آن در رابط کاربری مستقیم کاربر را به درگاه پرداخت هدایت نمود.
"در صورتی که پارامترها به درستی ارسال شده باشند، نمونهی زیر در خروجی سرویس ایجاد خواهد شد که میتواند با فراخوانی آن در رابط کاربری مستقیم، کاربر را به
درگاه پرداخت هدایت کند."
کد خطا | عنوان | توضیحات |
403 | Bad request | خطا در دریافت پارامتر های ورودی سرویس |
227 | Time out | عدم دریافت پاسخ سرویس در زمان مشخص |
999 | unknown Error | خطای ناشناخته سرویس |
502 | Server error | خطای سرویس دهنده |
پرداخت فاکتور صادر شده
مشتری جهت مشاهده فاکتور صادر شده و پرداخت آن از طریق درگاه، لازم است به آدرس زیر هدایت شده و با استفاده از پارامتر uniqueNumber قبض مربوطه را پرداخت نماید.
دقت نمایید که بجای مقدار private-call-address مقادیر ادرس پرداخت درگاه به شکل زیر را قرار دهید.
در محیط تست سندباکس = https://sandbox.pod.ir:1033
در محیط تولید و اصلی = https://pay.pod.ir
اگر مقدار uniqueNumber اشتباه ارسال شود، به صفحه "صفحه یافت نشد" هدایت میشوید.
در صورتی که پارامتر PEP=gateway ارسال شود کاربر مستقیم به درگاه پرداخت بانک پاسارگاد متنقل میگردد، در غیر این صورت در صفحهای که نمایش داده میشود کاربر میتواند وارد SSO شود و از امکانات کیف پول خود نیز استفاده نماید.
پارامتر redirectUri آدرسی است که بعد از پرداخت کاربر به آن هدایت میگردد، , و اطلاعات پرداخت به آن آدرس ارسال می شوند
پارامتر callUri نیز آدرسی در سرور شما میتواند باشد که در صورت موفق بودن پرداخت فراخوانی میگردد.و اطلاعات پرداخت به آن آدرس ارسال می شوند.
لازم به ذکر است، پس از پرداخت موفقیتآمیز قبوض، فاکتور به صورت اتوماتیک بسته خواهد شد و نیازی به بستن فاکتور نمیباشد.
GET [private-calls-address]/v1/pbc/payInvoiceByUniqueNumber/
? uniqueNumber= [the uniqueNumber in invoice] *
&redirectUri=[redirectURL]
&callUri= [The function that will be called at the end of payment]
gateway=PEP
اطلاعات پرداخت به صورت زیر به آدرسهای بازگشت کسب وکار، ارسال میشوند:
billNumber: شماره قبض که توسط خود کسب و کار در سرویس صدور فاکتور ارسال شده است.
paymentBillNumber: شماره پرداخت
invoiceId: شناسه فاکتور
paid: در صورتی که درصدور فاکتور پارامتر verificationNeeded مقدار true داشته باشد (پرداخت سه مرحله ای فعال شده است.) این مقدار false است . تا اینکه پرداخت توسط صادر کننده فاکتور( کسب وکار ) تایید شود. )، در غیر این صورت پس از یک ساعت، پول پرداخت شده به کیف پول کاربر برمی گردد.
terminalId: مقدار terminalId فقط در صورتی پر می شود که پارامتر wallet مقداری بجز PODLAND_WALLET داشته باشد.
maskedCardNumber: بخشی از شماره کارت پرداخت کننده
مقدار (rrn (reference number of shaprak transaction-شناسه انتقال وجه شاپرک، نیز به آدرس برگشت ارسال خواهد شد.
tref: مقدار tref شماره پیگیری تراکنش شاپرکی می باشد
وضعیت و لیست قبوض پرداختی
با این سرویس میتوان گزارش لیست قبوض پرداختی را دریافت کرد. برای دریافت وضعیت و لیست قبوض، فراخوانی این سرویس باید توسط توکن پرداخت کننده قبوض صورت بگیرد.
شناسه سرویس: 3884760
پارامترهای ورودی:
توضیحات | اجباری | پارامتر |
مبدا نمایش نتایج (برای اولین درخواست 0 و برای درخواست های بعد ) | اجباری | offset |
تعداد خروجی مد نظر (تعداد قبض نمایشی) | اجباری | size |
شناسه قبض | اختیاری | billId |
شناسه پرداخت | اختیاری | paymentId |
شناسه قبض پرداختی | اختیاری | id |
شماره پیگیری پرداخت | اختیاری | referenceNumber |
تاریخ ابتدای بازه مورد نظر(timestamp) | اختیاری | fromDate |
تاریخ انتهای بازه موردنظر | اختیاری | toDate |
پاسخ برگشتی:
آرایهای با ساختار پاسخ سرویس "پرداخت قبض".
انواع قبض به صورت زیر است:
شرح | statusCode |
پرداخت قبض پذیرفته شده است | SERVICE_BILL_ACCEPTED |
پرداخت قبض لغو شده است | SERVICE_BILL_CANCELED |
فایل ارسال و تایید شده است | SERVICE_BILL_FILE_CONFIRMED |
ارسال فایل ناموفق بوده است | SERVICE_BILL_SEND_FILE_FAILED |
پرداخت قبض با موفقیت انجام شده است | SERVICE_BILL_SANTA_CONFIRMED |
لغو قبض پرداختی
تا زمانی که وضعیت قبض SERVICE_BILL_ACCEPTED" است، برگشت تراکنش پرداخت قبض از طریق سرویس زیر امکانپذیر است. لازم به ذکر است، لغو قبوض همراه اول، امکانپذیر نمیباشد.
شناسه سرویس: 3884767
پارامترهای ورودی:
توضیحات | پارامتر |
شناسه قبض پرداختی | Id |
پاسخ برگشتی:
در صورت لغو موفقیتآمیز، پاسخی با ساختار سرویس قبلی دریافت میشود که وضعیت قبض آن به SERVICE_BILL_CANCELED تغییر کرده است.
صحت سنجی شناسه قبض و شناسه پرداخت
شماره قبض حداقل 6 رقم میباشد:
کد پرونده | کد شرکت تابعه | کد نوع خدمت | رقم کنترلی |
حداکثر 8 رقم | 3 رقم | 1 رقم | 1 رقم |
شناسه پرداخت حداقل 6 رقم و حداکثر 13 رقم میباشد :
مبلغ با حذف هزار ریال | کد سال | کد دوره | رقم کنترلی 1 | رقم کنترلی 2 |
حداکثر 8 رقم | 1 رقم | 2 رقم | 1 رقم | 1 رقم |
خطاهای رایج در سرویس صدور فاکتور پرداخت قبوض خدماتی
کد خطا | نام خطا | پیام |
21 | INVALID_TOKEN | client not authenticated |
141 | INVALID_NUMBER | ورودی عددی را صحیح وارد نمایید |
178 | INAVLID_PAYMENT_ID | شناسه پرداخت نامعتبر میباشد |
179 | INAVLID_BILL_ID | شناسه قبض نامعتبر میباشد |
180 | DUPLICATE_SERVICE_BILL | قبض قبلا پرداخت شده است |
462 |
| امکان پردازش قبض راهور ناجا وجود ندارد |
999 | UNKNOWN_ERROR | خطای داخلی – نامشخص |