Applies to API Package: Equity Crowdfunding Portals (v4.0) by Banca Sella
This article provides a quick reference on how to integrate your backend with Fabrick Platform Equity Crowdfunding Portals solution provided by Banca Sella.
The intended reader for the following contents is a CTO or a developer working to integrate the Equity Crowdfunding Portal backend.
The following sections assume that you have successfully onboarded on Fabrick Platform and have subscribed at least the following API packages:
- Equity Crowdfunding Portals (v4.0)
You will also need the following data in order to successfully integrate the Equity Crowdfunding Portals solution:
- Your
portalId
: the identification code of your portal that must be used to interact with the Equity Crowdfunding Portals solution. This has been released by Fabrick after the activation of the Equity Crowdfunding Portals solution, and looks like the following:PRTWNP603529756
.
This article describes a tipical test-case setup useful for integration testing of your equity crowdfunding portal backend systems.
Integration test case
After the activation of your portal on Fabrick Platform, you will need to test the integration of your backend systems with Platform APIs. In order to do this, Fabrick Platform can provide a test company in the SANDBOX environment in order to let you simulate an end-to-end investment process, comprising of the campaign closing and cashout steps.
What you will need is the following:
- A test company (created by Fabrick Platform).
- A test campaign, that you can create on the test company once available.
- A test investor, that you can create as if it were any of the investors on your portal.
- A test order, that you can create using the aforementioned test company, campaign and investor.
The setup configuration provided by Fabrick Platform typically consists of the test company with its cash account shortcutted on the cash account of your own portal. This trick enables an end-to-end test of the full investment flow, as shown in the figure below.
What you will get is the ability of simulating a single investment for a test order, and requesting the cashout of the corresponding campaign. Since the test company cash account is actually your own portal cash account, you will be able to see the incoming transfer of the campaign cashout together with the "usual" transfers related to the investor fees and your success fees.
An important note before proceeding: availability of test companies is limited in one per week, so please take care of managing the execution of integration tests with a correct time planning.
Once you will have the test company available in the SANDBOX environment, just go through the following points in order to fully test your integration setup.
- Create a
TEST CAMPAIGN
forTEST COMPANY
, using the following configuration (filling the other parameters is up to you, based on your needs):portalSuccessFee.fixedAmount
: 20.00 EUR (to simulate a success fee forTEST COMPANY
)
- Create a
TEST INVESTOR
. - Create a
TEST ORDER
, providing at least the following details:- Company:
TEST COMPANY
- Investor:
TEST INVESTOR
- Channel:
MONEY_TRANSFER
totalAmount
: 110.00 EURorderAmount
: 100.00 EUR (amount to be transferred toTEST COMPANY
)feeAmount
: 10.00 EUR (to simulate an investor fee forTEST INVESTOR
)
- Company:
- Retrieve and save the
orderId
forTEST ORDER
. - Put
TEST ORDER
in WAITING status. - Use Fabrick Platform Money Transfer API package to execute a money transfer from your own portal cash account to the portal investment collection IBAN address (you received such IBAN address in the Fabrick Platform service activation email). The money transfer must be configured as follows:
- Creditor: Banca Sella SPA
- Description: just specify the
orderId
ofTEST ORDER
you have just created. - Amount: 110.00 EUR
- After the execution of the money transfer, retrieve the status of
TEST ORDER
: it should beSPLIT
, indicating that the money has been correctly received and processed. If you invoke the GET Campaign Amount endpoint forTEST CAMPAIGN
, the response should betotalAmount
100.00 EUR. - Close
TEST CAMPAIGN
. - Finalize
TEST CAMPAIGN
with success; the response should be as follows:
{
"campaignId": "<TEST CAMPAIGN>",
"status": "FINALIZED_SUCCESS",
"ordersExecuted": ["<TEST ORDER>"],
"ordersUndone": [],
"orderSplit": null,
"amounts": {
"companyFunds": 80,
"portalSuccessFee": 20,
"portalInvestorFee": 10,
"investorsRefunds": 0,
"totalCampaignExecuted": 100,
"totalManagedFunds": 110
}
}
The last operation is to get the transaction list of your portal cash account in order to check the correct accounting of:
- -110.00 EUR: the outgoing money transfer
- +80.00 EUR: the accounting of the campaign cashout, as it would have been received by
TEST COMPANY
- +20.00 EUR: the accounting of the success fee applied to
TEST COMPANY
- +10.00 EUR: the accounting of the investor fee applied to
TEST INVESTOR
Have fun and let us know if you are in trouble... or if you need some money on your SANDBOX cash account! ;-)