Warning: Undefined array key "options" in /home/cp88alp/domains/arvinlp.ir/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/widgets/site-logo.php on line 194

یکی از مشکلاتی که برنامه نویسان تحت وب دارند ارسال درخواست خود به دستگاه‌های پوز و دریافت وضعیت پرداخت است، شرکت پرداخت الکترونیک سامان کیش طی مکاتباتی که برای یکی از پروژه‌ها داشتم متوجه شدم سرویسی ارائه میکنه به نام سنترال پی سی پوز، مزایا این سرویس است که ما می تونیم به دستگاه پوز با استفاده از زیرساخت ارائه شده توسط سامان کیش درخواست خودمون رو ارسال کنیم و جواب رو دریافت کنیم.

کد کامل نحوه اتصال به این سرویس رو می تونید از گیت‌هاب دریافت کنید.

توضیحات کد در حال نوشته شدنه.

بخش اول

احراز هویت و دریافت توکن از سامان کیش

برای اینکه بتونیم درخواست توکن برای سرور سامان کیش ارسال کنیم، باید موارد خواسته شده رو برای آدرس https://idn.seppay.ir/connect/token با استفاده از متد POST ارسال کنیم.

موارد خواسته شده چی هستن ؟

  • grant_type: نوع دسترسی – نوع دسترسی را می توانید password بگذارید.
  • username: درخواست نام کاربری را باید به سامان کیش دهید.
  • password: درخواست گذرواژه را باید به سامان کیش دهید.
  • scope: محدوده
  1. switcha pimanagement offline_access
  2. SepCentralPcPos openid 2.1. محدود مورد استفاده ما در این پروژه بوده است.

البته باید در Header درخواستمون هم احراز هویت اعلام شده از سمت سامان کیش رو هم اضافه کنیم که به صورت زیر ساخته میشه:

Authorization : Password بعنوان secret و کمه Username بعنوان ro.client

ساخت این احراز هویت ساده است و به روش Basic Auth است.

$client = new GuzzleHttp\Client();
$response = $client->request('POST', "https://idn.seppay.ir/connect/token",[
    'headers' => [
        'Authorization' => '*************'
   ],
    'form_params' => [
        'grant_type' => $sep_grant_type,
        'username' => $sep_username,
        'password' => $sep_password,
        'scope' => $sep_scope,
    ]
]);
$access = json_decode($response->getBody());

اطلاعات برگشتی به شرح زیر است :

  • access_token : کد احراز
  • token_type : نوع احراز سنجی
  • expires_in : مدت زمان اعتبار کد دسترسی به ثانیه
  • refresh_token : در نوع درخواستی ما موجود نبود قبل از استفاده از وجود این آیتم مطمین شوید.

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

بزودی بقیه بخش‌ها رو نیز توضیح می‌دهم.

ممنون از توجه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *