USP_REVENUE_GETPAYMENTDETAILS

Returns payment details for a transaction.

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@PAYMENTMETHODCODE tinyint INOUT
@CHECKDATE UDT_FUZZYDATE INOUT
@CHECKNUMBER nvarchar(20) INOUT
@REFERENCEDATE UDT_FUZZYDATE INOUT
@REFERENCENUMBER nvarchar(20) INOUT
@CARDHOLDERNAME nvarchar(255) INOUT
@CREDITCARDNUMBER nvarchar(4) INOUT
@CREDITTYPECODEID uniqueidentifier INOUT
@AUTHORIZATIONCODE nvarchar(20) INOUT
@EXPIRESON UDT_FUZZYDATE INOUT
@ISSUER nvarchar(100) INOUT
@NUMBEROFUNITS decimal(20, 3) INOUT
@SYMBOL nvarchar(25) INOUT
@MEDIANPRICE decimal(19, 4) INOUT
@GIFTINKINDSUBTYPECODEID uniqueidentifier INOUT
@PROPERTYSUBTYPECODEID uniqueidentifier INOUT
@CONSTITUENTACCOUNTID uniqueidentifier INOUT
@OTHERPAYMENTMETHODCODEID uniqueidentifier INOUT
@DIRECTDEBITRESULTCODE nvarchar(10) INOUT
@LOWPRICE decimal(19, 4) INOUT
@HIGHPRICE decimal(19, 4) INOUT
@GIFTINKINDITEMNAME nvarchar(100) INOUT
@GIFTINKINDDISPOSITIONCODE tinyint INOUT
@GIFTINKINDNUMBEROFUNITS int INOUT
@GIFTINKINDFAIRMARKETVALUE money INOUT
@DIRECTDEBITISREJECTED bit INOUT
@HASCREDITCARDBEENCHARGED bit INOUT
@SALEAMOUNT money INOUT
@SALEDATE datetime INOUT
@BROKERFEE money INOUT
@SALEPOSTSTATUSCODE tinyint INOUT
@SALEPOSTDATE datetime INOUT
@SEPAMANDATEID uniqueidentifier INOUT

Definition

