پرش به مطلب اصلی
نسخه: 4.0

زرین‌پال

dotnet add package Parbad.Gateway.ZarinPal

درگاه زرین‌پال برای پرباد، کتابخانه پرداخت آنلاین ‎.NET.

پیکربندی​

builder.Services.AddParbad()
.ConfigureGateways(gateways =>
{
gateways
.AddZarinPal()
.WithAccounts(accounts =>
{
accounts.AddInMemory(account =>
{
account.MerchantId = "<Your merchant ID>";
account.IsSandbox = false; // true: ZarinPal's sandbox

// Only for refunds: the access token of your ZarinPal panel.
account.AuthorizationToken = "<Your access token>";
});
});
})
// ...

درخواست پرداخت​

var result = await onlinePayment.RequestAsync(invoice =>
{
invoice
.SetAmount(amount)
.SetCallbackUrl(callbackUrl)
.UseAutoIncrementTrackingNumber()
.SetZarinPalData("Order 1234", email: "customer@example.com", mobile: "09121234567") // The description is required
.UseZarinPal();
});

نتیجه تأیید​

verifyResult.GetZarinPalOriginalVerificationResult() نتیجه تأیید خود زرین‌پال را برمی‌گرداند.

استرداد وجه​

استرداد وجه از GraphQL API زرین‌پال استفاده می‌کند و به AuthorizationToken حساب نیاز دارد. زرین‌پال برای استرداد وجه محیط آزمایشی ندارد.

var refundResult = await onlinePayment.RefundCompletelyAsync(trackingNumber);