Initiate a Standalone Payment - with Web Form (Recommended Option)
Pre-requisites
Step 1 - Initiate payment
To initiate a SEPA Credit Transfer or SEPA Instant Credit Transfer, use the Create a standalone payment endpoint:
POST /api/webForms/standalonePayment
If the IBAN of the sender account is already known, we recommend including it in the payment initiation payload to avoid the possibility that several SCAs will be required.
If the IBAN of the sender account is not known, it is still possible to initiate a payment without the sender account and the user will have to select the Bank or IBAN on the Web Form (see the next step).
There are some payment data validations that we recommend being implemented to avoid bank payment rejections. Please refer to Payment Data Validation.
Note: for Direct Debits initiation, please refer to Initiate a Payment from an Account - with Web Form (Recommended Option) as standalone Direct Debit initiation is not supported.
Step 2 - The user to log in at the bank and authorize the payment
As a result of Step 1, the web form is generated. You can find the URL of the web form in the response:
url: "https://webform.finapi.io/wf/946db09e-5bfc-11eb-ae93-0242ac130002"
The web form has to be presented to the user. If the sender’s IBAN was not provided in Step 1, the user will have to either enter the IBAN into the web form or search for a bank first. Once the sender account is selected, the user will proceed to the payment authorization.
You have two options for how to present the webform to the user:
Embed the web form into your application. How to: Embedded Web Form 2.0
Redirect the user to the Web Form URL in the browser.
There are several branding and customization possibilities available for the web form. Please check out the web form documentation: White labeling
Step 3 - Check the status of the web form
To retrieve the status of the web form, you can either call the Get a web form service or a callback can be sent of completion to a callback URL provided in the payment initiation payload during Step 1.
Note the paymentId
returned in the response (in the payload
object) to get the status of the payment initiation in the next step.
More details are available here: Web Form 2.0 Basics | Want-to-know-web-form-status?
Step 4 - Check the status of the payment initiation
To retrieve the status of the payment initiation, get the paymentId
from Step 3 and execute Get payments:
GET /payments?ids=$paymentId
For more details, please refer to How to get the payment initiation status.
Step 5 - Delete User (Optional)
If for your use case you do not need to save the user to re-use it later, we recommend that you delete the user once the payment initiation has been finalized via Delete the authorized user endpoint:
DELETE /users