Skip to content
NEWMarketplace and the trig8n Agent: sell what you build, and get plans and changes that are tested before you see them. See what is new

Library / Finance, Invoices & Accounting

Finance, Invoices & Accounting

Log and verify Qersh wallet transfers from webhooks into Google Sheets

Receives signed Qersh wallet transfer webhooks, rejects invalid signatures, and logs each payment as a Google Sheets row, marking suspected forgeries when they arrive.

What it does

## Log wallet transfers to Google Sheets ### How it works The Qersh app on the merchant's phone posts every incoming wallet transfer (Vodafone Cash, Orange Cash, e& money, InstaPay) to the Webhook node as a signed JSON delivery. The Code node checks the signature on the raw body with the connection key and refuses anything else with 401. A valid delivery is answered with 200 at once, the connection test is left alone, and each transfer becomes one row in your sheet: time, amount, payer, transaction id, wallet, risk. A later "suspected forgery" verdict marks the row. Repeated deliveries (the phone retries until it gets a 2xx) are found by delivery_id and not logged twice. ### Setup 1. In Settings, replace the placeholder with the connection key the phone shows after you add the wallet (paste it only here). 2. Create a Google Sheet with a header row: received_at, amount, currency, payer_number, payer_name, provider_txn_id, wallet, risk, auto_confirm_ok, transfer_id, delivery_id, status. Select it and your Google credential in the three Google Sheets nodes. 3. Activate the workflow and copy the Webhook node's Production URL into the Qersh app (More, Wallets, Add wallet, "your store URL"). "Test connection" on the phone must say the signature was verified. Self-hosted n8n needs NODE_FUNCTION_ALLOW_BUILTIN=crypto for the Code node; n8n Cloud allows it. ### Customization tips Add columns to the append node as you like (balance_after, payer handle). Keep "Send sender details" on "full name and number" in the wallet, or the payer number arrives masked. The phone retries a failed delivery for days, so a Sheets outage loses nothing. Qersh (Qersh Pay) is a wallet notification relay, not a payment service provider. Docs: https://qersh.cfd/en/integrations/n8n

The steps

  1. Webhook
  2. Settings
  3. Verify the Qersh signature
  4. Is the signature valid?
  5. Reply 401 to a bad signature
  6. Reply ok at once
  7. Is this the connection test?
  8. Is this a new transfer?
  9. Nothing to log for the test
  10. Look the delivery up in the sheet
  11. Is the delivery new?
  12. Append the transfer row
  13. Is it a forgery verdict?
  14. Mark the row as suspected forgery

16 steps in total.

Similar automations