Introduction
The RaiseNow integration with D365 is built around a concept of events, notifications and business processes. Events are triggered by performed actions, such as the submission of a donation via the Tamaro donation form or an API integration such as a face-to-face fundraising solution. This will trigger a notification to our integration layer. A business process is the sequence of actions executed by RaiseNow when processing this notification.
Our integration with D365 consists of a collection of defined triggering events and corresponding business processes.
This illustration shows the flow of data based on an initial payment submission via a client application.
- The payment is submitted through a client application and processed in RaiseNow.
- Once the payment has been processed successfully, a notification is sent to the integration layer.
- The integration layer converts the notification into a business process for Dynamics.
- A duplicate check of the corresponding entity (Contact, Account) is performed by Dynamics.
- A batch request is sent to Dynamics to transfer the data and update/create the corresponding entities in Dynamics.
- The response of the batch request is processed by RaiseNow and the process status is logged according the the response.
Processes may also be initiated in Dynamics. For example, if a commitment is deactivated in Dynamics, this is propagated to RaiseNow.
- A commitment is deactivated in Dynamics
- RaiseNow is informed via webhook about the deactivation
- RaiseNow cancels the subscription to avoid future charges
- RaiseNow updates the status commitment and the payment schedule in Dynamics to indicate successful cancellation
- The response of that update is logged in RaiseNow and the process status is updated accordingly.
Supported business processes
Regarding the business processes outlined below, please note the following points:
- For more detailed field mappings for the individual processes, please refer to the mapping documentation provided with the release notes of the corresponding version of the solution installed in D365 as well as the correct version of the backend component.
- Please also view this article for a discussion of the interaction with various common entities in D365.
- RaiseNow sets various non-standard statuscode values. In addition, picklist fields are shipped with our solution. These value must be configured in your D365 system setup. During the on-boarding process you will be queried for these values. You must supply correct values according to your D365 configuration.
- Support for new business processes is added frequently but changes will not be backported to older releases. If you wish to use those new business processes you will have to update to the corresponding release (or later). Note that bugfixes will also only ever be implemented on the latest release. Breaking changes (if any) will be supplied in the release notes.
- All processes creating Contact or Account objects implement the deduplication logic defined here.
- Please see also our documentation for the business process monitor that provides an overview of the executed business processes and their status.
One-Off donation
Event: transaction_status_changed_to_final_success
Business Process: One-Off Transaction Succeeded
Executed actions:
- Optional: Create Account
- Create Contact
- Create msnfp_DonorCommitment
- Create msnfp_Transaction with status "not booked"
- Create monitor notification about process status
One-Off pledge
Event: transaction_status_changed_to_final_success
Business Process: One-Off Transaction Succeeded
Executed actions:
- Optional: Create Account
- Create Contact
- Create msnfp_DonorCommitment
- Create msnfp_Transaction with status "pledged"
- Create monitor notification about process status
Creation of a recurring donation
Event: subscription_subscribe
Business Process: Subscription Subscribed
Executed actions:
- Optional: Create Account
- Create Contact
- Create msnfp_DonorCommitment
- Create msnfp_PaymentSchedule
- Create monitor notification about process status
Charge for a recurring donation
Event: transaction_status_changed_to_final_success
Business Process: Recurring Transaction Succeeded
Executed actions:
- Identify previously created msnfp_DonorCommitment and msnfp_PaymentSchedule
- Create msnfp_Transaction with status "not booked" for msnfp_PaymentSchedule. The transaction will also link directly to the msnfp_DonorCommitment (field rnw_DonorCommitmentId)
- Create monitor notification about process status
Failed charge for a recurring donation
Event: transaction_status_changed_to_final_error
Business Process: Recurring Transaction Failed
Executed actions:
- Identify previously created msnfp_DonorCommitment and msnfp_PaymentSchedule
- Create msnfp_Transaction with status "failed" for msnfp_PaymentSchedule. The transaction will also link directly to the msnfp_DonorCommitment (field rnw_DonorCommitmentId)
- Create monitor notification about process status
Note: This process will only be executed if the failed charge relates to a RaiseNow subscription.
Cancellation of a recurring donation triggered in RaiseNow
Event: subscription_cancel
Business Process: Subscription Cancelled
Executed actions:
- Identify previously created msnfp_DonorCommitment and msnfp_PaymentSchedule
- Set msnfp_PaymentSchedule to "inactive". Set
- rnw_raisenowsubscriptioncancellationreason: 'api_call'
-
rnw_raisenowsubscriptioncancellationstatus: 'Canceled by RaiseNow' (option set)
- Set Donor msnfp_DonorCommitment to “Inactive”. Set
- rnw_raisenowsubscriptioncancellationreason: 'api_call'
-
rnw_raisenowsubscriptioncancellationstatus: 'Canceled by RaiseNow' (option set)
- Create monitor notification about process status
Cancellation of a recurring donation triggered in D365 (deactivate commitment)
Triggering Event: dynamics.msnfp_donorcommitment.deactivated -> Will trigger subscription_cancel
Business Process: Donor Commitment Deactivated
Executed actions:
- Identify previously created msnfp_DonorCommitment
- Identify RaiseNow Subscription
- Set subscription parameter stored_cancellation_requested_by to 'd365-via-rice'
- Terminate RaiseNow Subscription
- Create monitor notification about process status
Renewal of a recurring donation
Event: subscription_renew
Business Process: Subscription Renewed
Executed actions:
- Identify previously created msnfp_DonorCommitment and msnfp_PaymentSchedule
- Update msnfp_PaymentSchedule
-
rnw_raisenowsubscriptionidentifier
-
msnfp_frequency
-
msnfp_nextpaymentdate
- msnfp_recurringamount
- transactioncurrencyid
-
- Update msnfp_DonorCommitment
-
rnw_raisenowsubscriptionidentifier
-
msnfp_name
-
transactioncurrencyid
-
rnw_raisenowpaymentmethod
-
rnw_paymentprovider
-
-
Create monitor notification about process status
Acquirer Reconciliation
Event: raisenow.reconciliation.reconciliation_report.created
Business Process: Reconciliation Statement Created
Executed actions:
- For each RaiseNow transaction identified in the relevant reconciliation report, the following fields will be updated:
- rnw_raisenowfees
- rnw_acquirerfees
-
rnw_netamount
-
rnw_valuedate
-
statuscode (Will be set to the option set corresponding to 'paid-out')
-
rnw_acquirername
-
rnw_acquirertransferidentifier
-
rnw_acquirertransactionidentifier
-
rnw_reconciliationreportidentifier
-
rnw_recipientbankaccount
- Create monitor notification about process status
Comments
0 comments
Please sign in to leave a comment.