Your callback URL is a public POST route. Anyone who knows this URL can send a forged payload — with aDocumentation Index
Fetch the complete documentation index at: https://developers.ligdicash.com/llms.txt
Use this file to discover all available pages before exploring further.
status: "completed" and an amount of their choosing. If you process this payload without verification, you will fulfill an order or trigger a payout based on a payment that never happened.
The golden rule: never act on the received payload. Always re-verify.
The re-verification pattern
At creation — store the token
When creating a transaction (payin or payout), store the
token returned by the API in your database, linked to your transaction_id.On receiving the callback — extract the identifier
Receive the callback. Extract your
transaction_id from the custom_data array by filtering on keyof_customdata.Look up the stored token
Search your database for the token associated with this
transaction_id. If no record matches, ignore the callback — it is likely fraudulent.Call the confirm endpoint with the stored token
Call the LigdiCash verification endpoint with the token you stored — not the one in the callback (which is always empty for payins).
