Announcement

Collapse

Information Needed

See more
See less

Some Transactions not Posting To Salesforce

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    That is correct, we are seeing the same issue in our instance and as I have offered previously we are more than willing to let C&P to access our instance in order to evaluate this problem again.

    Comment


    • #17
      Good day!

      Thank you for setting the user. Our initial review shows that there are a lot of errors for invalid reference transactions.

      Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: []

      We are reviewing your instance and will get back to you once we have information for what is causing this. You are also using an old release. Is it OK if we upgrade you to the latest release?

      Also we can fix the transactions that have generated error and post them again but we will check back with you when we have a clear answer for the root cause of this issue.
      Regards,
      Click & Pledge Support Department

      On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

      Join us @ the educational webinars: https://clickandpledge.com/webinars/
      Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
      Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

      Comment


      • #18
        Good day Danowens:

        Sorry for the trouble you are having. Please set up a user for us so we can review your instance.

        Please refer to the following KB article: http://forums.clickandpledge.com/showthread.php?t=1065

        It is practically impossible to find out what each instance is doing. Naturally we test every release but our client's instances have different applications or settings and at times issues arise that need to be reviewed. Once we have access to your account we will review and get back to you.
        Regards,
        Click & Pledge Support Department

        On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

        Join us @ the educational webinars: https://clickandpledge.com/webinars/
        Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
        Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

        Comment


        • #19
          Support has access to our instance and used it several times in the past already. You should still have access

          Comment


          • #20
            Good day [email protected]

            When transactions are posted to Salesforce there are 2 conditions that may occur:
            1. Salesforce accepts the post and returns success
            2. Salesforce rejects the post and returns error

            In case 1 we mark the transaction as delivered in the database and will not offer a re-post option since the XML has been delivered. Of course in this case we know the XML has been posted but we have no indication whether the post has generated error or not. We show the error in the C&P Data in the Status.
            In case 2 we know the failure has occurred since Salesforce has returned a failed response. These transactions will be available for re-post in the Click & Pledge portal. Salesforce returns error in case of password or login issues and naturally those cases are the most common issues. In case of a password expiration Salesforce does not return a hard error and states that password has expired. We recently added the email alert for this exception since it is not a hard error & we were not alerting the admins.

            When I initially suggested the password issue may be the reason is because we were not recording the password expiration as error. We are doing it now so moving forward password expiration posts will also be available for re-post. After reviewing your account we have figured out that your issue is not a password issue but one that is a bit more complex because of a number of factors that I will explain below:

            We have reviewed a large number of your transactions that have failed and without exception they all are related to the contact having been deleted. I believe it is best if I explain how our system handles recurring transactions:

            When a recurring transaction initiates within Salesforce we post the Salesforce ContactID of the Contact as part of the XML to the recurring API. The ContactID will always stay with the transaction for the life of the recurring so the same Contact can be credited for the transaction. I hope this makes sense so far!

            Let's look at one of your transactions that has failed:

            Excerpts from the C&P Data XML Post:

            <CustomParameters><Parameter>
            <Field>SalesforceContactID</Field>
            <Value>003E0000009aaM8IAI</Value>
            </Parameter>
            </CustomParameters>

            The XML field which is part of the recurring post states that the transaction is for the following contactId: 003E0000009aaM8IAI

            This ContactID does not exist in your instance. In the absence of this ContactId all transactions having this ContactId will fail and report Invalid Cross Reference Key which is the missing ContactId.

            The ContactId is for Valery R***** and the ContactId for this person in your system is: 003E0000009Zokb (or as 18 characters: 003E0000009ZokbIAC)

            This simply tells us that the original Contact has been deleted and the transactions have no way of knowing to whom the recurring belongs.

            I also reviewed your C&P Settings and noticed that you are in Fully Automatic mode which means that if a contact is not identified in the system a new contact will be created for the patron. Am I correct to assume that you are deleting the duplicate contacts as you find them in the system?

            If contacts are deleted and they have done a recurring which is initiated within Salesforce we have no way of knowing which contact it is if the contact is no longer in the system.

            We are also seeing a lot of Transactions that are assigned to contacts that have a different ContactId than the one originally posted in Salesforce. The C&P Data has a different Salesforce ContactId than the one associated with the transaction. The data is incredibly intertwined.

            Please let me know if you are deleting contacts and changing the parent contact for the transaction? Our testers are testing the system and we can't find how this can possibly happen. If it is a bug in the system we will find it but for this to happen a lot has to be going wrong.

            I look forward to hearing back from you but we are continuing our tests.
            Regards,
            Click & Pledge Support Department

            On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

            Join us @ the educational webinars: https://clickandpledge.com/webinars/
            Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
            Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

            Comment


            • #21
              Thank you for the detailed and informative response. I have some concerns regarding some of these details, however. If our C&P Settings are set to Fully Automatic mode (which we have never changed or adjusted - it came this way upon installation as far as we know) then why would it not just insert the transaction under a new contact rather than fail? Additionally, from what I am able to observe for at least some of the failed recurring transactions, it skips on transaction in the series and then continues the following month. Look, for example, at contact Lance Cha*** who initiated a recurring transaction of $25 on 11/9/2012. It was successful in Nov., Dec., Jan., Feb., Mar., failed in April, succeeded again in May. There are several in this state where they were fine until they failed and then picked back up again. So in your scenario, are you saying that it failed because the contact was deleted (perhaps a duplicate existed and we removed the duplicate which was actually an active recurring donor)? I still don't understand if that is the case why the fully automatic feature would not have just created a new contact and inserted the transaction. That would be my preference for how it works - insert a successful transaction at all costs even if it means we have duplicates.

              To answer your question about deleting duplicate contacts, we have in the past used Salesforce's Merge Duplicates so that we have as much as possible one contact of record for an individual or household. In the example I just outlined for Lance who started giving in November, I have no reason to believe we had any other transactions for him besides this recurring one and therefore would have no cause to merge or delete duplicate contacts for him. So now we are left with a new scenario that is puzzling.

              On a related note, how do I find the ContactId in the XML? I looked in the C&P Data but was unable to see the ID you were referring to and also could not find a contact for "Valery R*" anywhere in the system. Please advise.

              Comment


              • #22
                Good day!

                In the presence of Salesforce Contact ID we don't look at the Contact Settings since the exact contact is set in the XML. We know 100% that the contact is what is in the XML since that is the one that has been used for processing. Salesforce Contact ID comes when transactions are done through the Virtual Terminal and the contact has either been looked up or the VT button has been used to get to the virtual terminal. If we know the Contact ID then we look for it and will not abide by the Contact settings.

                Go to the C&P Data and open one that has failed and copy it to notepad. Then search for "SalesforceContactID"

                If that parameter is present then we look for that Contact ID.

                As for Valery R*** please look at the Contact ID I sent you for her. I replaced her last name with *'s. Look for this contact id:
                003E0000009Zokb - I looked it up again and it is there.
                Regards,
                Click & Pledge Support Department

                On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

                Join us @ the educational webinars: https://clickandpledge.com/webinars/
                Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
                Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

                Comment


                • #23
                  This is where I am confused - when I look at a contact with a failed transaction, such as Lance Cha*** in my example, who has a recurring transaction that did not enter salesforce for April but did the 5 months prior and the 1 month after, I do not see an entry in C&P Data for the failed transaction. How else can I locate the C&P Data for one that has failed?

                  Comment


                  • #24
                    Good day!

                    What we always do is find the Order Number and then search that order number in Salesforce. If it is not in Salesforce then there must have been a communication error.

                    In case of communication error the order number may be located in the Search for transaction in the Report section - if we have recorded a communication error the transaction will be available for manual push into Salesforce.

                    If you let me know the Order Number and the Organization Account Number I can lookup the transaction and see if an error had occurred when it was initially attempted.
                    Regards,
                    Click & Pledge Support Department

                    On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

                    Join us @ the educational webinars: https://clickandpledge.com/webinars/
                    Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
                    Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

                    Comment


                    • #25
                      There are indeed alot of those errors, but its actually a separate issue as I resolved via our open ticket. In those cases it is related to existing Recurring Givers whose record was merged into an older account, and therefore, the Contact C&P is looking for does not exist. We recently upgraded to the newest version of C&P, Version 7.2003, is there a more recent one that I'm not aware of? We upgrade only after testing in a Sandbox, you MAY NOT upgrade our instance. We will use the new feature that lets you link existing recurring to a different contact and I'm hopeful that will address the Cross_Reference key errors.

                      The posting issues that caused me to create a ticket and start this thread are independent of those issues. I included several examples in my ticket for your review.



                      Originally posted by Support.Department View Post
                      Good day!

                      Thank you for setting the user. Our initial review shows that there are a lot of errors for invalid reference transactions.

                      Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: []

                      We are reviewing your instance and will get back to you once we have information for what is causing this. You are also using an old release. Is it OK if we upgrade you to the latest release?

                      Also we can fix the transactions that have generated error and post them again but we will check back with you when we have a clear answer for the root cause of this issue.

                      Comment


                      • #26
                        Good day!

                        The latest release is 7.3x which is in appExchange.

                        We have been working on your scenario all day today trying to figure out what to do in cases like yours. It is quite rare that someone deletes contacts as you have done and we are trying to work on exceptions. For example:

                        - If Salesforce Contact ID exists in the XML but not as a contact then we should put the transaction in the Temporary Contact.
                        - Not sure how to deal with the parent transaction of a recurring if deleted? If the parent is missing then what should we do? I guess we can search for the Transaction ID and see if it has been moved and if so attach the new transaction to the new Contact ID.

                        The problem is the more queries the more likelihood of running into Salesforce query limits. In your case you have over 100K records and running complex queries will definitely run into limits.

                        We have to do testing and figure out how to resolve this issue so the recurring does not generate error and fails gracefully if its parent records are deleted, moved, or changed.

                        Please give us a little time so we can address the issue & come up with a solution that works. It indeed is a scenario not thought of before.
                        Regards,
                        Click & Pledge Support Department

                        On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

                        Join us @ the educational webinars: https://clickandpledge.com/webinars/
                        Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
                        Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

                        Comment


                        • #27
                          Take the time you need, but please note that there seem to be two issues, the ones related to recurring gifts that were linked to a merged Contact, and Transactions that have not shown up at all, no Order number, nothing. It is the latter I'm most concerned about. I believe the former can be resolved with the functionality that was recently released allowing us to connect "orphaned" recurrings with the correct contacts. We have been dealing with that issue for a while. Please look into the Order numbers from my original ticket which I will past below:

                          Order Number
                          135493411495424
                          135493414414467
                          135493416614186
                          135493419474867
                          13549342217123
                          13549342430123
                          135493426414727
                          135493428644147
                          13549346583772
                          13549349263772

                          Thanks.


                          Originally posted by Support.Department View Post
                          Good day!

                          The latest release is 7.3x which is in appExchange.

                          We have been working on your scenario all day today trying to figure out what to do in cases like yours. It is quite rare that someone deletes contacts as you have done and we are trying to work on exceptions. For example:

                          - If Salesforce Contact ID exists in the XML but not as a contact then we should put the transaction in the Temporary Contact.
                          - Not sure how to deal with the parent transaction of a recurring if deleted? If the parent is missing then what should we do? I guess we can search for the Transaction ID and see if it has been moved and if so attach the new transaction to the new Contact ID.

                          The problem is the more queries the more likelihood of running into Salesforce query limits. In your case you have over 100K records and running complex queries will definitely run into limits.

                          We have to do testing and figure out how to resolve this issue so the recurring does not generate error and fails gracefully if its parent records are deleted, moved, or changed.

                          Please give us a little time so we can address the issue & come up with a solution that works. It indeed is a scenario not thought of before.

                          Comment


                          • #28
                            Good day!

                            Thank you for your patience.

                            Here is the result of our finding:

                            - First we took your word for it and assumed that all these transactions are missing from your system. All reported transactions were researched and server log files analyzed. No errors were seen and naturally we were at a loss. Based on our research all transactions should be in your instance.

                            - Next we logged in to your account and started searching for all those transactions. Every single transaction is ALREADY in your system. They are all there and we had not done anything to push them. They are all in your instance. All transactions are associated with a contact except 2 that have an ERROR state due to the reported deletions as discussed before.

                            To search for these please follow the steps listed below:

                            Click image for larger version

