دانلود نمونه کد PHP

مستندات اتصال به درگاه و مرجع خطاهای بازگشتی

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

سادگی :
درگاه پرداخت سنترال پی بر اساس مکانیزم POST کار می کند و بر خلاف دیگر درگاه ها که نیاز به فعال سازي soap در سمت سرور داشته و کدنویسی کمی پیچیده تري نیازمندند، بسیار ساده صورت می پذیرد.

امنیت :
در عین سادگی سنترال پی از مکانیزم هاي امنیتی استفاده می کند تا تراکنش ها در امنیت کامل انجام شوند.

نیازمندی ها :
نیازمندي سایت شما براي اتصال به سیستم پرداخت سنترال پی فقط فعال بودن تابع CURL بوده که در اکثر سرور ها این تابع فعال می باشد. براي مطمئن شدن از فعال بودن این تابع با مدیر سرور خود تماس حاصل فرمایید.

داده های ارسالی :
بطور کلی سایت مبدا براي انجام تراکنش باید موارد زیر را به آدرس https://centeral.in/webservice/paymentRequest.php و به شیوه POST ارسال نماید

مواردی که باید بصورت POST بمنظور ایجاد تراکنش به وب سرویس سنترال پی ارسال شود :

پارامترهای ارسالی مثال توضیح
MerchantID xxxxxxxxxxxxxxxx مرچنت آیدی در بخش " درگاهای من " در پنل کاربری شما در قابل مشاهده میباشد
Price 100 مبلغی که در تراکنش ارسال و قابل پرداخت میباشد, واحد مبلغ ارسالی تومان و حداقل مبلغ قابل پرداخت 100 تومان میباشد
Description تراکنش شماره 15 متني كه توسط پذيرنده تعيين ميشود كه نشان دهنده خلاصه محصول يا سرويسي است كه پذيرنده قصد فروش آن را دارد
InvoiceNumber 15 شماره تراکنش, این شماره پس از پرداخت برای سایت فروشنده ارسال خواهد شد
CallbackURL http://example.com/verify.php آدرس بازگشتی که بعد از انجام عملیات تراکنش، سنترال پی اطلاعات را به آنجا ارسال خواهد کرد
لیست داده هاي برگشتی سنترال پی زمان ارسال داده :

در صورت صحت داده ها سنترال پی یک داده از نوع صحیح و بزرگتر از 0 ( که Authority نام دارد ) و یک داده با نام Status برابر 100 بر می گرداند و سایت پذیرنده پس از دریافت این داده ها، مشتري را به سایت سنترال پی هدایت می نماید, توجه داشته باشید که در داده های برگشتی در صورتی که مقدار Status برابر با 100 نباشد, برابر با یک عدد منفی خواهد بود که شرح خطاهای هر عدد منفی را در جدل زیر میتوانید مشاهده کنید

مقدار بازگشتی توضیح خطا
-1 پارامترهای ارسال ناقص میباشد
-2 مرچنت کد ارسال شده صحیح نمیباشد
-3 مرچنت کد ( درگاه مورد نظر ) غیر فعال میباشد
-4 مقدار پارامتر Price باید یک عدد صحیح برابر یا بزرگتر از 100 باشد ( حداقل مبلغ قابل پرداخت 100 تومان میباشد )
-5 مقدار InvoiceNumber باید یک عدد صحیح بزرگتر از 0 باشد
-6 خطای سیستمی در ایجاد Authority, این موضوع را به بخش پشتیبانی سنترال پی اطلاع دهید
-7 خطا در دریافت Authority, این موضوع را به پشتیبانی سنترال پی اطلاع دهید
-8 خطای سیستمی, این موضوع را به پشتیبانی سنترال پی اطلاع دهید
-9 دامنه آدرس بازگشتی با دامنه درگاه مغایرت دارد

توجه داشته باشید مقدار بازگشتی Authority و Status بصورت JSON میباشد


بطور مثال در صورتی که مقدار Authority بازگشتی برابر با 1000010 باشد بمنظور اتصال به درگاه بانکی و انجام عملیات پرداخت کاربر باید به آدرس زیر هدایت شود :

https://centeral.in/webservice/startPayment.php?au=1000010


نمونه کد PHP ایجاد شناسه ی پرداخت ( Authority ) و ارجاع کاربر به درگاه پرداخت :


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

لیست داده هاي برگشتی سنترال پی زمان دریافت داده :

پس از انجام تراکنش سنترال پی دو متغیر بصورت POST به سایت پذیرنده ارسال می نماید:
authority : همان Authority که کاربر از طریق آن به درگاه متصل شده است میباشد
InvoiceNumber : همان شماره تراکنشی میباشد که موقع ارسال کاربر به درگاه سنترال پی مشخص کرده اید

چنانچه authority یک عدد صحیح بزرگتر از 0 بود سایت پذیرنده باید براي صحت تراکنش داده هاي Authority ، Price ، MerchantID را به آدرس زیر به شیوه POST ارسال نماید :

https://centeral.in/webservice/paymentVerify.php

در صورتی که مقدار بازگشتی برابر با 100 باشد تراکنش بدرستی انجام شده است در غیر اینصورت مقدار بازگشتی برابر با یک عدد منفی خواهد بود که شرح خطاهای مرتبط با هر عدد منفی بازگشتی را میتوانید در جدول زیر مشاهده کنید
مقدار بازگشتی توضیح خطا
-1 پارامترهای ارسال ناقص میباشد
-2 مرچنت کد ارسال شده صحیح نمیباشد
-3 مبلغ وارد شده با مقدار ثبت و پرداخت شده مغایرت دارد
-4 تراکنش موفق بوده است, اما این تراکنش قبلاً Verify شده است, هر تراکنش را فقط یک بار میتوان Verify کرد
-5 خطا در Verify کردن تراکنش
-6 خطای سیستمی, این موضوع را به بخش پشتیبانی سنترال پی اطلاع دهید
-7 عملیات پرداخت ناموفق بوده است

توجه داشته باشید مقدار بازگشتی Authority و Status بصورت JSON میباشد

نمونه کد PHP تصدیق اصالت پس از پرداخت ( عملیات Verify کردن تراکنش ) :