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.
183 lines
6.5 KiB
183 lines
6.5 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_TRANGLO_SYNC_STATUS] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
DROP PROCEDURE [dbo].[PROC_TRANGLO_SYNC_STATUS]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_TRANGLO_SYNC_STATUS] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
----exec PROC_TRANGLO_SYNC_STATUS @flag = 'status-t',@trxStatus='931',@transId='80129564494',@GTN='G1118179136447',@payoutID='',@payoutStatus=''
|
|
|
|
ALTER PROC PROC_TRANGLO_SYNC_STATUS
|
|
(
|
|
@flag VARCHAR(10)
|
|
,@appKey VARCHAR(70) = NULL
|
|
,@date VARCHAR(25) = NULL
|
|
,@fromBalance VARCHAR(20) = NULL
|
|
,@toBalance VARCHAR(20) = NULL
|
|
,@trxStatus VARCHAR(10) = NULL
|
|
,@transId VARCHAR(20) = NULL
|
|
,@GTN VARCHAR(20) = NULL
|
|
,@txCreateDateTime VARCHAR(25) = NULL
|
|
,@txUpdateDateTime VARCHAR(25) = NULL
|
|
,@description VARCHAR(100)= NULL
|
|
,@payoutID VARCHAR(100)= NULL
|
|
,@payoutPin VARCHAR(100)= NULL
|
|
,@payoutStatus VARCHAR(100)= NULL
|
|
,@payoutStatusUpdateTime VARCHAR(25) = NULL
|
|
)
|
|
AS;
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRY
|
|
BEGIN
|
|
IF @flag = 'status-t'
|
|
BEGIN
|
|
DECLARE @TRANID BIGINT = NULL, @ENCRYPTEDGTN VARCHAR(30) = DBO.FNAEncryptString(@GTN), @PAYMENTMETHOD VARCHAR(30), @CONTROLNOFORCASH VARCHAR(30)
|
|
,@tranStatus varchar(50),@vPcountry VARCHAR(50)
|
|
|
|
SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @PAYMENTMETHOD = paymentMethod ,@tranStatus = tranStatus,@vPcountry = pCountry
|
|
FROM remitTran (NOLOCK)
|
|
WHERE CONTNO = @GTN AND pAgent='224389'
|
|
|
|
IF @TRANID IS NULL
|
|
BEGIN
|
|
SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @PAYMENTMETHOD = paymentMethod ,@tranStatus = tranStatus
|
|
FROM remitTran (NOLOCK)
|
|
WHERE controlNo = @ENCRYPTEDGTN AND pAgent='224389'
|
|
END
|
|
IF @TRANID IS NULL
|
|
BEGIN
|
|
SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @PAYMENTMETHOD = paymentMethod ,@tranStatus = tranStatus
|
|
FROM remitTran (NOLOCK)
|
|
WHERE controlNo = DBO.FNAEncryptString(@transId) AND pAgent='224389'
|
|
END
|
|
|
|
IF @TRANID IS NULL
|
|
BEGIN
|
|
SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @PAYMENTMETHOD = paymentMethod ,@tranStatus = tranStatus
|
|
FROM remitTran (NOLOCK)
|
|
WHERE controlNo = DBO.FNAEncryptString(@payoutID) AND pAgent='224389'
|
|
END
|
|
|
|
IF @TRANID IS NULL
|
|
BEGIN
|
|
SELECT @TRANID = ID, @CONTROLNOFORCASH = DBO.FNADecryptString(controlNo), @PAYMENTMETHOD = paymentMethod ,@tranStatus = tranStatus
|
|
FROM remitTran (NOLOCK) WHERE controlNo2 = DBO.FNAEncryptString(@transId) AND pAgent='224389'
|
|
END
|
|
|
|
IF @TRANID IS NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Transaction not found.', NULL
|
|
RETURN
|
|
END
|
|
IF @tranStatus = 'Cancel'
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Transaction already been cancelled', NULL
|
|
RETURN
|
|
END
|
|
IF @tranStatus = 'Paid'
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Transaction already been Paid', NULL
|
|
RETURN
|
|
END
|
|
DECLARE @CustomerId INT,@Mobile varchar(20),@SMSBody VARCHAR(90),@refund char(1)
|
|
SELECT @CustomerId = customerId FROM tranSenders (NOLOCK)
|
|
WHERE tranId = @TRANID
|
|
|
|
SELECT @Mobile = mobile FROM customerMaster(NOLOCK) WHERE customerId = @CustomerId
|
|
SET @Mobile = REPLACE(@Mobile,'+82','0')
|
|
SET @Mobile = REPLACE(@Mobile,'82','0')
|
|
--CANCEL TRANSACTION
|
|
IF @trxStatus NOT IN ('000', '945', '966', '967', '968', '969','911')
|
|
BEGIN
|
|
--SET @refund = CASE WHEN @trxStatus IN ('930') THEN 'R' ELSE 'N' END
|
|
IF @payoutStatus = 'Cancelled' AND @PAYMENTMETHOD = 'CASH PAYMENT'
|
|
BEGIN
|
|
IF LEN(@Mobile)=11
|
|
BEGIN
|
|
SET @SMSBody = 'Your transaction is rejected,please resend transaction with correct account details.GME'
|
|
exec proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
|
|
END
|
|
SET @refund ='N'
|
|
EXEC proc_cancelTran @flag = 'cancel', @user = 'system', @controlNo = @CONTROLNOFORCASH, @cancelReason = 'Transaction Rejected. Incorrect beneficiary details', @refund = @refund
|
|
END
|
|
|
|
RETURN
|
|
END
|
|
ELSE IF @trxStatus = '000'
|
|
BEGIN
|
|
IF @PAYMENTMETHOD = 'CASH PAYMENT'
|
|
BEGIN
|
|
IF @vPcountry = 'Cambodia'
|
|
SET @payoutID = @payoutPin
|
|
IF @CONTROLNOFORCASH <> @payoutID
|
|
BEGIN
|
|
|
|
IF EXISTS(SELECT 'A' FROM FastMoneyPro_Account.DBO.tran_master(NOLOCK) WHERE FIELD1 = @GTN AND field2 = 'Remittance Voucher' and acc_num = '771345592')
|
|
BEGIN
|
|
UPDATE FastMoneyPro_Account.DBO.tran_master SET FIELD1 = @payoutID WHERE FIELD1 = @GTN AND field2 = 'Remittance Voucher'
|
|
END
|
|
|
|
UPDATE remitTran SET
|
|
controlNo = DBO.FNAEncryptString(@payoutID),
|
|
controlNo2 = DBO.FNAEncryptString(@transId),
|
|
ContNo = @GTN
|
|
WHERE ID = @TRANID AND pAgent='224389'
|
|
|
|
IF LEN(@Mobile)=11
|
|
BEGIN
|
|
SET @SMSBody = 'Please provide GME PIN number for your transaction as '+@payoutID+'. GME'
|
|
exec proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
|
|
END
|
|
END
|
|
IF @payoutStatus <> 'Claimed'
|
|
BEGIN
|
|
UPDATE remitTran SET payStatus = 'Post', postedBy = 'system', postedDate = getdate(), postedDateLocal = GETUTCDATE()
|
|
WHERE id = @TRANID AND pAgent='224389'
|
|
END
|
|
IF @payoutStatus = 'Claimed'
|
|
BEGIN
|
|
UPDATE remitTran SET payStatus = 'Paid', tranStatus = 'Paid', paidBy = 'system', paidDate = GETDATE() WHERE id = @TRANID AND pAgent='224389'
|
|
IF @vPcountry = 'Philippines'
|
|
BEGIN
|
|
IF LEN(@Mobile)=11
|
|
BEGIN
|
|
SET @SMSBody = 'Your GME transaction '+@CONTROLNOFORCASH+' is successfully paid to the receiver.'
|
|
exec proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
|
|
END
|
|
END
|
|
END
|
|
END
|
|
ELSE IF @PAYMENTMETHOD = 'BANK DEPOSIT'
|
|
BEGIN
|
|
UPDATE remitTran SET payStatus = 'Paid', tranStatus = 'Paid', paidBy = 'system', paidDate = GETDATE()
|
|
WHERE id = @TRANID AND pAgent='224389'
|
|
IF @vPcountry = 'Philippines'
|
|
BEGIN
|
|
IF LEN(@Mobile)=11
|
|
BEGIN
|
|
SET @SMSBody = 'Your GME transaction '+@CONTROLNOFORCASH+' is successfully credited to beneficiary account.'
|
|
exec proc_CallToSendSMS @FLAG = 'I',@SMSBody= @SMSBody ,@MobileNo=@Mobile
|
|
END
|
|
END
|
|
END
|
|
END
|
|
|
|
EXEC proc_errorHandler 0, 'Status update successfully!', NULL
|
|
END
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT <> 0
|
|
ROLLBACK TRANSACTION;
|
|
|
|
DECLARE @errorMessage VARCHAR(MAX);
|
|
SET @errorMessage = ERROR_MESSAGE();
|
|
|
|
EXEC proc_errorHandler 1, @errorMessage, NULL;
|
|
|
|
END CATCH;
|