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.

195 lines
11 KiB

1 month ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_trust_payment] Script Date: 6/26/2024 5:25:13 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[proc_trust_payment]
  9. @flag VARCHAR(20)
  10. ,@type varchar(10)=null
  11. ,@rowId VARCHAR(200) = NULL
  12. ,@refId VARCHAR(200) = NULL
  13. ,@orderreference VARCHAR(200) = NULL
  14. ,@user VARCHAR(200) = NULL
  15. ,@sitereference varchar(100) =NULL
  16. ,@tranid BIGINT = NULL
  17. ,@customerid BIGINT = NULL
  18. ,@token VARCHAR(200) = NULL
  19. ,@firstName VARCHAR(200) = NULL
  20. ,@lastName VARCHAR(200) = NULL
  21. ,@houseNo VARCHAR(200) = NULL
  22. ,@street VARCHAR(200) = NULL
  23. ,@town VARCHAR(200) = NULL
  24. ,@county VARCHAR(100) = NULL
  25. ,@country VARCHAR(200) = NULL
  26. ,@postCode VARCHAR(200) = NULL
  27. ,@email VARCHAR(200) = NULL
  28. ,@telephone VARCHAR(200) = NULL
  29. ,@telephoneType VARCHAR(200) = NULL
  30. ,@cardNo VARCHAR(200) = NULL
  31. ,@expiryDate DATETIME = NULL
  32. ,@securityCode VARCHAR(200) = NULL
  33. ,@requestreference VARCHAR(200) = NULL
  34. ,@transactionreference VARCHAR(200) = NULL
  35. ,@errorCode varchar(20)=NULL
  36. ,@settlestatus varchar(100)=NULL
  37. ,@paymenttypedescription varchar(250)=NULL
  38. ,@responsesitesecurity varchar(250)=NULL
  39. AS
  40. ------------------------------------------------------------------------
  41. -- added new @flag = 'details-ControlNo' for receipt
  42. -- #31895 commented out verifiedBy='system' to manually verify debit card txn
  43. ------------------------------------------------------------------------
  44. BEGIN
  45. --EXEC proc_trust_payment @flag = 'details', @tranid='10000186'
  46. PRINT @flag
  47. DECLARE @tranid1 INT;
  48. IF @flag = 'i-details'
  49. BEGIN
  50. IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@refId)
  51. BEGIN
  52. UPDATE dbo.TRU_TranDetail
  53. SET recordStatus = 'EXPIRED'
  54. WHERE orderreference = @refId
  55. AND recordStatus <> 'READYTOPAY'
  56. END
  57. INSERT INTO TRU_TranDetail
  58. (
  59. refId,
  60. email,
  61. createddate,
  62. orderreference,
  63. sitereference,
  64. Tranid,
  65. customerid,
  66. token,
  67. recordStatus,
  68. transactionreference,
  69. errorcode,
  70. settlestatus,
  71. paymenttypedescription,
  72. responsesitesecurity
  73. )
  74. VALUES
  75. (
  76. @refId,
  77. @user
  78. ,GETDATE()
  79. ,@orderreference
  80. ,@sitereference
  81. ,@tranid
  82. ,@customerid
  83. ,@token
  84. ,'DRAFT'
  85. ,@transactionreference
  86. ,@errorCode
  87. ,@settlestatus
  88. ,@paymenttypedescription
  89. ,@responsesitesecurity
  90. )
  91. IF(@type='data')
  92. BEGIN
  93. EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid
  94. END
  95. --SELECT camt, FROM remitTran where id=@tranid
  96. END
  97. IF @flag = 'details'
  98. BEGIN
  99. --SELECT * FROM TRU_TranDetail WHERE refId = @refId
  100. --RETURN
  101. EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid
  102. END
  103. IF @flag = 'details-ControlNo'
  104. BEGIN
  105. IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@orderreference)
  106. BEGIN
  107. UPDATE dbo.TRU_TranDetail
  108. SET requestreference= @requestreference ,transactionreference=@transactionreference
  109. WHERE orderreference = @orderreference
  110. and recordStatus = 'COMPLETE'
  111. UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference,verifiedDate=getdate()
  112. --verifiedBy='system'
  113. WHERE controlno= dbo.encryptdb(@orderreference);
  114. SELECT TOP 1 @tranid1 = Tranid FROM TRU_TranDetail WHERE orderreference = @orderreference AND recordStatus='COMPLETE' order by rowId desc
  115. EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid1
  116. END
  117. END
  118. IF @flag = 'u-details'
  119. BEGIN
  120. IF EXists(select * fROM TRU_TranDetail WHERE refid=@refId)
  121. BEGIN
  122. UPDATE dbo.TRU_TranDetail
  123. SET recordStatus = 'PROCESS'
  124. WHERE orderreference = @orderreference and refId=@refId
  125. and recordStatus = 'DRAFT'
  126. --UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference
  127. --WHERE controlno= dbo.encryptdb(@orderreference);
  128. END
  129. ELSE -- WEB online
  130. BEGIN
  131. UPDATE dbo.TRU_TranDetail
  132. SET recordStatus = 'PROCESS'
  133. WHERE orderreference = @orderreference
  134. and recordStatus = 'DRAFT'
  135. UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference,verifiedDate=getdate(),
  136. verifiedBy='system'
  137. WHERE controlno= dbo.encryptdb(@orderreference);
  138. END
  139. IF(@type='data')
  140. BEGIN
  141. SELECT TOP 1 @tranid1 = tranid FROM dbo.TRU_TranDetail WHERE orderreference = @orderreference and recordStatus = 'PROCESS' order by createddate desc
  142. EXEC PROC_DYNAMIC_TABLE @Flag = 'Txn-Detail', @id =@tranid1
  143. END
  144. END
  145. IF @flag = 'u-details-fail'
  146. BEGIN
  147. IF EXists(select * fROM TRU_TranDetail WHERE orderreference=@orderreference)
  148. BEGIN
  149. UPDATE dbo.TRU_TranDetail
  150. SET recordStatus = 'FAIL' ,paymenttypedescription= ISNULL(@paymenttypedescription,paymenttypedescription),
  151. settlestatus= ISNULL(@settlestatus,settlestatus)
  152. WHERE orderreference = @orderreference --AND tranid=@tranid
  153. and recordStatus = 'PROCESS'
  154. UPDATE remitTranTemp set requestreference= @requestreference ,transactionreference=@transactionreference, payStatus='Reject',
  155. tranStatus='Reject', cancelReason='DECLINE FROM TRUSTPAY', cancelApprovedDate=GETDATE(),cancelApprovedBy=@user
  156. WHERE controlno= dbo.encryptdb(@orderreference);
  157. END
  158. END
  159. IF @flag = 'u-details-expire'
  160. BEGIN
  161. IF EXists(select * fROM TRU_TranDetail WHERE refId=@refId)
  162. BEGIN
  163. UPDATE dbo.TRU_TranDetail
  164. SET recordStatus = 'COMPLETE'
  165. WHERE refId = @refId AND tranid=@tranid
  166. and recordStatus = 'PROCESS'
  167. END
  168. END
  169. END