پرداخت تسهیمی
فرآیند پرداخت بر روی درگاههای اینترنتی 4 مرحله دارد :
ساخت پرداخت : مشخصات پرداختی که می خواهد انجام شود را مانند مبلغ پرداخت و redirectUrl که آدرسی از سایت شماست که کاربر پس از پرداخت باید به آن هدایت شود را مشخص می کنید و در قبال آن یک code دریافت می کنید
هدایت به درگاه : کاربر را بهمراه کدی که در مرحله قبلی دریافت شده است به آدرس درگاه redirect میکنید
برگشت از درگاه بانکی (تکمیل فرایند پرداخت) : پس از اینکه پرداخت توسط کاربر انجام شد، کاربر را به همراه یک refid که کد تراکنش است به آدرس redirectUrl شما ارسال می کنیم و شما باید از طرف سرور خودتان آن شماره پرداخت را تایید کنید
تایید پرداخت در این مرحله باید refid را به همراه مبلغ تراکنش به متد تایید پرداخت ارسال کرده و فرایند پرداخت را نهایی نمایید
برای انجام یک پرداخت کامل نیاز است حتما هر ۳ مرحله انجام شود. در صورتی که مرحله سوم یعنی تایید پرداخت تا ۱۵ دقیقه پس از پرداخت مشتری انجام نشود پول به حساب آنها برگشت داده میشود
در نظر داشته باشید که تسهیم براساس "مبلغ" انجام میشود نه درصد.
به طور مثال مبلغ کل محصول 100.000 تومان میباشد.
باتوجه به درصد سهم هرشخص مبلغ را مشخص میکنید و از طریق وب سرویس مبلغ سهم هر شخص را برای ما ارسال میکنید.
مثلا اگر سهم نفر اول 10 درصد است = 10.000 تومان و اگر سهم نفر دوم 90 درصد است برابر میشود با = 90.000 تومان
شما میبایست برای ما "مبلغ" سهم هر فرد را ارسال بفرمایید. محاسبه درصد سهم هر فرد توسط شما انجام میشود و سپس مبلغ نهایی را برای ما ارسال مینمایید.
ذخیره شناسه لاگ پیپینگ برای پشتیبانی بهتر
در هر درخواست REST که به پیپینگ ارسال میکنید در پاسخ هر کدام هدری با نام X-PayPingRequest-ID وجود دارد که در صورت ذخیره کردن این شناسه در دیتابیس خود میتوانید در صورت وجود مشکل با دادن این شناسه به پشتیبانی فنی بهتر کمک کنید. نمونه آن در عکس زیر در POSTMAN نشان داده شده است.

