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

فاکتورساز (Invoice Builder)

RequestAsync(invoice => ...) فاکتور را با فاکتورساز (Invoice Builder) توصیف می‌کند:

var result = await _onlinePayment.RequestAsync(invoice =>
{
invoice
.SetTrackingNumber(1001)
.SetAmount(250_000)
.SetCallbackUrl("https://shop.example/payment/verify")
.UseMellat();
});

شماره پیگیری​

هر فاکتور یک شماره پیگیری یکتا لازم دارد. شماره خودتان را با SetTrackingNumber(...) بدهید یا انتخاب آن را به پرباد بسپارید:

// One more than the largest tracking number in the storage.
invoice.UseAutoIncrementTrackingNumber();

// A random number that is not in the storage yet.
invoice.UseAutoRandomTrackingNumber();

حداقل مقدار آن‌ها (و میزان افزایش) با ConfigureAutoIncrementTrackingNumber و ConfigureAutoRandomTrackingNumber تنظیم می‌شود؛ پیکربندی را ببینید.

انتخاب درگاه​

invoice.UseMellat();

// or by name, e.g. from your settings (not case-sensitive)
invoice.SetGateway("Mellat");

بعضی درگاه‌ها اطلاعات بیشتری می‌گیرند، مانند شماره موبایل مشتری یا یک توضیح؛ درگاه‌ها را ببینید.

انتخاب حساب​

اگر یک درگاه چند حساب دارد، یکی را با نامش انتخاب کنید:

invoice.UseAccount("Donations");

چند حساب برای یک درگاه را ببینید.

ویژگی‌ها​

یک فاکتور می‌تواند مقدارهای دلخواه شما را همراه داشته باشد که درگاه یا یک formatter می‌تواند آن‌ها را بخواند:

invoice.AddOrUpdateProperty("OrderId", orderId);

Formatterها​

یک formatter فاکتور را پیش از ارسال به درگاه تغییر می‌دهد، برای مثال تا یک قاعده را روی همه فاکتورها اعمال کند:

invoice.AddFormatter(invoice => invoice.CallbackUrl = new CallbackUrl("https://shop.example/payment/verify"));