Before you begin

This guide assumes that you know how to:

Accept payments with Fintecture Smart Transfer

Prepare the client session

Fintecture Smart 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
currencyCode3-letter currency code in ISO 4217 format, e.g. EUR. Currently, only EUR is supported.
order
lineItems
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.
customer
billingAddress
firstName
firstName will be used in meta -> psu_name in the request to Fintecture
customer
billingAddress
lastName
lastName will be used in meta -> psu_name in the request to Fintecture
customer
emailAddress
emailAddress will be used in meta -> psu_email in the request to Fintecture
customer
phoneNumber
phoneNumber will be sent in meta -> psu_phone in the request to Fintecture
customer
billingAddress
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.
customer
deliveryAddress
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.
metadataUsing 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 Smart Transfer requires instance of Redirect Manager in order to be presented to the user:

Typescript
const manager = await headless.createPaymentMethodManager('FINTECTURE_SMART_TRANSFER')

FINTECTURE_SMART_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
Typescript
myButton.addEventListener('click', () => {
    manager.start()
})

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 Native UI payment methods.

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.