Use the /Sessions/Initiate endpoint to allow a customer to complete the payments flow.
/Sessions/SendRequest endpoint to initiate a session and automatically deliver the payment request to the end user via email.
To successfully call this endpoint, you must first call the /Authorize endpoint to obtain a valid access token.
sessionId and send the payment request link directly to the end user’s email address, removing the need for you to manually distribute the app URL.
All fields (apart from clientUrls and ReferenceId) within the initiation of a session are mandatory. Please take extra care with the amount field and the customerName field as these may cause either the user or the app to not complete the flow if provided incorrectly. Specifically with customerName, as this will be matched to the name provided by the external Financial Institution once a payment is initiated. If the names do not match above a default threshold, the transaction will fail and no funds will be moved.
A ReferenceId may optionally be provided within this call. By default, this could simply be a GUID that you store on your side that will be returned within the end-of-day reconciliation files to match completed transactions with your users. In most cases, this ID should be a unique identifier that allows you to identify the end-user that is making the payment (for example, a LoanId, AccountId etc). This ID will be sustained throughout the entire transaction lifecycle.
Please note that the customerName and customerEmail fields will be used to deliver the payment request email to the end user, as well as to ensure it is the correct user that receives the request to pay. Therefore, you should ensure that these fields are populated with the correct information on the user that is anticipated to make the payment. Flinks may block a transaction from occurring if the given name specifically does not match with the name identified at the linked bank account—in order to avoid this, please ensure that the information provided here is specific to the user being requested to pay.
The amount field is a decimal field that is the exact amount that you wish to receive from the end-user. If this is incorrect, the user will have to exit the flow and you will need to create a new session with a different amount and provide the new URL to the user.
The clientUrls field is optional but can be utilized as an additional security measure to ensure that the app cannot be intercepted and leveraged outside of your standard flows. Please provide the URIs as to where you are hosting the application (one or many can be provided here) in order to successfully load the application.
Upon successful generation of a session, Flinks will return a HTTPS 200 code and a sessionId GUID - this represents the unique ID of the generated session (and all applicable user information) within the Flinks system. The payment request email will be dispatched to the customerEmail address automatically.The unique environment that you are making the API call from. Provided during onboarding.
The access_token received previously in a completed authorize call.
A customizable UserId that must be provided to identify the transaction throughout the process.
The amount that is being requested from the user to pay.
The first and last name of the user being requested to pay.
The email of the user being requested to pay.
A list of URLs that will be utilized to display the app.