آموزش اتصال به درگاه زرین پال در Asp net Core
با سلام به خدمت همه دوستان عزیز من یک درگاه بانک آزمایشی زرین پال برای سایت خودم درست کردم و کار هم میکنه مشکلی باهاش ندارم حالا می خوام سایتم را آپلود کنم و برای اینکار باید درگاه بانک آزمایشی را به درگاه بانک واقعی تبدیل کنم الان حقیقتا با مشکل برخورد کردم و بلد نیستم چطوری اینکار را انجام بدم ممنون میشم از دوستانی که بلد هستن بنده را راهنمایی کنند لازم به ذکر هست که هاستی که تهیه کردم یک آی پی برای درگاه بانک برای من تهیه کرده و کد 36 کاراکتری نیز از درگاه بانک زرین پال گرفتم ولی بلد نیستم چطوری ازش استفاده کنم
آموزش اتصال به درگاه زرین پال در Asp net Core
در خود سایت زرین پال و در قسمت توسعه دهندگان نمونه کدهای مورد نیاز برای همه سیستم ها مثل وردپرس، جوملا، PHP، Asp و ... وجود داره. کافیه یه جست و جوی ساده انجام بدید تا نحوه ارتباط درگاه پرداخت بر روی سایت خودتون رو پیدا کنید.
ضمنا اگر شما موفق شدید از درگاه زرین پال به صورت تستی استفاده کنید پس برای استفاده به صورت واقعی هم می تونید و فقط یک متد متفاوت داره.
اتصال به درگاه زرین پال در Asp.net Core
نکته : قبل از هر کاری شما باید در سایت زرین پال ثبت نام کنید و برای سایت خودتون تقاضای درگاه پرداخت کنید تا به شما یک درگاه پرداخت داده بشه. دقت کنید بعد از اینکه برای شما درگاه پرداخت ایجاد شد یک کد با عنوان کد درگاه یا مرچنت کد در اختیار شما قرار می گیره. از طریق این کد شما میتونید به درگاه پرداخت متصل بشید. این کد اختصاصی شما هست و نباید در اختیار کسی قرار بگیره.
خب برای اینکه بهتر این موضوع رو درک کنید یک مثال رو با هم بررسی می کنیم.
- در ابتدا یک پروژه از نوع Asp.net mvc Core ایجاد کنید.
- از طریق nuget پکیج های مربوط به درگاه پرداخت زرین پال را توی پروژه نصب کنید. (نصب پکیج از nuget) این پکیج ها عبارتند از :
Zarinpal
//
ZarinpalSandbox
پکیج Zarinpal برای اتصال سایت به درگاه پرداخت به صورت واقعی و پکیج ZarinpalSandbox برای اتصال سایت به درگاه پرداخت تستی استفاده میشه.
خب بعد از افزودن این دو پکیج می تونید به درگاه وصل بشید. برای اتصال به درگاه به صورت تستی از کد زیر در کنترلر خودتون استفاده کنید. برای استفاده از درگاه تستی از متد 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 همون مبلغ هست و میتونید یه عنوان هم برای پرداخت تعیین کنید. در صفحه درگاه هم هم دکمه 'پرداخت موفق' و هم دکمه 'پرداخت ناموفق' دارید که میتونید دو صفحه برای پرداخت موفق و ناموفق به وجود بیارید.
برای استفاده از درگاه واقعی هم کافیه از متد 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");
}
}
سلام متاسفانه عبارت زیر در اکشن که گفتید دارای ارور هست و نه اوردن هییچ یوزینگ و نصب پکیجی هم از ویژوآل پیشنهاد نشده
PaymentForPackageVerify
سلام
پکیجی وجود داره که همزمان به چنتا درگاه پرداخت وصل بشه؟
من میخوام درگاه های پرداخت زیر رو به پروژه اضافه کنم
ولی میخوام همزمان متصل باشه نه اینکه یکیشو قطع کنم اون یکی رو وصل کنم
با درود زرین پال دیگه خدمات آزمایشگاه یا همون سندباکس رو ارائه نمیده برای وصل شدن به درگاه از کد سورس زیر را استفاده کنید https://github.com/erfanad1992/zarinpalasp.netcore
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2