question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

With fullNotifications set to True, BTCPay server correctly sends multiple IPNs for different invoice statuses. However, on fast confirming payments (namely lightning and also payments where the user has set BTCPay to consider zero confirmations as confirmed) BTCPay sends multiple duplicate IPNs instead separate IPNs.

Example:

With fullNotifications set to True, with an on-chain payment, BTCPay will send an IPN on ‘paid’, and another IPN on ‘confirmed’, and another one on ‘complete’. All is good.

With fullNotifications set to True, with a lightning payment, the BTCPay logs will show an IPN will sent an IPN on ‘paid,’ and another on ‘confirmed’, and another on ‘complete’, as would be expected. But in reality, the receiver instead gets 3 IPNs that all say ‘confirmed’ instead of getting 1 ‘paid’, 1 ‘confirmed’, and 1 ‘complete.’

I just pushed an update to LibrePatron that works around this issue by ignoring the duplicate IPNs (submitted a PR for the new Docker fragment so my users can get a fix, please merge into btcpayserver-docker!), but this would create problems in other scenarios.

It seems like a short delay between status updates would be the fix. Send a ‘paid’ IPN, give a short delay for the recipient to receive the IPN, then recipeint pings BTCPay for ‘paid’ status. Then change the status to ‘confirmed’, again another short delay so that the recipient can receive and ping for status, then finally send ‘complete’.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:10 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
NicolasDoriercommented, Jan 30, 2019

Cool will release new version later today. (Still some other fixes in the pipes)

0reactions
JeffVandrewJrcommented, Jan 30, 2019

@NicolasDorier Just tested it out. It’s all good now; it now works as expected.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pins and needles
Temporary pins and needles can be eased by taking the pressure off the affected area. This then relieves the numbness or tingling sensation....
Read more >
Identifying Duplicate IPNs on subscr_signup
Verify that the IPN is not a duplicate. To do this, save the transaction ID and last payment status in each IPN message...
Read more >
Pins and needles
Read about pins and needles (paraesthesia), a pricking, burning, tingling or numbing sensation that's usually felt in the arms, legs, hands or feet....
Read more >
Dealing with indeterminate pulmonary nodules in ...
Abstract. Introduction: Indeterminate pulmonary nodules (IPNs) are frequently encountered on staging computed tomography (CT) in colorectal cancer (CRC) ...
Read more >
Introducing IPN
Instant Payment Notification (IPN) is a message service that notifies you of events related to PayPal ... Verify that the IPN is not...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found