به نام خداوند جان و خرد
در این مقاله به شرح مستندات اتصال به درگاه آرتی پی می پردازیم. برای اتصال باید مراحل زیر را به ترتیب و با موفقیت یکی پس از دیگری به انجام برسانید.
مرحله اول
ایجاد تراکنش
برای ایجاد تراکنش در آرتی پی نیاز است تا پارامتر هایی در قالب متد پست به وب سرویس آرتی پی ارسال شود. پارامترها به شرح زیر است:
نام | نوع | شرایط | توضیحات |
amount | INT or String | اجباری* | مبلغ تراکنش است . باید حتما عدد باشد و بین 500 تا صد میلیون باشد. واحد ارسالی به تومان است. |
callBack | URL | اجباری* | آدرس صفحه برگشت از بانک است و باید به صورت url در فرمت صحیح باشد. با https شروع شود. |
resNum | INT or String | اجباری* | شماره تراکنش است که شما ایجاد میکنید و باید به صورت یکتا باشد، شما نمیتوانید برای دو تراکنش یک شماره یکتا ارسال کنید. این شماره در برگشت دوباره به شما پاس داده می شود. طول عبارت نباید از 200 کارکتر بیشتر باشد. صرفا لازم نیست عدد باشد. شما هر عبارت یکتایی را می توانید برای مقدار این متغیر در نظر بگیرید. |
resNumOption
|
INT or String | اختیاری | عبارتی اختیاری است که شما در هنگام ایجاد تراکنش به وب سرویس آرتی پی می توانید بفرستید و آرتی در انتهای تراکنش دوباره مقدار را برای شما پاس می دهد. طول عبارت نباید از 200 کارکتر بیشتر باشد. صرفا لازم نیست عدد باشد. |
sign | hash | اجباری* | امضای تراکنش است که با کلید خصوصی شما باید ایجاد شود. توضیحات نحوه ایجاد امضا در ادامه ذکر شده است. |
phoneNumber
|
String | اختیاری | شماره تلفن پرداخت کننده است و در فرمت 09…. ارسال می گردد. |
توجه
نحوه ایجاد امضا در این مرحله به این صورت است که عبارتی شامل مبلغ تراکنش و آدرس بازگشت و شماره تراکنش ایجاد می کنید و بعد با متد sha 256 و کلید اختصاصی که در اختیار شما قرار گرفته شد خروجی هش را ایجاد می کنید. سه متغیر ذکر شده در عبارت اولیه با # باید از هم جدا شده باشند.
str = amount#callBack#resNum
**** متغیر های ارسالی باید با هدر authorization که مقدار آن باید برابر با api اختصاصی شما باشد ارسال شود.
آدرس وب سرویس ایجاد تراکنش در آرتی پی : https://api.rtpay.ir/ipgNext
مرحله دوم
بازگشت از وب سرویس و ارسال کاربر به بانک
بعد از ارسال پاسخ در یافتی به صورت JSON در متد POST خواهد بود. دو پارمتر که در هر حال برگشت داده می شود متغیر های code و mes هستند. در صورتی که تراکنش به درستی ایجاد شده باشد متغیر code با عدد 200 برگشت داده میشود و پاسخ ارسالی علاوه بر دو متغیر دیفالت که گفته شد دارای یک آرایه به نام data نیر هست که اطلاعات تراکنش را شامل می شود. ای اطلاعات شامل موارد زیر است.
نام | توضیحات |
Amount | مبلغ تراکنش که شما فرستادید. به تومان است. |
finalAmount
|
مبلغی است که بعد از پرداخت کاربر و کسر کارمزد به حساب شما در آرتی پی اضافه می شود. |
resNum
|
شماره یکتای تراکنش است که در مرحله قبل ایجاد کرده اید |
resNumOption
|
مقداری است که در مرحله قبل پاس داده اید. |
tokenUrl
|
آدرس پرداخت است که شما باید کاربر را به این آدرس هدایت کنید. |
کاربر را به آدرس دریافتی در متغیر tokenUrl در آرایه data هدایت کنید.
مرحله سوم
بازگشت از بانک
با توجه با رفتار کاربر در بانک ( پرداخت یا عدم پرداخت )، پارامترهایی با متد GET به آدرسی که در مرحله اول به عنوان آدرس برگشتی تعیین کرده اید ارسال می شود. ای متغیرها عبارتند از:
نام | توضیحات |
Status | وضعیت تراکنش است که تنها در صورتی که برابر با OK باشد بدین معناست که تراکنش انجام شده است. سایر مقدار ها به معنای عدم پرداخت کاربر است. |
resNum | شماره یکتای تراکنش است که در مرحله اول ایجاد کرده اید |
resNumOption | مقداری است که در مرحله اول پاس داده اید. |
Amount | مبلغ تراکنش به تومان است. |
مرحله چهارم
تایید تراکنش
پس از دریافت اطلاعات با متد GET در مرحله قبل و در صورتی که Status برابر OK باشد، اطلاعات زیر جهت تایید نهایی تراکنش باید به وب سرویس آرتی پی ارسال شود. ( تا این مرحله هیچ پرداختی تایید نیست)
نام | نوع | توضیحات |
amount | INT or String | مبلغ تراکنش به تومان است. |
resNum | INT or String | شماره یکتای تراکنش است که در مرحله اول ایجاد کرده اید |
sing | hash | امضای تراکنش است که با کلید خصوصی شما باید ایجاد شود. توضیحات نحوه ایجاد امضا در ادامه ذکر شده است. |
توجه
نحوه ایجاد امضا در این مرحله به این صورت است که عبارتی شامل مبلغ تراکنش و آدرس بازگشت و شماره تراکنش ایجاد می کنید و بعد با متد sha 256 و کلید اختصاصی که در اختیار شما قرار گرفته شد خروجی هش را ایجاد می کنید. سه متغیر ذکر شده در عبارت اولیه با # باید از هم جدا شده باشند.
str = amount#resNum
** متغیر های ارسالی باید با هدر authorization که مقدار آن باید برابر با api اختصاصی شما باشد ارسال شود.
ارسال تمامی پارامترها الزامی است.
آدرس وب سرویس : https://api.rtpay.ir/verify
مرحله پنجم
دریافت نتیجه
پس از ارسال پارامترهای ذکر شده در مرحله قبل، نتیجه درخواست به صورت JSON و در قالب متد پست (POST) به سمت شما ارسال می شود. فارغ از هر نتیجه ای، پاسخ تحت هر شرایطی شامل دو متغیر است. متغیر code و متغیر mes . اگر مقدار متغیر code برابر با 200 باشد، به معنی صحت تراکنش است. در صورتی که تراکنش بدرستی تایید شده باشد متغیر code با مقدار 200 برگشت داده می شود و همچنین پاسخ شامل متغیر دیگری نیز به نام data است. data از نوع آرایه است و اطلاعات تراکنش را شامل می شود. اطلاعات موجود در آرایه data به شرح زیر است:
نام | توضیحات |
Amount | مبلغ تراکنش به تومان است. |
finalAmount | مبلغی است که به پذیرنده بعد از کسر کارمزد شاپرک و آرتی پی تعلق میگیرد. واحد تومان است. |
resNum | شماره یکتای تراکنش است که در مرحله اول ایجاد کرده اید |
resNumOption | مقداری است که در مرحله اول به آرتی پی ارسال کرده اید. |
trackNum | شماره پیگیری تراکنش در بانک است. |
cardPay | کارت پرداخت کننده به صورت ماسک شده است. |
date | تاریخ تایید تراکنش در سمت بانک است که به صورت حروف است. |
time | تاریخ ایجاد تراکنش در آرتی پی است و به صورت عدد است. (در قالب تابع time) |
لینک مستندات اتصال به درگاه آرتی پی در گیت هاب