1. ساخت پرداخت
در این مرحله شما مشخص میکنید این پرداخت به چه مبلغ است و به چه کسانی با چه مبلغی این پرداخت انجام میشود.
درنظر داشته باشید پرداخت تسهیمی میبایست با توکن کاربرتان ساخته شود و چنانچه شما در پرداخت سهیم میباشید، نام کاربری خود را نیز اضافه نمایید.
برای ساخت پرداخت میبایست از متد POST /v1/pay/multi استفاده کنید.
آدرس swagger
آدرس مستند
{
"payerName": "نام پرداخت کننده",
"pairs": [
{
"amount": 0, // مبلغ
"name": "string",
"userIdentity": "username خودتان در پیپینگ",
"description": "توضیح پرداخت"
}
],
"returnUrl": "آدرس صفحه برگشت بعد از پرداخت",
"clientRefId": "مشخصه شما که پس از پرداخت با استفاده از آن پرداختتان را در دیتابیس خودتان پیدا کنید"
}
در پاسخ این متد code را دریافت میکنید
{
"code": "xxxx"
}
در این بخش(خط دوم کد بالا) تسهیم را تعیین میفرمایید. میبایست به ازای هر صاحب سهم، یک pairs در نظر بگیرید.(توجه فرمایید حداقل باید دو pair تعیین شود و مقدار amount نیز نمیتواند با صفر برابر باشد.)
توجه نمایید افرادی که در مبلغ ذینفع هستند، میبایست حتما در پیپینگ دارای حساب کاربری باشند.
نکته بسیار مهم: جهت جلوگیری از پرداخت ناموفق، حتما میبایست سایت شما بر روی بستر SSL باشد. در غیراز اینصورت پس از کلیک بر روی گزینه "تکمیل فرآیند"، خطای امنیتی بر روی مرورگر ظاهر میشود و تراکنش ناموفق خواهد شد. بنابراین باید حتما آدرس بازگشت سایت شما با پروتکل https همراه باشد.
2. هدایت کاربر به درگاه
کدی در مرحله قبل دریافت کردهاید را بصورت زیر در url اضافه کنید و کاربر را به آدرس زیر Redirect کنید
https://api.payping.ir/v2/pay/gotoipg/{code}
3. برگشت از درگاه بانکی (تکمیل فرایند پرداخت)
پس از پرداخت، اطلاعات پرداخت به آدرس returnUrl که در مرحله اول (ساخت پرداخت) مشخص شده است در بدنه درخواست بصورت زیر فرستاده میشود :
curl --location --request POST 'returnUrl' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'code=' \
--data-urlencode 'refid=' \
--data-urlencode 'clientrefid=' \
--data-urlencode 'cardnumber=' \
--data-urlencode 'cardhashpan='
4. تایید پرداخت
شما با استفاده از متد POST /v2/pay/verify و ارسال refid پرداخت را تایید میکنید
curl -X POST /https://api.payping.ir/v2/pay/verify \
-H 'Accept: application/json' \
-H 'Authorization: bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"refId": "string",
"amount": int
}'
در پاسخ این متد ViewModel زیر را دریافت میکنید
{
"amount": مبلغ,
"cardNumber": شماره کارت ماسک شده,
"cardHashPan": مقدار شماره کارت هش شده,
"merchants": [
{
"amount": مبلغ,
"code": کد پرداخت,
"userName": نام کاربری
}
]
}
هر درگاه ممکن است شماره ماسک شده کارت و یا هش شماره کارت پرداخت کننده را در اختیار شما قرار دهد. بنابراین حتما در صورتی که چک کردن شماره کارت برای شما اهمیت دارد، هر ۲ پارامتر را چک کنید تا در صورت نبود یک مورد با پارامتر دیگر اطمینان حاصل نمایید.
در صورت داشتن هرگونه سوال و نیاز به راهنمایی ، با پشتیبانی آنلاین سایت پیپینگ در ارتباط باشید.
فرآیند پرداخت بر روی درگاههای اینترنتی 4 مرحله دارد :
ساخت پرداخت : مشخصات پرداختی که می خواهد انجام شود را مانند مبلغ پرداخت و redirectUrl که آدرسی از سایت شماست که کاربر پس از پرداخت باید به آن هدایت شود را مشخص می کنید و در قبال آن یک code دریافت می کنید
هدایت به درگاه : کاربر را بهمراه کدی که در مرحله قبلی دریافت شده است به آدرس درگاه redirect میکنید
برگشت از درگاه بانکی (تکمیل فرایند پرداخت) : پس از اینکه پرداخت توسط کاربر انجام شد، کاربر را به همراه یک refid که کد تراکنش است به آدرس redirectUrl شما ارسال می کنیم و شما باید از طرف سرور خودتان آن شماره پرداخت را تایید کنید
تایید پرداخت در این مرحله باید refid را به همراه مبلغ تراکنش به متد تایید پرداخت ارسال کرده و فرایند پرداخت را نهایی نمایید
برای انجام یک پرداخت کامل نیاز است حتما هر ۳ مرحله انجام شود. در صورتی که مرحله سوم یعنی تایید پرداخت تا ۱۵ دقیقه پس از پرداخت مشتری انجام نشود پول به حساب آنها برگشت داده میشود
در نظر داشته باشید که تسهیم براساس "مبلغ" انجام میشود نه درصد.
به طور مثال مبلغ کل محصول 100.000 تومان میباشد.
باتوجه به درصد سهم هرشخص مبلغ را مشخص میکنید و از طریق وب سرویس مبلغ سهم هر شخص را برای ما ارسال میکنید.
مثلا اگر سهم نفر اول 10 درصد است = 10.000 تومان و اگر سهم نفر دوم 90 درصد است برابر میشود با = 90.000 تومان
شما میبایست برای ما "مبلغ" سهم هر فرد را ارسال بفرمایید. محاسبه درصد سهم هر فرد توسط شما انجام میشود و سپس مبلغ نهایی را برای ما ارسال مینمایید.
ذخیره شناسه لاگ پیپینگ برای پشتیبانی بهتر
در هر درخواست REST که به پیپینگ ارسال میکنید در پاسخ هر کدام هدری با نام X-PayPingRequest-ID وجود دارد که در صورت ذخیره کردن این شناسه در دیتابیس خود میتوانید در صورت وجود مشکل با دادن این شناسه به پشتیبانی فنی بهتر کمک کنید. نمونه آن در عکس زیر در POSTMAN نشان داده شده است.

