Skip to content

apachish/rayan-pay-sample

Repository files navigation

Rayan Pay HP Sample Code

img.png این نمونه کد برای سرویس ها با دو پروتوکل

Soap ,Rest

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

مثلا در صورت انصراف از پرداخت به شکل زیر نمایش داده می شود img_1.png

به علت استغاده از ذخیره سازی فایل برای این پروژه فایل storage.txt باید صاحب و گروهش user وب سرویستان باشد مثلا با دستور زیر در لینوکس باید اینکار شود

sudo chown www-data:www-data ./storage.txt

Link Demo

سرویس گرفتن توکن احراز هویت کلاینت سمت ما:

POST:https://pms.rayanpay.com/api/v1/auth/token/generate

body:
{
  "clientId": "شناسه مشتری",
  "userName": "نام کاربری",
  "password": "پسورد"
}
 مقدار بازگشتی یک رشته می باشد که
یک شناسه یکبار مصرف یکتا است که باید در هدر احراز هویت درخواست های بعدی  قرار بگیرد 

سرویس درخواست پرداخت:

POST:https://pms.rayanpay.com/api/v1/ipg/payment/start

Authorization Header: Bearer Token(گرفته شده از سرویس توکن:که بهتر است برای هر بار درخواست مجدد گرفته شود)
Body:
{
  "referenceId": یک شناسه عددی یکتا است که کلاینت تولید میکنید و برای سرویس ما میفرستد و جهت رهگیری درخواست پرداختش و جلوگیری از ارسال دخواست های تکراری استفاده میشود,
  "amount":  مبلغ پرداختی به ریال که عددی  میباشد,
  "msisdn": "شماره موبایل پرداخت کننده که باید به صورت رشته و فرمت موبایل داشته باشد وگرنه سرویس 400 میدهد و فرستادنش اختیاری است",
  "gatewayId": 100,//عدد ثابت 100
  "callbackUrl": "آدرسی در سمت کلاینت که بانک پس از پرداخت به این صفحه پرداخت کننده را هدایت خواهد کرد",
}

response: OK

response body:
{
bankRedirectHtml: رشته html که باید در سایت کلاینت لود شود تا درگاه بانک ملت را ببیند
این صفحه "اچ تی ام ال" حاوی توکن بانک است و وقتی در صفحه لود میشود به درگاه بانک ریدایرکت میشود
}

#سرویس تایید پرداخت:

POST:https://pms.rayanpay.com/api​/v1​/ipg​/payment​/response​/parse

Authorization Header: Bearer Token(گرفته شده از سرویس توکن:که بهتر است برای هر بار درخواست مجدد گرفته شود)
Body:
{
  "referenceId":  شناسه عددی  کلاینت ,
  "header": "این هدر از هدر ریکوئست بانک خوانده میشود",
  "content": "این کانتنت از کانتنت ریکوئست   بانک خوانده میشود"
}

response: OK(موفق)
response body
{
PaymentId,
HashedBankCardNumber,
EndDate :فقط در صورتی پر است که پرداخت به صورت حتمی موفق یا حتمی نا موفق باشد و در صورتی که وضعیت پرداخت نامشخص باشد این فیلد هم خلی خواهد بود
}

اگر وضعیت پاسخ همان httpStatusCode غیر از 200 باشد :
* 401 توکن نامعتبر 
* 600 وضعیت نامشخص
* 601 پرداخت ناموفق  
* 602 پرداخت وجود ندارد
* 609 وضعیت پرداخت برای تایید کردن نامعتبر است

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages