Before you begin

This guide assumes that you know how to:

Accept payments with Fintecture Immediate Transfer

Prepare the API

Fintecture Immediate Transfer requires the following data to process a payment successfully. Pass the following data in the client session, or in the payment request (for manual payment creation).

Parameter NameRequiredDescription

3-letter currency code in ISO 4217 format, e.g. EUR. Currently, only EUR is supported.

  1. order

For each line item in the order, the following fields must all be present to be sent to Fintecture:

  • order.lineItems[].name
  • order.lineItems[].quantity
  • order.lineItems[].amount
  • order.lineItems[].itemId

If any of these fields are missing for any line item, none of the line items will be included in the Fintecture request. Fintecture requires that either all specified fields for all line items are sent together or none at all.

  1. customer
  2. billingAddress

firstName will be used in meta -> psu_name in the request to Fintecture

  1. customer
  2. billingAddress

lastName will be used in meta -> psu_name in the request to Fintecture

  1. customer

emailAddress will be used in meta -> psu_email in the request to Fintecture

  1. customer

phoneNumber will be sent in meta -> psu_phone in the request to Fintecture

  1. customer

The following address fields must all be present to be sent to Fintecture:

  • customer.billingAddress.street
  • customer.billingAddress.city
  • customer.billingAddress.postalCode
  • customer.billingAddress.countryCode

If any of these fields are missing, none of them will be included in the Fintecture request. Fintecture requires that either all of these fields are sent together or none at all.

Additionally, if all the required fields are present, the field customer.billingAddress.addressLine1 will also be included in the request if it is provided.

  1. customer

The following address fields must all be present to be sent to Fintecture:

  • customer.deliveryAddress.street
  • customer.deliveryAddress.city
  • customer.deliveryAddress.postalCode
  • customer.deliveryAddress.countryCode

If any of these fields are missing, none of them will be included in the Fintecture request. Fintecture requires that either all of these fields are sent together or none at all.

Additionally, if all the required fields are present, the field customer.deliveryAddress.addressLine1 will also be included in the request if it is provided.

Using Advanced Metadata Mapping, you can set up metadata field mappings between your request and Fintecutre or override existing fields.

For example, meta.expiry can be overriden to adjust how quickly abandoned payments should expire. The default now is 30 days. Please make sure to specify the duration in seconds.

Prepare the SDK for payments

Handle payment method

Fintecture Immediate Transfer requires instance of Redirect Manager in order to be presented to the user:

1
const manager = await headless.createPaymentMethodManager('FINTECTURE_IMMEDIATE_TRANSFER')
typescript
copy

FINTECTURE_IMMEDIATE_TRANSFER must be returned as PaymentMethod.type in the onAvailablePaymentMethodsLoad callback.

When the user has selected the payment method, call the start function. This function automatically:

  • opens a popup to present a loading indicator, then the payment method web page
  • shows an overlay on top of your page that prompts the user to focus on the popup
123
myButton.addEventListener('click', () => {    manager.start()})
typescript
copy

This code is intended solely for illustrative purposes. As many redirect payment methods share a common approach, it is recommended to centralize the implementation of these methods within your codebase. For a practical demonstration of how to achieve this, please refer to the guide on how to handle payment methods with redirect.

Test

You can test payments using EUR as the currency.

Sandbox testing

After initiating the payment, a list of banks will appear. Please select either "CIC" or "Crédit Mutuel" and complete the process using the preloaded credentials. At the end of this flow, the payment status will be SETTLING in Primer. To simulate the funds receival and move the payment to SETTLED, you can use Fintecture's Event Simulator. Please provide the exact amount, the customer's name, the order ID, and the IBAN of the Fintecture bank account. Primer will receive an webhook and automatically update the payment to SETTLED.

If you don't have your Fintecture IBAN, please contact Fintecture's support for assistance.

Go live

You don’t need to do anything particular to go live — just make sure to use production credentials.