USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_trust_payment] Script Date: 10/21/2023 2:24:21 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[proc_trust_payment] @flag VARCHAR(20) ,@type varchar(10)=null ,@rowId VARCHAR(200) = NULL ,@refId VARCHAR(200) = NULL ,@orderreference VARCHAR(200) = NULL ,@user VARCHAR(200) = NULL ,@sitereference varchar(100) =NULL ,@tranid BIGINT = NULL ,@customerid BIGINT = NULL ,@token VARCHAR(200) = NULL ,@firstName VARCHAR(200) = NULL ,@lastName VARCHAR(200) = NULL ,@houseNo VARCHAR(200) = NULL ,@street VARCHAR(200) = NULL ,@town VARCHAR(200) = NULL ,@county VARCHAR(100) = NULL ,@country VARCHAR(200) = NULL ,@postCode VARCHAR(200) = NULL ,@email VARCHAR(200) = NULL ,@telephone VARCHAR(200) = NULL ,@telephoneType VARCHAR(200) = NULL ,@cardNo VARCHAR(200) = NULL ,@expiryDate DATETIME = NULL ,@securityCode VARCHAR(200) = NULL ,@requestreference VARCHAR(200) = NULL ,@transactionreference VARCHAR(200) = NULL ,@errorCode varchar(20)=NULL ,@settlestatus varchar(100)=NULL ,@paymenttypedescription varchar(250)=NULL ,@responsesitesecurity varchar(250)=NULL AS ------------------------------------------------------------------------ -- added new @flag = 'details-ControlNo' for receipt ------------------------------------------------------------------------ BEGIN --EXEC proc_trust_payment @flag = 'details', @tranid='10000186' PRINT @flag DECLARE @tranid1 INT; IF @flag = 'i-details' BEGIN IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@refId) BEGIN UPDATE dbo.TRU_TranDetail SET recordStatus = 'EXPIRED' WHERE orderreference = @refId AND recordStatus <> 'READYTOPAY' END INSERT INTO TRU_TranDetail ( refId, email, createddate, orderreference, sitereference, Tranid, customerid, token, recordStatus, transactionreference, errorcode, settlestatus, paymenttypedescription, responsesitesecurity ) VALUES ( @refId, @user ,GETDATE() ,@orderreference ,@sitereference ,@tranid ,@customerid ,@token ,'DRAFT' ,@transactionreference ,@errorCode ,@settlestatus ,@paymenttypedescription ,@responsesitesecurity ) IF(@type='data') BEGIN EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid END --SELECT camt, FROM remitTran where id=@tranid END IF @flag = 'details' BEGIN --SELECT * FROM TRU_TranDetail WHERE refId = @refId --RETURN EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid END IF @flag = 'details-ControlNo' BEGIN IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@orderreference) BEGIN UPDATE dbo.TRU_TranDetail SET requestreference= @requestreference ,transactionreference=@transactionreference WHERE orderreference = @orderreference and recordStatus = 'COMPLETE' UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference,verifiedDate=getdate(), verifiedBy='system' WHERE controlno= dbo.encryptdb(@orderreference); SELECT TOP 1 @tranid1 = Tranid FROM TRU_TranDetail WHERE orderreference = @orderreference AND recordStatus='COMPLETE' order by rowId desc EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid1 END END IF @flag = 'u-details' BEGIN IF EXists(select * fROM TRU_TranDetail WHERE refid=@refId) BEGIN UPDATE dbo.TRU_TranDetail SET recordStatus = 'PROCESS' WHERE orderreference = @orderreference and refId=@refId and recordStatus = 'DRAFT' --UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference --WHERE controlno= dbo.encryptdb(@orderreference); END ELSE -- WEB online BEGIN UPDATE dbo.TRU_TranDetail SET recordStatus = 'PROCESS' WHERE orderreference = @orderreference and recordStatus = 'DRAFT' END IF(@type='data') BEGIN SELECT TOP 1 @tranid1 = tranid FROM dbo.TRU_TranDetail WHERE orderreference = @orderreference and recordStatus = 'PROCESS' order by createddate desc EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid1 END END IF @flag = 'u-details-fail' BEGIN IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@orderreference) BEGIN UPDATE dbo.TRU_TranDetail SET recordStatus = 'FAIL' WHERE orderreference = @orderreference --AND tranid=@tranid and recordStatus = 'PROCESS' UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference, payStatus='Reject', tranStatus='Reject' WHERE controlno= dbo.encryptdb(@orderreference); END END IF @flag = 'u-details-expire' BEGIN IF EXists(select * fROM TRU_TranDetail WHERE refId=@refId) BEGIN UPDATE dbo.TRU_TranDetail SET recordStatus = 'COMPLETE' WHERE refId = @refId AND tranid=@tranid and recordStatus = 'PROCESS' END END END