RDN-15684
1

Dues Payment Update

Scott on 4/22/2019 3:05 PM

Scott on 8/8/2019 5:01 PM

%
(hrs)
Logged

0 (hrs)


 Description

We need to update the dues payment with a new setting.

  1. Go to Dues -> Settings
  2. Underneath Paypal Checkbox, we need to add another checkbox.
  3. "LibraryConfig.TeamName Pays Fees"
    1. Description: "The fees will be paid by the LibraryConfig.TeamName rather than the user"
  4. So you need to update the code base.  
  5. When a person pays their dues, the current fees get paid for by the member.  So we need to update this to make sure fees are paid for by the LEAGUE if the checkbox is checked.
  6. This code should be within a method called "FinalizeInvoice"
  7. Please make sure to test this.
Skip Navigation Links
 

Scott Monday, April 29, 2019 2:37 PM #

  1. Members can pay dues to Paypal.  By going to League > Dues > Create Dues Item -> Pay via paypal.  
  2. If you don't see the Pay Via Paypal, then go to Dues > Settings.
    1. Enable the Paypal Payment option.
    2. Then go back and click the Pay via paypal.  This should start to work.
  3. In finalizeInvoice, you should be able to add a new setting to the invoice, and allow the league to process the fees on their end.
  4. Add another property to this method.: .AddDuesItem(new Library.Classes.Payment.Classes.Invoice.InvoiceDuesItem
                                {
                                    BasePrice = (decimal)dues2.DuesFees.FirstOrDefault().TotalPaymentNeededFromMember,
                                    WhoPaysFees = dues2.WhoPaysProcessorFeesEnum,
                                    DuesId = dues2.DuesId,
                                    DuesItemId = dues2.DuesFees.FirstOrDefault().DuesItemId,
                                    MemberPaidId = memberId,
                                    Name = "Dues For " + dues2.DuesFees.FirstOrDefault().PayBy.ToString("yyyy/MM/dd"),
                                    PaidForDate = dues2.DuesFees.FirstOrDefault().PayBy,
                                    Description = "Dues Payment",
                                })
  5. Then check that same property inside the FinalizeInvoice method and check if the league pays or the member pays the fees.
 

Dharmesh Friday, April 26, 2019 4:32 PM #

Sorry! Still I have confusion on paying dues fees.

How league can pay the fees?  We are using MemberPaidId for invoice of due item (Refer : "RDN_Invoice_Dues_Items" database table)

In FinalizeInvoice method, memberid used for getting integration only based on member's league id.

var memberPaying = MemberCache.GetMemberDisplay(duesItem.MemberPaidId);
leagueSettings = Dues.DuesFactory.GetDuesSettings(duesItem.DuesId);
paypalIntegration = PaymentIntegrationManager.GetIntegrationByOwnerId(memberPaying.CurrentLeagueId);

Please guide me for same.
 

 

 

 

 

Scott Thursday, April 25, 2019 4:52 PM #

Look at the FinalizeInvoice method.

  1. Within that, look for where Paypal dues are paid.  We need to review the logic where Paypal payment is sent off.
  2. Right now, we calculate the fees for the member.  Instead, we need to reverse it for the league so the league pays the fees.  It should be pretty simply to get as I don't think we have to calculate anymore.  Make sure you still charge 0.50 cents for each payment.
 

Dharmesh Thursday, April 25, 2019 4:28 PM #

I have done db changes for PaysFees checkbox and implemented that setting.

  1. When a person pays their dues, the current fees get paid for by the member.  So we need to update this to make sure fees are paid for by the LEAGUE if the checkbox is checked.
  2. This code should be within a method called "FinalizeInvoice"

I didn't get above two points. Can you please explain?

Currently MemberPaidId has id of logged used id. 

var memberPaying = MemberCache.GetMemberDisplay(duesItem.MemberPaidId);
leagueSettings = Dues.DuesFactory.GetDuesSettings(duesItem.DuesId);
paypalIntegration = PaymentIntegrationManager.GetIntegrationByOwnerId(memberPaying.CurrentLeagueId);

Please guide me for same.

 

 

 


Powered by BugNET 1.6.339.0