public void Notification(Jeeb.Gateway.Models.Notification notif) { if (notif.Signature == signature && notif.StateId == 4) { //Check if signature equals to your signature, since no has this signature, i get to know if this call is from us or not //if( everything is okey on your side ) Retrieve invoice record, check its status, if its okey then continue to confirm this payment var payment = _paymentsRepo.First(param => param.ReferenceNo == notif.ReferenceNo); var jeebApi = new JeebApi(signature); var confirmResult = jeebApi.ConfirmInvoice(new ConfirmInvoiceRequest() { Token = payment.Token, }); payment.IsConfirmed = true; } }
public ActionResult CreateInvoice(CreateInvoiceModel createInvoice) { var invoice = new JeebApi(signature).IssueInvoice(new IssueInvoiceRequest() { AllowReject = false, OrderNo = createInvoice.OrderNo, CallBackUrl = $"{baseUrl}jeeb/callback", NotificationUrl = $"{baseUrl}jeeb/notification", RequestAmount = createInvoice.RequestAmount, }); _paymentsRepo.Add(new Payment() { Token = invoice.Token, IsConfirmed = false, ReferenceNo = invoice.ReferenceNo, }); return(View(new CreateInvoiceViewModel { Token = invoice.Token })); }