You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

194 lines
11 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_trust_payment] Script Date: 11/28/2023 9:30:02 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'
UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference,verifiedDate=getdate(),
verifiedBy='system'
WHERE controlno= dbo.encryptdb(@orderreference);
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' ,paymenttypedescription= ISNULL(@paymenttypedescription,paymenttypedescription),
settlestatus= ISNULL(@settlestatus,settlestatus)
WHERE orderreference = @orderreference --AND tranid=@tranid
and recordStatus = 'PROCESS'
UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference, payStatus='Reject',
tranStatus='Reject', cancelReason='DECLINE FROM TRUSTPAY', cancelApprovedDate=GETDATE(),cancelApprovedBy=@user
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