Forum

Ask, reply and learn. Join the community of Akaunting.

New Discussion

Invoice Status remains unpaid after payment confirmation

Stephen Oduor   ( User )

Commented 3 years ago

I am integrating Mpesa, MTN and TIGO mobile payments

So far I have integrated Mpesa successfully but the invoice status is not changed to Paid

When payments are made for an Invoice I get confirmation from Mpesa that the payments have been made so at this point I want to automatically update the invoice status to paid but seem

event(new PaymentReceived($invoice, $request)); is not working

I am following below sample modules
https://github.com/akaunting/akaunting/tree/master/modules/PaypalStandard/
https://github.com/akaunting/akaunting/tree/master/modules/OfflinePayments

I suspect that there might be a bug in akaunting module package for listeners and Event
Could it be related to 026b649

Kindly help

Steps to reproduce the issue
Expected result
Invoice marked as paid

Actual result
Invoice status remains unpaid

System information (Akaunting, PHP versions)
I am using akaunting version 2.0.9
Php 7.3

Additional comments
Payment Integration Mpesa Kenya, MTN and TIGO, Mpesa Tanzania mobile payments

Stephen Oduor   ( User )

Commented 3 years ago

https://3v4l.org/crlYE is The payment Controller where I process the response from Mpesa after payment is received. See event(new PaymentReceived($invoice, $request)); on line 110

I have registered listeners like in the Main provider just as in paypal module
https://github.com/akaunting/akaunting/tree/master/modules/PaypalStandard

Denis Dulici   ( Admin )

Commented 3 years ago

Hello Stephen,

What does the log file say? Can you please try to log the request?

Regards

Denis Dulici   ( Admin )

Commented 3 years ago

Stephen, were you able to make it happen?

Stephen Oduor   ( User )

Commented 3 years ago

Hi Denis, Sorry for the delayed response
I realized that I was not getting callback response from Mpesa because laravel doesnt all the callback url. So far I have tried crf exept using protected $except = [

'portal/invoices/completed/*',
'portal/invoices/validate',
'portal/invoices/confirm'
];

The callback URL is in the form "callback_url" => route("portal.invoices.mpesa.complete", $invoice->id),

But still not working

Stephen Oduor   ( User )

Commented 3 years ago

Hi Denis, From the above is there anything am doing wrong?

Denis Dulici   ( Admin )

Commented 3 years ago

Hello Stephen,

Can't really say anything from the above code but feel free to send the module to support[at]akaunting[dot]com and I'll check it myself.

Regards

Stephen Oduor   ( User )

Commented 3 years ago

ok I am sending

Stephen Oduor   ( User )

Commented 3 years ago

I have sent

Jesse   ( User )

Commented 3 years ago

Hi Stephen, I am interested in the Mpesa integration. Do you mind hitting me up on jmbaruk[at]gmail[dot]com

Please login or register to leave a response.

Showing 1 to 10 of 11 discussions