Skip to content
Sina Soltani edited this page May 13, 2019 · 23 revisions

Invoice Builder helps you to create and customize an invoice.

A simple payment request is something like:

var result = _onlinePayment.Request(Gateways.Mellat, 123, 25000, "http://www.mywebsite.com/foo/bar/");

You can make the same request by using the Invoice Builder like so:

var result = _onlinePayment.Request(invoice =>
{
    invoice
          .SetTrackingNumber(123)
          .SetAmount(25000)
          .SetCallbackUrl("http://www.mywebsite.com/foo/bar/")
          .UseGateway(Gateways.Mellat);
});

Generating the Tracking Number automatically

Using Auto Increment Tracking Number

var result = _onlinePayment.Request(invoice =>
{
    invoice
          .UseAutoIncrementTrackingNumber()
          .SetAmount(25000)
          .SetCallbackUrl("http://www.mywebsite.com/foo/bar/")
          .UseGateway(Gateways.Mellat);
});

It generates automatically a new tracking number which is one unit greater than the latest number.

Using Auto Random Tracking Number

var result = _onlinePayment.Request(invoice =>
{
    invoice
          .UseAutoRandomTrackingNumber()
          .SetAmount(25000)
          .SetCallbackUrl("http://www.mywebsite.com/foo/bar/")
          .UseGateway(Gateways.Mellat);
});

It generates automatically a new tracking number which is an Int64 number.