Copy


      CREATE procedure dbo.USP_REVENUE_GETPAYMENTDETAILS
      (
        @REVENUEID uniqueidentifier,
        @PAYMENTMETHODCODE tinyint = null output,
        @CHECKDATE dbo.UDT_FUZZYDATE = null output,
        @CHECKNUMBER nvarchar(20) = null output,
        @REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
        @REFERENCENUMBER nvarchar(20) = null output,
        @CARDHOLDERNAME nvarchar(255) = null output,
        @CREDITCARDNUMBER nvarchar(4) = null output,
        @CREDITTYPECODEID uniqueidentifier = null output,
        @AUTHORIZATIONCODE nvarchar(20) = null output,
        @EXPIRESON dbo.UDT_FUZZYDATE = null output,
        @ISSUER nvarchar(100) = null output,
        @NUMBEROFUNITS decimal(20,3) = null output,
        @SYMBOL nvarchar(25) = null output,
        @MEDIANPRICE decimal(19,4) = null output,
        @GIFTINKINDSUBTYPECODEID uniqueidentifier = null output,
        @PROPERTYSUBTYPECODEID uniqueidentifier = null output,
        @CONSTITUENTACCOUNTID uniqueidentifier = null output,
        @OTHERPAYMENTMETHODCODEID uniqueidentifier = null output,
        @DIRECTDEBITRESULTCODE nvarchar(10) = null output,
        @LOWPRICE decimal(19,4) = null output,
        @HIGHPRICE decimal(19,4) = null output,
        @GIFTINKINDITEMNAME nvarchar(100) = null output,
        @GIFTINKINDDISPOSITIONCODE tinyint = null output,
        @GIFTINKINDNUMBEROFUNITS int = null output,
        @GIFTINKINDFAIRMARKETVALUE money = null output,
        @DIRECTDEBITISREJECTED bit = null output,
        @HASCREDITCARDBEENCHARGED bit = null output,
        @SALEAMOUNT money = null output,
        @SALEDATE datetime = null output,
        @BROKERFEE money = null output,
        @SALEPOSTSTATUSCODE tinyint = null output,
        @SALEPOSTDATE datetime = null output,
        @SEPAMANDATEID uniqueidentifier = null output
      )
      as
        set nocount on

        declare @PAYMENTMETHODID uniqueidentifier;
        select
          @PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
          @PAYMENTMETHODID = REVENUEPAYMENTMETHOD.ID
        from dbo.REVENUEPAYMENTMETHOD
        where REVENUEID = @REVENUEID;

        select
          @REFERENCENUMBER = '',
          @REFERENCEDATE = '00000000',
          @CHECKDATE = '00000000',
          @CHECKNUMBER = '',
          @CARDHOLDERNAME = '',
          @CREDITCARDNUMBER = '',
          @CREDITTYPECODEID = null,
          @AUTHORIZATIONCODE = '',
          @EXPIRESON = '00000000',
          @CONSTITUENTACCOUNTID = null,
          @ISSUER = '',
          @NUMBEROFUNITS = 0,
          @SYMBOL = '',
          @MEDIANPRICE = 0,
          @PROPERTYSUBTYPECODEID = null,
          @LOWPRICE = 0,
          @HIGHPRICE = 0,
          @GIFTINKINDITEMNAME = '',
          @GIFTINKINDDISPOSITIONCODE = 0,
          @GIFTINKINDNUMBEROFUNITS = 0,
          @GIFTINKINDFAIRMARKETVALUE = 0,
          @HASCREDITCARDBEENCHARGED = 0;

        if @PAYMENTMETHODCODE = 0 --Cash

          select 
            @REFERENCENUMBER = REFERENCENUMBER,
            @REFERENCEDATE = REFERENCEDATE
          from dbo.CASHPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 1 --Check

          select @CHECKDATE = CHECKDATE,
               @CHECKNUMBER = CHECKNUMBER
          from dbo.CHECKPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 2 --Credit Card

        begin
          select 
            @CARDHOLDERNAME = CARDHOLDERNAME,
            @CREDITCARDNUMBER = CREDITCARDPARTIALNUMBER,
            @CREDITTYPECODEID = CREDITTYPECODEID,
            @AUTHORIZATIONCODE = AUTHORIZATIONCODE,
            @EXPIRESON = EXPIRESON,
            @HASCREDITCARDBEENCHARGED = case when TRANSACTIONID is not null then 1 else 0 end
          from dbo.CREDITCARDPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;
        end

        if @PAYMENTMETHODCODE = 3 --Direct Debit

          select
            @REFERENCEDATE = DIRECTDEBITPAYMENTMETHODDETAIL.REFERENCEDATE,
            @REFERENCENUMBER = DIRECTDEBITPAYMENTMETHODDETAIL.REFERENCENUMBER,
            @CONSTITUENTACCOUNTID = DIRECTDEBITPAYMENTMETHODDETAIL.CONSTITUENTACCOUNTID,
            @DIRECTDEBITRESULTCODE = DIRECTDEBITPAYMENTMETHODDETAIL.DIRECTDEBITRESULTCODE,
            @DIRECTDEBITISREJECTED = DIRECTDEBITPAYMENTMETHODDETAIL.ISREJECTED,
            @SEPAMANDATEID = DIRECTDEBITPAYMENTMETHODDETAIL.SEPAMANDATEID
          from 
            dbo.DIRECTDEBITPAYMENTMETHODDETAIL 
          where 
            DIRECTDEBITPAYMENTMETHODDETAIL.ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 4 --Stock

          select 
            @ISSUER = ISSUER,
            @NUMBEROFUNITS = NUMBEROFUNITS,
            @SYMBOL = SYMBOL,
            @MEDIANPRICE = TRANSACTIONMEDIANPRICE,
            @LOWPRICE = TRANSACTIONLOWPRICE,
            @HIGHPRICE = TRANSACTIONHIGHPRICE
          from dbo.STOCKDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 5 --Property

          select top 1
            @PROPERTYSUBTYPECODEID = PROPERTYSUBTYPECODEID,
            @SALEAMOUNT = TRANSACTIONSALEAMOUNT,
            @SALEDATE = SALEDATE,
            @BROKERFEE = TRANSACTIONBROKERFEE,
            @SALEPOSTSTATUSCODE = 
              case 
                when (    select top 1
                      REVENUE.DONOTPOST
                    from
                      dbo.REVENUE
                      inner join dbo.REVENUEPAYMENTMETHOD on [REVENUEPAYMENTMETHOD].REVENUEID = REVENUE.ID
                    where
                      REVENUEPAYMENTMETHOD.ID = @PAYMENTMETHODID
                  ) = 1
                  then 2
                else
                  case PROPERTYDETAIL.[ISSOLD] when 1 then PROPERTYDETAIL.[SALEPOSTSTATUSCODE] else case when PROPERTYDETAIL.[SALEPOSTDATE] is null then 1 else  
                  PROPERTYDETAIL.[SALEPOSTSTATUSCODE] end end
              end,
            @SALEPOSTDATE = SALEPOSTDATE
          from dbo.PROPERTYDETAIL WHERE ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 6 --Gift in Kind

          select
            @GIFTINKINDSUBTYPECODEID = GIFTINKINDSUBTYPECODEID,
            @GIFTINKINDITEMNAME = ITEMNAME,
            @GIFTINKINDDISPOSITIONCODE = DISPOSITIONCODE,
            @GIFTINKINDNUMBEROFUNITS = NUMBEROFUNITS,
            @GIFTINKINDFAIRMARKETVALUE = TRANSACTIONFAIRMARKETVALUE
          from dbo.GIFTINKINDPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 10 --Other

          select @OTHERPAYMENTMETHODCODEID = OTHERPAYMENTMETHODCODEID,
            @REFERENCEDATE = REFERENCEDATE,
            @REFERENCENUMBER = REFERENCENUMBER
          from dbo.OTHERPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 11 --Standing Order

          select
            @REFERENCEDATE = REFERENCEDATE,
            @REFERENCENUMBER = N'',
            @CONSTITUENTACCOUNTID = CONSTITUENTACCOUNTID
          from dbo.STANDINGORDERPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 101 -- PayPal

          select
            @REFERENCEDATE = REFERENCEDATE,
            @REFERENCENUMBER = REFERENCENUMBER
          from dbo.PAYPALPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;

        if @PAYMENTMETHODCODE = 102 -- Venmo

          select
            @REFERENCEDATE = REFERENCEDATE,
            @REFERENCENUMBER = REFERENCENUMBER
          from dbo.VENMOPAYMENTMETHODDETAIL where ID = @PAYMENTMETHODID;