Skip to main content

درگاه پرداخت تلفنی سامان

نوع اول: فروش توسط فروشنده#

در این حالت، پذیرنده جهت ایجاد تراکنش خرید، با استفاده از پنل وبی که از پی استار دریافت کرده است، ابتدا اقدام به ایجاد شناسه فاکتور (invoice id) می نماید. روش کار به این صورت هست که مشتری با مرکز تلفن تحت شبکه (sip server) پذیرنده تماس می گیرد و سفارش خرید تلفنی خود را به کارشناس فروش پذیرنده اعالم می کند. کارشناس فروش پذیرنده پس از تکمیل سفارش مشتری و مشخص شدن مبلغ نهایی خرید، یک شناسه فاکتور در پنل وب پی استار ایجاد می نماید.

ایجاد فاکتور فروش با وب سرویس#

در روش IVR-to-WebService فرآیند به این صورت است که ابتدا از طریق وبسرویس پذیرنده یک درخواست به API ایجاد فاکتور ارسال می شود و در پاسخ یک شماره فاکتور را دریافت میکند. سپس پرداخت کننده با IVR تماس میگیرد و شماره فاکتور دریافتی از پذیرنده را وارد میکند؛ IVR یک درخواست ایجاد تراکنش به سمت وبسرویس ایجاد تراکنش ارسال میکند و در پاسخ دادههای الزم برای انتقال کاربر به IVR بانک را دریافت میکند. در مرحله آخر پذیرنده میتواند از طریق وبسرویس استعلام وضعیت تراکنش، از نتیجه تراکنش مطلع شود.

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

برای ایجاد فاکتور وب سرویس زیر را از نوع POST فراخوانی کنید.

  • https://core.paystar.ir/api/ivr/create-factor

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

Authorization: Bearer YOUR_GATEWAY_SEQUENCE

پارامترهای Body:

{
"amount": 50000,
"order_id": "12345",
"customer_name": "",
"email": "",
"phone": ""
}

نمونه پاسخ:

{
"status": 1,
"data": {
"tracking_code": "12345678"
},
"errors": []
}

وارد کردن شناسه فاکتور در تلفن گویای پذیرنده و ارسال به تلفن گویای پی استار#

در این مرحله، کارشناس فروش پذیرنده، شناسه فاکتور ایجاد شده را به مشتری اعلام می کند و او را به تلفن گویای پذیرنده (که ویژه این موضوع پیاده سازی شده است) ، هدایت می کند.

تلفن گویای پذیرنده از مشتری درخواست می کند که شناسه فاکتور را وارد نماید و در پایان کلید مربع callerid را فشار دهد. سرویس تلفن گویای پذیرنده، شناسه فاکتور وارد شده به همراه شماره مشتری تماس قرار می دهد و این اطلاعات را از طریق بستر ارتباطی (number) را در سرآیند (header) به سرویس تلفن گویای پی استار ارسال می کند. این فرآیند ، همزمان با sip trunk (سیپ ترانک) انتقال تماس مشتری به تلفن گویای پی استار انجام می شود.

سرویس تلفن گویای پی استار، دو پارامتر ذکر شده را از سرآیند تماس استخراج می نماید و آن ها را برای وب سرویس (post و در قالب json) transaction id برای دریافت شناسه تراکنش پی استار ارسال می کند. با مقدار یک type با مقدار صفر و ivr همچنین دو پارامتر کنترلی (تراکنش خرید) که مشخص کننده نوع تراکنش هستند، در این درخواست ارسال می شوند.

نمونه json ارسالی:

$jsonobj = '{
"invoice_id": 65843148,
"merchant_cid": "42473000",
"ivr": 0,
"type": 1
}';

دریافت شناسه تراکنش و مبلغ#

در این مرحله ، وب سرویس پی استار ، در صورت معتبر بودن شناسه فاکتور وارد شده در مرحله 1 -1 ، مقادیر شناسه تراکنش ، شناسه پذیرنده (Merchant id) و مبلغ را در قالب json بر می گرداند.

