دسته بندی ها
14:47 1399/12/17

آموزش اتصال به درگاه زرین پال در Asp net Core

مشخصات سوال کننده :
کاربر : nadimi1359     امتیاز کاربر : 0     رتبه کاربر : 7020
دسته بندی : Asp.net Core Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 8494
1 نظر
saedbfd : لطفا بفرمایید درگاه آزمایشی رو چطوری قرار دادید. کدهاتون رو قرار بدید تا نحوه تبدیلش به درگاه واقعی رو بگم خدمتتون

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 04:40 1399/12/17
پاسخ دهنده : saedbfd 23:51 1399/12/17

آموزش اتصال به درگاه زرین پال در Asp net Core

 

آموزش اتصال به درگاه پرداخت زرین پال در asp

 

در خود سایت زرین پال و در قسمت توسعه دهندگان نمونه کدهای مورد نیاز برای همه سیستم ها مثل وردپرس، جوملا، PHP، Asp و ... وجود داره. کافیه یه جست و جوی ساده انجام بدید تا نحوه ارتباط درگاه پرداخت بر روی سایت خودتون رو پیدا کنید.

ضمنا اگر شما موفق شدید از درگاه زرین پال به صورت تستی استفاده کنید پس برای استفاده به صورت واقعی هم می تونید و فقط یک متد متفاوت داره.

 

اتصال به درگاه زرین پال در Asp.net Core

نکته : قبل از هر کاری شما باید در سایت زرین پال ثبت نام کنید و برای سایت خودتون تقاضای درگاه پرداخت کنید تا به شما یک درگاه پرداخت داده بشه. دقت کنید بعد از اینکه برای شما درگاه پرداخت ایجاد شد یک کد با عنوان کد درگاه یا مرچنت کد در اختیار شما قرار می گیره. از طریق این کد شما میتونید به درگاه پرداخت متصل بشید. این کد اختصاصی شما هست و نباید در اختیار کسی قرار بگیره.

خب برای اینکه بهتر این موضوع رو درک کنید یک مثال رو با هم بررسی می کنیم.

  • در ابتدا یک پروژه از نوع Asp.net mvc Core ایجاد کنید.
  • از طریق nuget پکیج های مربوط به درگاه پرداخت زرین پال را توی پروژه نصب کنید. (نصب پکیج از nuget) این پکیج ها عبارتند از :
Zarinpal
//
ZarinpalSandbox

پکیج Zarinpal برای اتصال سایت به درگاه پرداخت به صورت واقعی و پکیج ZarinpalSandbox برای اتصال سایت به درگاه پرداخت تستی استفاده میشه.

درگاه پرداخت در Asp.net core

 

خب بعد از افزودن این دو پکیج می تونید به درگاه وصل بشید. برای اتصال به درگاه به صورت تستی از کد زیر در کنترلر خودتون استفاده کنید. برای استفاده از درگاه تستی از متد ZarinpalSandbox استفاده می کنیم.

public async Task<IActionResult> PayCash()
{
    var payment = await new ZarinpalSandbox.Payment(1000).PaymentRequest("عنوان",
    Url.Action(nameof(PaymentForPackageVerify)));

    if (payment.Status == 100)
    {
        return Redirect(payment.Link);
    }
    else
    {
        //return errorPage;
        return RedirectToAction("ErrorPage", "Home");
    }
}

در کدهای بالا ورودی متد Payment همون مبلغ هست و میتونید یه عنوان هم برای پرداخت تعیین کنید. در صفحه درگاه هم هم دکمه 'پرداخت موفق' و هم دکمه 'پرداخت ناموفق' دارید که میتونید دو صفحه برای پرداخت موفق و ناموفق به وجود بیارید.

 

آموزش کار با زرین پال در mvc Core

 

برای استفاده از درگاه واقعی هم کافیه از متد ZarinPal استفاده کنید. این متد علاوه بر مبلغ به کد درگاه هم نیاز دارد.

public async Task<IActionResult> PayCash()
{
    var payment = await new Zarinpal.Payment("cccccccc-tttt-1111-8888-000000000000", 
        1000).PaymentRequest("عنوان",
    Url.Action(nameof(PaymentForPackageVerify)));

    if (payment.Status == 100)
    {
        return Redirect(payment.Link);
    }
    else
    {
       //return errorPage;
       return RedirectToAction("ErrorPage", "Home");
    }
}

 

دانلود سورس

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
پاسخ دهنده : behnamex 12:00 1400/07/14

سلام متاسفانه عبارت زیر در اکشن که گفتید دارای ارور هست و نه اوردن هییچ یوزینگ و نصب پکیجی هم از ویژوآل پیشنهاد نشده

PaymentForPackageVerify
ویرایش شده در چهارشنبه 14 مهر 1400 ساعت 12:29:07
به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7020
1 نظر
saedbfd : کاربر گرامی PaymentForPackageVerify اسم اکشن هست و هر اسمی میشه گذاشت. توی nuget و ... نیست. در انتهای پاسخ سورس هم قرار داده شده. دانلود کنید و استفاده کنید. موفق باشید.

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 12:30 1400/07/14
پاسخ دهنده : shadan 20:45 1401/03/19

سلام

پکیجی وجود داره که همزمان به چنتا درگاه پرداخت وصل بشه؟

من میخوام درگاه های پرداخت زیر رو به پروژه اضافه کنم

https://zarinpal.com

https://sepordeh.com

https://idpay.ir

ولی میخوام همزمان متصل باشه نه اینکه یکیشو قطع کنم اون یکی رو وصل کنم

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7020
1 نظر
saedbfd : همزمان یعنی چی دقیقا ؟ کاربر وقتی قرار هست پرداختی توی سایت شما انجام بده به یک درگاه باید وصل بشه و پرداخت انجام بده. نمیشه که به چندتا درگاه وصل بشه برای یک پرداخت !

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 09:16 1401/03/19
پاسخ دهنده : Radman 12:06 1401/11/20

با درود زرین پال دیگه خدمات آزمایشگاه یا همون سندباکس رو ارائه نمیده برای وصل شدن به درگاه از کد سورس زیر را استفاده کنید https://github.com/erfanad1992/zarinpalasp.netcore

به این پاسخ امتیاز بدهید    0
امتیاز: 169 رتبه: 9
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود