Thanks for your feedback benjamin, although there are different ways to achieve this but doing this is quite simple too, remember the webhook url you set on flutterwave webhook settings page, make sure that the url is a link to an action method decorated with an [HttpGet], as flutterwave will be sending a response to it. When this is done, you can have access to anything (values) you want ( from what flutterwave is sending back to you as a response ) like status of the transaction, amount, transaction reference , id ( this is a unique transaction identifier generated by flutterwave ) and so on, once you have the id, you can verify the transaction via this endpoint "https://api.flutterwave.com/v3/transactions/:id/verify" ,if the verification is successful, you'll get a response object like { "status": "success", "message": "Transaction fetched successfully", "data": { "id": 288200108, "tx_ref": "LiveCardTest", "flw_ref": "YemiDesola/FLW275407301", "device_fingerprint": "N/A", "amount": 100, "currency": "NGN", "charged_amount": 100, "app_fee": 1.4, "merchant_fee": 0, "processor_response": "Approved by Financial Institution", "auth_model": "PIN", "ip": "::ffff:10.5.179.3", "narration": "CARD Transaction ", "status": "successful", "payment_type": "card", "created_at": "2020-07-15T14:31:16.000Z", "account_id": 17321, "card": { "first_6digits": "232343", "last_4digits": "4567", "issuer": "FIRST CITY MONUMENT BANK PLC", "country": "NIGERIA NG", "type": "VERVE", "token": "flw-t1nf-4676a40c7ddf5f12scr432aa12d471973-k3n", "expiry": "02/23" }, "meta": null, "amount_settled": 98.6, "customer": { "id": 216519823, "name": "Yemi Desola", "phone_number": "N/A", "email": "user@gmail.com", "created_at": "2020-07-15T14:31:15.000Z" } } } , .so you can give value or save value(s) in your database.