نمونه json دریافتی:

$jsonobj = '{
"transactionId": 65843148,
"merchantId": "10000005",
"price": "160000"
}';

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

1 -درگاه پذیرنده معتبر نمی باشد.

2 -شناسه فاکتور اشتباه است.

3 -شناسه فاکتور ، قبال پرداخت شده است.

4 -شناسه فاکتور منقضی شده است.

5 -به دلیل تلاش های پی در پی اشتباه ، امکان پرداخت شناسه فاکتور وجود ندارد.

انتقال تماس به بانک#

پس از تایید مبلغ قابل پرداخت، توسط مشتری در مرحله 1-2 ، سرویس تلفن گویای پی استار ، پارامترهای شماره تلفن پذیرنده ، شناسه پذیرنده ، شناسه تراکنش و مبلغ را در سرآیند (header) تماس قرار می دهد و تماس را به تلفن گویای بانک ، جهت پرداخت ، هدایت می نماید. سه پارامتر اول در سرآیند CALLERID(all) و پارامتر چهارم در سرآیند SIP دلخواه با نام Amount ارسال می شوند.

نمونه سرآیند ارسالی تماس:

CALLERID(all) = 2191071390*10000005*65843148
Amount = 160000

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

وب سرویس استعلام نتیجه تراکنش#

پس از ثبت نتیجه تراکنش و اتمام تماس کاربر، می توانید نتیجه تراکنش را از طریق این وب سرویس به صورت GET استعلام نمایید.

  • https://core.paystar.ir/api/ivr/get-transaction-result

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

Authorization: Bearer YOUR_GATEWAY_SEQUENCE

پارامترهای Body:

{
"tracking_code": 12345678
}

نمونه پاسخ:

{
"status": 1,
,".پرداخت با موفقیت انجام شد" :"data "
"errors": [],
}

نوع دوم: فروش توسط تلفن گویا#

ایجاد شناسه سفارش و ارسال به تلفن گویای پی استار#

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

سرویس تلفن گویای پذیرنده ، شناسه سفارش ایجاد شده به همراه دو پارامتر مبلغ (amount) و شماره مشتری را در سرآیند تماس قرار می دهد و این اطلاعات را از طریق بستر ارتباطی سیپ ترانک به سرویس تلفن گویای پی استار ارسال می کند. این فرآیند ، همزمان با انتقال تماس مشتری به تلفن گویای پی استار انجام می شود.

در این مدل ، به هر پذیرنده، یک شناسه ترانک (trunk id) منحصر به فرد که می تواند معادل شناسه درگاه تلقی شود، توسط سرویس تلفن گویای پی استار اختصاص پیدا می کند.

سرویس تلفن گویای پی استار، پس از استخراج سه پارامتر ارسالی در سرآیند تماس دریافتی از پذیرنده ، این شناسه ترانک را به آن ها اضافه می نماید و این پارامترها را برای دریافت شناسه تراکنش (transaction id) با روش post و در قالب json ، برای وب سرویس پی استار ارسال می کند. همچنین دو پارامتر کنترلی ivr با مقدار یک (حالت تلفن گویا-تلفن گویا) و type با مقدار یک )تراکنش خرید( که مشخص کننده نوع تراکنش هستند، در این درخواست ارسال می شوند.

نمونه json ارسالی:

{
"order_id": "1613848397.81207-9050-30",
"merchant_cid": "0915***7796",
"amount": 180000,
"trunk_id":" TkdpUQngERd1apGJvoHB",
"ivr": 1,
"type": 1
}

دریافت شناسه تراکنش و مبلغ#

این مرحله ، مشابه مرحله 1 -2 می باشد.

انتقال تماس به بانک#

این مرحله، مشابه مرحله 1-3 می باشد.