نمونه کد سیشارپ
کتابخانه سیشارپ فینوپال برای .NET 6 و بالاتر است و با REST به درگاه وصل میشود. مبلغها به ریال و حداقل ۱۰۰۰ ریال هستند. پیش از استفاده، راهنمای اتصال به درگاه را بخوانید.
درخواست پرداخت
مرچنتکد را از پنل کاربری بردارید. OrderId و توضیحات الزامیاند. توضیحات حداکثر ۲۵۵ کاراکتر است. خریدار را به PaymentUrl بفرستید. میزبان واقعی https://payment.finopal.ir و سندباکس https://sandbox.finopal.ir است.
using FinoPal;
using var finopal = new FinoPalClient("fino-xxxx-xxxx-xxxx-xxxx", sandbox: false);
var created = await finopal.RequestAsync(new PaymentRequest
{
Amount = 10000,
Description = "سفارش ۱۲۳۴۵",
CallbackUrl = "https://shop.example/callback",
OrderId = "ORD-12345",
});
تأیید پرداخت
بازگشت درگاه Authority و Status دارد. فقط وقتی Status=OK است تأیید کنید. مبلغ باید همان مبلغ درخواست باشد. کد ۱۰۰ تازه تأییدشده و کد ۱۰۱ قبلاً تأییدشده است.
if (FinoPalClient.ShouldVerify(status))
{
var verified = await finopal.VerifyAsync(authority, amount);
}
استعلام، ریورس و کارمزد
var inquiry = await finopal.InquireAsync(authority);
await finopal.ReverseAsync(authority);
var fee = await finopal.CalculateFeeAsync(1000000);
FeeType برابر Merchant یعنی کارمزد روی پذیرنده و Payer یعنی روی خریدار است. اگر تأیید با خطای شبکه برگشت، پرداخت تازه نسازید و اول استعلام بگیرید.