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.

96 lines
2.9 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_CALLBACK_SYNC_STATUS] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[PROC_CALLBACK_SYNC_STATUS]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[PROC_CALLBACK_SYNC_STATUS] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROCEDURE [dbo].[PROC_CALLBACK_SYNC_STATUS](
  12. @Flag VARCHAR(20)
  13. ,@GTN VARCHAR(20) = NULL
  14. ,@Provider VARCHAR(20) = NULL
  15. ,@PartnerPin VARCHAR(20) = NULL
  16. ,@PayoutStatus VARCHAR(20) = NULL
  17. ,@PayoutDateTime VARCHAR(20) = NULL
  18. ,@TxnStatus VARCHAR(20) = NULL
  19. ,@TranId VARCHAR(20) = NULL
  20. )AS
  21. BEGIN
  22. IF @Flag='callback-sync'
  23. BEGIN
  24. DECLARE @pAgent BIGINT
  25. SELECT @pAgent = CASE WHEN @Provider='truemoney' THEN 404522 ELSE 0 END
  26. DECLARE @ENCRYPTEDGTN VARCHAR(30) = DBO.FNAEncryptString(@GTN), @CONTROLNOFORCASH VARCHAR(30)
  27. ,@tranStatus varchar(50)
  28. SELECT @TRANID = ID, @CONTROLNOFORCASH = controlNo,@tranStatus = tranStatus
  29. FROM remitTran (NOLOCK)
  30. WHERE ContNo = @PartnerPin and controlNo2 = @ENCRYPTEDGTN AND pAgent = @pAgent
  31. IF @TRANID IS NULL
  32. BEGIN
  33. SELECT @TRANID = ID, @CONTROLNOFORCASH = controlNo,@tranStatus = tranStatus
  34. FROM remitTran (NOLOCK)
  35. WHERE controlNo2 = @ENCRYPTEDGTN AND pAgent = @pAgent
  36. END
  37. SET @CONTROLNOFORCASH = DBO.FNADecryptString(@CONTROLNOFORCASH)
  38. --IF @TRANID IS NULL
  39. --BEGIN
  40. -- SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo),@tranStatus = tranStatus
  41. -- FROM remitTran (NOLOCK)
  42. -- WHERE controlNo = DBO.FNAEncryptString(@GTN)
  43. --END
  44. --IF @TRANID IS NULL
  45. --BEGIN
  46. -- SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo),@tranStatus = tranStatus
  47. -- FROM remitTran (NOLOCK)
  48. -- WHERE controlNo = DBO.FNAEncryptString(@GTN)
  49. --END
  50. --IF @TRANID IS NULL
  51. --BEGIN
  52. -- SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @tranStatus = tranStatus
  53. -- FROM remitTran (NOLOCK) WHERE controlNo2 = DBO.FNAEncryptString(@GTN)
  54. --END
  55. IF @TRANID IS NULL
  56. BEGIN
  57. EXEC proc_errorHandler 1, 'Transaction not found.', NULL
  58. RETURN
  59. END
  60. IF @tranStatus = 'Cancel'
  61. BEGIN
  62. EXEC proc_errorHandler 1, 'Transaction already been cancelled', NULL
  63. RETURN
  64. END
  65. IF @tranStatus = 'Paid'
  66. BEGIN
  67. EXEC proc_errorHandler 1, 'Transaction already been Paid', NULL
  68. RETURN
  69. END
  70. IF @PayoutStatus = 'Cancel'
  71. BEGIN
  72. EXEC proc_cancelTran @flag = 'cancel', @user = 'system', @controlNo = @CONTROLNOFORCASH, @cancelReason = 'Transaction Rejected from partner', @refund = 'D'
  73. EXEC proc_errorHandler 1, 'Transaction cancelled successfully', NULL
  74. RETURN
  75. END
  76. ELSE IF @PayoutStatus = 'Paid'
  77. BEGIN
  78. UPDATE remitTran SET payStatus = 'Paid', tranStatus = 'Paid', paidBy = 'system', paidDate = GETDATE()
  79. WHERE id = @TRANID
  80. EXEC proc_errorHandler 1, 'Transaction status synced as paid successfully', NULL
  81. RETURN
  82. END
  83. END
  84. END
  85. GO