1. ساخت پرداخت
در این مرحله شما مشخص میکنید این پرداخت به چه مبلغ است و به چه کسانی با چه مبلغی این پرداخت انجام میشود.
درنظر داشته باشید پرداخت تسهیمی میبایست با توکن کاربرتان ساخته شود و چنانچه شما در پرداخت سهیم میباشید، نام کاربری خود را نیز اضافه نمایید.
برای ساخت پرداخت میبایست از متد POST /v1/pay/multi استفاده کنید.
آدرس swagger
آدرس مستند
{
"payerName": "نام پرداخت کننده",
"pairs": [
{
"amount": 0, // مبلغ
"name": "string",
"userIdentity": "username خودتان در پیپینگ",
"description": "توضیح پرداخت"
}
],
"returnUrl": "آدرس صفحه برگشت بعد از پرداخت",
"clientRefId": "مشخصه شما که پس از پرداخت با استفاده از آن پرداختتان را در دیتابیس خودتان پیدا کنید"
}
در پاسخ این متد code را دریافت میکنید
{
"code": "xxxx"
}
در این بخش(خط دوم کد بالا) تسهیم را تعیین میفرمایید. میبایست به ازای هر صاحب سهم، یک pairs در نظر بگیرید.(توجه فرمایید حداقل باید دو pair تعیین شود و مقدار amount نیز نمیتواند با صفر برابر باشد.)
توجه نمایید افرادی که در مبلغ ذینفع هستند، میبایست حتما در پیپینگ دارای حساب کاربری باشند.
نکته بسیار مهم: جهت جلوگیری از پرداخت ناموفق، حتما میبایست سایت شما بر روی بستر SSL باشد. در غیراز اینصورت پس از کلیک بر روی گزینه "تکمیل فرآیند"، خطای امنیتی بر روی مرورگر ظاهر میشود و تراکنش ناموفق خواهد شد. بنابراین باید حتما آدرس بازگشت سایت شما با پروتکل https همراه باشد.
2. هدایت کاربر به درگاه
کدی در مرحله قبل دریافت کردهاید را بصورت زیر در url اضافه کنید و کاربر را به آدرس زیر Redirect کنید
https://api.payping.ir/v2/pay/gotoipg/{code}
3. برگشت از درگاه بانکی (تکمیل فرایند پرداخت)
پس از پرداخت، اطلاعات پرداخت به آدرس returnUrl که در مرحله اول (ساخت پرداخت) مشخص شده است در بدنه درخواست بصورت زیر فرستاده میشود :
curl --location --request POST 'returnUrl' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'code=' \
--data-urlencode 'refid=' \
--data-urlencode 'clientrefid=' \
--data-urlencode 'cardnumber=' \
--data-urlencode 'cardhashpan='
4. تایید پرداخت
شما با استفاده از متد POST /v2/pay/verify و ارسال refid پرداخت را تایید میکنید
curl -X POST /https://api.payping.ir/v2/pay/verify \
-H 'Accept: application/json' \
-H 'Authorization: bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"refId": "string",
"amount": int
}'
در پاسخ این متد ViewModel زیر را دریافت میکنید
{
"amount": مبلغ,
"cardNumber": شماره کارت ماسک شده,
"cardHashPan": مقدار شماره کارت هش شده,
"merchants": [
{
"amount": مبلغ,
"code": کد پرداخت,
"userName": نام کاربری
}
]
}
هر درگاه ممکن است شماره ماسک شده کارت و یا هش شماره کارت پرداخت کننده را در اختیار شما قرار دهد. بنابراین حتما در صورتی که چک کردن شماره کارت برای شما اهمیت دارد، هر ۲ پارامتر را چک کنید تا در صورت نبود یک مورد با پارامتر دیگر اطمینان حاصل نمایید.
در صورت داشتن هرگونه سوال و نیاز به راهنمایی ، با پشتیبانی آنلاین سایت پیپینگ در ارتباط باشید.
انتشار یافته در: 15 / 12 / 2018