Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
kingflamez
/
laravelrave
/
tests
/
Stubs
:
PaymentEventHandler.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Tests\Stubs; use KingFlamez\Rave\RaveEventHandlerInterface; class PaymentEventHandler implements RaveEventHandlerInterface { /** * This is called when the Rave class is initialized * */ function onInit($initializationData){ // Save the transaction to your DB. return 'Payment started......'.json_encode($initializationData).'<br />'; //Remember to delete this line } /** * This is called only when a transaction is successful * */ function onSuccessful($transactionData){ // Get the transaction from your DB using the transaction reference (txref) // Check if you have previously given value for the transaction. If you have, redirect to your successpage else, continue // Comfirm that the transaction is successful // Confirm that the chargecode is 00 or 0 // Confirm that the currency on your db transaction is equal to the returned currency // Confirm that the db transaction amount is equal to the returned amount // Update the db transaction record (includeing parameters that didn't exist before the transaction is completed. for audit purpose) // Give value for the transaction // Update the transaction to note that you have given value for the transaction // You can also redirect to your success page from here return 'Payment Successful!'.json_encode($transactionData).'<br />'; //Remember to delete this line } /** * This is called only when a transaction failed * */ function onFailure($transactionData){ // Get the transaction from your DB using the transaction reference (txref) // Update the db transaction record (includeing parameters that didn't exist before the transaction is completed. for audit purpose) // You can also redirect to your failure page from here return 'Payment Failed!'.json_encode($transactionData).'<br />'; //Remember to delete this line } /** * This is called when a transaction is requeryed from the payment gateway * */ function onRequery($transactionReference){ // Do something, anything! return 'Payment requeried......'.$transactionReference.'<br />'; //Remember to delete this line } /** * This is called a transaction requery returns with an error * */ function onRequeryError($requeryResponse){ // Do something, anything! return 'An error occured while requeying the transaction...'.json_encode($requeryResponse).'<br />'; //Remember to delete this line } /** * This is called when a transaction is canceled by the user * */ function onCancel($transactionReference){ // Do something, anything! // Note: Somethings a payment can be successful, before a user clicks the cancel button so proceed with caution return 'Payment canceled by user......'.$transactionReference.'<br />'; //Remember to delete this line } /** * This is called when a transaction doesn't return with a success or a failure response. This can be a timedout transaction on the Rave server or an abandoned transaction by the customer. * */ function onTimeout($transactionReference, $data){ // Get the transaction from your DB using the transaction reference (txref) // Queue it for requery. Preferably using a queue system. The requery should be about 15 minutes after. // Ask the customer to contact your support and you should escalate this issue to the flutterwave support team. Send this as an email and as a notification on the page. just incase the page timesout or disconnects return 'Payment timeout......'.$transactionReference.' - '.json_encode($data).'<br />'; //Remember to delete this line } }