ESH.Zarinpal
1.0.0
dotnet add package ESH.Zarinpal --version 1.0.0
NuGet\Install-Package ESH.Zarinpal -Version 1.0.0
<PackageReference Include="ESH.Zarinpal" Version="1.0.0" />
paket add ESH.Zarinpal --version 1.0.0
#r "nuget: ESH.Zarinpal, 1.0.0"
// Install ESH.Zarinpal as a Cake Addin #addin nuget:?package=ESH.Zarinpal&version=1.0.0 // Install ESH.Zarinpal as a Cake Tool #tool nuget:?package=ESH.Zarinpal&version=1.0.0
ZarinPal Integration Library 🚀
کتابخانهای برای سادهسازی ارتباط با درگاه پرداخت زرینپال. این کتابخانه امکان ارسال درخواست پرداخت و تأیید پرداخت را به صورت امن و ساده فراهم میکند و از نسخههای سندباکس و واقعی پشتیبانی میکند.
✨ ویژگیهای کلیدی
- 💳 درخواست پرداخت: ارسال درخواست پرداخت به زرینپال و دریافت اطلاعات مربوط به تراکنش.
- 🔐 تأیید پرداخت: بررسی وضعیت پرداخت پس از بازگشت کاربر از درگاه.
- 🛠️ پشتیبانی از سندباکس: امکان تست بدون نیاز به تراکنش واقعی.
- 🎯 خروجی فلوعنت: مدیریت آسان نتیجهها با ساختار
ZarinPalResult<T>
. - ⚠️ مدیریت خطاها: تشخیص و مدیریت خطاهای مرتبط با ارتباط با زرینپال.
🛠️ نصب و راهاندازی
مطمئن شوید که پروژه شما با .NET 6 یا بالاتر سازگار است.
کتابخانه را در پروژه خود کپی یا از طریق گیت اضافه کنید.
وابستگیهای زیر باید در پروژه نصب شوند:
dotnet add package Newtonsoft.Json
🛑 تنظیمات اولیه
ساخت نمونه پیکربندی
var zarinpal = new Configuration("Your-Merchant-ID", sandbox: true);
پارامترهای پیکربندی
- MerchantID: شناسه مرچنت شما از زرینپال.
- sandbox: حالت تست یا واقعی. مقدار پیشفرض
true
است. - email و mobile: ایمیل و شماره تماس اختیاری برای تراکنشها.
🧑💻 استفاده
💸 درخواست پرداخت
var paymentRequest = new PaymentRequestDto
{
CallbackUrl = "https://yourdomain.com/callback",
Amount = 10000, // مبلغ به ریال
Description = "خرید محصول",
Email = "user@example.com",
Mobile = "09123456789"
};
var result = await zarinpal.PaymentRequestAsync(paymentRequest);
if (result.IsSuccess)
{
Console.WriteLine($"Authority: {((PaymentRequestResponseDto)result.Data).Authority}");
Console.WriteLine($"Payment Gateway URL: {((PaymentRequestResponseDto)result.Data).GatewayUrl}");
}
else
{
Console.WriteLine($"Error: {result.Message}");
}
✅ تأیید پرداخت
var authority = "AUTHORITY_FROM_CALLBACK";
var amount = 10000;
var verificationResult = await zarinpal.PaymentVerificationAsync(authority, amount);
if (verificationResult.IsSuccess)
{
Console.WriteLine($"Payment verified. RefID: {((PaymentVerificationSuccessDTO)verificationResult.Data).RefID}");
}
else
{
Console.WriteLine($"Verification failed: {verificationResult.Message}");
}
📦 ساختار خروجی
✅ موفقیتآمیز
خروجی موفق همیشه شامل Status و Data خواهد بود.
{
"IsSuccess": true,
"Status": 100,
"Message": "Payment request created successfully.",
"Data": {
"Authority": "123456",
"GatewayUrl": "https://sandbox.zarinpal.com/pg/StartPay/123456"
}
}
❌ خطا
در صورت خطا، جزئیات در بخش Message و Errors نمایش داده میشوند.
{
"IsSuccess": false,
"Status": -1,
"Message": "Payment verification failed.",
"Data": {
"Authority": "123456",
"Errors": {
"Amount": ["Amount must be at least 100."]
}
}
}
🤝 همکاری
اگر میخواهید در توسعه این کتابخانه مشارکت کنید:
- 🍴 فورک کنید پروژه را.
- تغییرات خود را اعمال کرده و تست کنید.
- ✉️ Pull Request ایجاد کنید.
📜 لایسنس
این پروژه تحت لایسنس MIT منتشر شده است. میتوانید به صورت آزادانه از آن استفاده کنید. 🎉
🌟 استفاده کنید، لذت ببرید و بازخورد دهید!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 103 | 11/25/2024 |