Name:	Missed_Transactions.jpg
Views:	1
Size:	121.5 KB
ID:	15184


                            The following 2 transactions have generated error after post and are clearly shown in the error message in the XML (C&P Data)
                            • 13549342217123
                            • 135493428644147
                              • Error: Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: []
                              • Cause:
                                • <CustomParameters><Parameter><Field>SalesforceCont actID</Field>
                                  <Value>003E0000009aYLk</Value>
                                  </Parameter>
                                  </CustomParameters>

                                  Searching for this contact: 003E0000009aYLk shows the following:
                                  Click image for larger version

Name:	Missing_Contact.jpg
Views:	1
Size:	36.8 KB
ID:	15185


                            As you can clearly see the ContactId does not exist and the transactions shown are all part of the same family of recurring.

                            Please note that researching your case required help from the following team members at C&P. The reason I like for you to know this is hoping that you realize that a PCI certified company has certain procedures for access to the core database and this is not a task that a support engineer can do.

                            Your issue required assistance from:
                            • Salesforce PaaS team: The transactions were done using the Salesforce ContactId which tells us that it must have been done through the Virtual Terminal. These transactions were done using version 4.x or earlier and as such the VT team had to be engaged.
                            • API Services: Each transaction first posts to the API platform. Logs for all your transactions had to be reviewed by the team lead so they can figure out if the API has missed posting the transactions to the Integration Services. All transactions shown as posted to the IaaS (Integration as a Service) services.
                            • Integration Services: Each transaction posts to the integration API platform for posting to third party integration services. The server logs had to be analyzed so we can figure out if the Integration Services has received the transactions. All logs showed that all your transactions had been posted with no Error reporting.
                            • Main platform's DBA: The DBA is the sole person with access to the database and as such needed to be engaged with all teams so proper records may be retrieved.
                            • Sys Admin & CTO: The sys admin with permission from CTO are the only people with access to the server logs


                            Researching your errors has literally taken a week to review, analyze, retrieve.

                            A support engineer behind the desk could not have possibly given an answer over the phone.

                            Please research your instance and let us know if we can be of any further assistance.

                            Now that we know the issue I would like to make the following suggestions so you can fix your ERROR'd transactions.
                            • Login to your Salesforce instance
                            • In the search box enter the Transaction ID for the 2 that I stated above as being in error
                            • Go to C&P Data and search for the node:
                            <CustomParameters><Parameter>
                            <Field>SalesforceContactID</Field>
                            <Value>003E0000009aYLk</Value>
                            </Parameter>
                            </CustomParameters>

                            • Locate the ContactId that is now assigned to the contact and replace the ContactId with the new Id
                            • Save


                            Once you save the XML it will run and process the transactions. If any errors occur you will see it in the Status field towards the bottom of the screen.

                            As for your settings:

                            You are in the Fully Automatic mode. I strongly urge you to consider the Semi-Automatic mode. The Semi-automatic mode will NOT create a new contact if the constraints are not met. In other words if the first name, last name, etc. does not match the system will NOT create a new contact. The new contacts will be placed in the Temporary Contact and you can check and either attach them to an existing contact or create a new contact.

                            In Fully Automatic the system creates a new contact every time a contact is not found in the system. This is not a safe setting and one that we highly discourage our clients to use. We have added it since some clients don't want to go through the hassle of checking the temporary contact.

                            In version 7.3x you can also set notifiers to notify you by email or a task when a temporary contact needs attention.

                            Please let us know if we can answer any other questions you may have.
                            Regards,
                            Click & Pledge Support Department

                            On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

                            Join us @ the educational webinars: https://clickandpledge.com/webinars/
                            Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
                            Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

                            Comment


                            • #29
                              Good day Danowens,

                              We have reviewed your account and see a number of failed posts with the following error:

                              - UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record.

                              We have been researching this trying to find out in what condition/environment this is happening. We will have an update for you as soon as we have a solution. We can always repost the transaction since the data is in the C&P system and we can post back anytime. We like to first find out the source of the problem in your settings before fixing it.
                              Regards,
                              Click & Pledge Support Department

                              On Salesforce? Help us by rating our app: Click & Pledge Donor Management on AppExchange

                              Join us @ the educational webinars: https://clickandpledge.com/webinars/
                              Live Support available Join between 3:00 - 3:30 p.m. ET Monday - Thursday: https://clickandpledge.com/webinars/
                              Are you on Salesforce? Join us at the Power of Us Hub: https://powerofus.force.com/0F980000000CjpC

                              Comment


                              • #30
                                Hi, I think that is actually a misunderstanding. The transactions are in Salesforce because I used the C&P feature on the back end to push those transactions into our instance after they failed to come through. If you look at the transactions you’ll see that the transaction date, and the date the records were created in the system are different.

                                For example, the first transaction in my list, 135493411495424, has a transaction date/time of 2013-05-04 09:34:00. The actual CnP Data record/Transaction/Opportunity all have a created date in Salesforce of 5/9/2013 9:58 AM. That is because I pushed them from the CnP side myself.

                                We can set aside the cross_reference issue, as we completely understand why that is occurring and how to address it. Our outstanding question is about the transactions that failed to come through at all and did not generate error messages.

                                Thanks for you help with this.


                                [QUOTE=Support.Department;3921]Good day!

                                Thank you for your patience.

                                Here is the result of our finding:

                                - First we took your word for it and assumed that all these transactions are missing from your system. All reported transactions were researched and server log files analyzed. No errors were seen and naturally we were at a loss. Based on our research all transactions should be in your instance.

                                - Next we logged in to your account and started searching for all those transactions. Every single transaction is ALREADY in your system. They are all there and we had not done anything to push them. They are all in your instance. All transactions are associated with a contact except 2 that have an ERROR state due to the reported deletions as discussed before.

                                Comment

                                Working...
                                X