فرایند خرید با API درگاه زرین پال

شکل
شکل
شکل
شکل
شکل
شکل
شکل
شکل

نحوه فرایند خرید با وب سرویس درگاه زرین پال

در مقاله قبل در مورد مقدمات وب سرویس درگاه پرداخت زرین پال و روش  استفاده آن را توضیح دادیم در این مقاله در مورد فرایند خرید با API درگاه زرین پال توضیح میدهیم.

نحوه دسترسي به سامانه

جهت استفاده از وب سرويس مزبور بايد از آدرس هاي زير در داخل كد وب سايت خود استفاده نماييد :

ردیفتوضیحاتآدرس
1آدرس WSDL فراخواني هاي پرداخت و تكميل پرداختhttps://www.zarinpal.com/pg/services/WebGate/wsdl
2آدرس ارجاع كاربران به وب گيت پس ساخت Authorityhttps://www.zarinpal.com/pg/StartPay/$Authority
3آدرس ارجاع كاربران به زرين گيت پس ساخت Authorityhttps://www.zarinpal.com/pg/StartPay/$Authority/ZarinGate

 

فرايند خريد

خريدار با مراجعه به وب سايت فروشنده و انتخاب كالا يا خدمات مورد نياز، آماده پرداخت مبلغ فاكتور ميشود؛ فروشنده مشخصات به زرين پال اعلام مي دارد در اين زمان پذيرنده اين متد را از وب سرويس زرين پال PaymentRequest درخواست را با فراخواني متد صدا ميزند:

PaymentRequest(

‘MerchantID’ => $MerchantID,

‘Amount’ => $Amount,

‘Description’ => $Description,

‘Email’ => $Email,

‘Mobile’ => $Mobile,

‘CallbackURL’ => $CallbackURL

);

پارمترهاي ورودي متد PaymentRequest به شرح زير مي باشند.

نامنوعاجباریشرح
MerchantIDStringبلهكد 36 كاراكتري اختصاصي پذيرنده
AmountIntegerبلهمبلغ تراكنش (به تومان)
DescriptionStringبلهتوضيحات مربوط تراكنش
EmailStringحیرايميل خريدار
MobileStringخیرشماره تماس خريدار
CallbackURLStringبلهصفحه بازگشت مشتري، پس از انجام عمل پرداخت

 

مقاديريكه توسط متد PaymentRequest برگشت داده ميشود به شرح زير ميباشد.

در جواب اين درخواست زرين پال Authority را به همراه وضعيت درخواست (Status) را اعلام ميكند. پذيرنده وظيفه دارد مشخصات را ذخيره و در صورت موفق بودن وضعيت (Status= 100) و صحيح بودن طول Authority ( 36 كاراكتر) كاربر را به سايت دروازه پرداخت redirect كند Authority بعنوان پارامتر اصلي بايد در انتهاي URL سايت دروازه پرداخت قرار گيرد، بعنوان مثال

توضیحاتآدرس
نمونه لينك ارجاع براي وب گيت

https://www.zarinpal.com/pg/StartPay/$Authority

نمونه لينك ارجاع براي زرين گيت

https://www.zarinpal.com/pg/StartPay/$Authority/ZarinGate

نمونه لينك ارجاع براي موبايل گيت

https://www.zarinpal.com/pg/StartPay/$Authority/MobileGate

نمونه كد دستوري براي پرداخت همراه*

*770*97*2*$Authority#

*نكته: جهت كوتاه نمودن رشته وارد شده توسط كاربر در زمان پرداخت همراه ميتوان، صفرهاي ابتداي رشته را از طريق Cast نمودن Authority به نوع Integer Long حذف نمود.

از زمان ارسال كاربر به زرينپال، زمان محدودي (حدود 15 دقيقه) مشتري فرصت دارد كه عمليات پرداخت خود را در سايت زرينپال، انجام دهد، در غير اينصورت Authority منقضي ميشود

بعد از پايان عمليات درسمت زرينپال، زرينپال وظيفه دارد كاربر را به سايت پذيرنده كه از طريق CallbackURL مشخص شده است بازگرداند.

در صفحه CallbackURL پذيرنده وظيفه دارد درخواست معادل با Authority كه از طـرف زريـن پـال و بـه صـورت QueryString بـر روي CallbackURL ارسال شده يافته و وضعيت تراكنش (Status (كه از همين طريق ارسال شده است را با متـد PaymentVerification چـك نمايد در صورت موفق بودن، پرداخت را ثبت و شماره تراكنش را به كاربر خريدار نمايش دهد ؛ در غير اينصورت پذيرنده موظف اسـت كـه بـا توجه به كد خطايي كه توسط متد PaymentVerification دريافت ميكند كاربر را از خطاي رخ داده مطلع سازد

PaymentVerification(
‘MerchantID’ => $MerchantID,
‘Authority’ => $Authority,
‘Amount’ => $Amount
);

نكته: توجه داشته باشيد كه به جز Status كه در متد PaymentVerification قرار دارد يك Status نيز به صورت QueryString به سايت پذيرنده ارسال ميگردد كه دو مقدار ثابت دارد “OK “و“NOK “؛ در صورتي كه اين مقدار برابر “NOK “بود به اين معنا بوده كه تراكنش نا موفق بوده و يا توسط كاربر لغو شده است؛ پس در صورتي متد PaymentVerification استفاده شود كه با QueryString مقدار Status برابر با “OK “باشد

نامنوعشرح
MerchantIDStringكد 36 كاراكتري اختصاصي پذيرنده.
AuthorityStringكد يكتاي شناسه مرجع درخواست.
AmountIntegerمبلغ تراكنش (به تومان).

مقاديريكه توسط متد PaymentVerification برگشت داده ميشود به شرح زير ميباشد

نامنوعشرح
StatusIntegerعددي كه نشان دهنده موفق بودن يا عدم موفق بودن پرداخت ميباشد.
RefIDIntegerدر صورتي كه پرداخت موفق باشد؛ شماره تراكنش پرداخت انجام شده را بر ميگرداند

برای دریافت فایل راهنمای کامل از این لینک اقدام به دانلود کنید

در این مقاله در مورد فرایند خرید با API درگاه زرین پال صحبت کردیم در مقاله های بعدی بیشتر در مورد درگاه های پرداخت صحبت خواهیم کرد

منبع

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

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