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

Show Universal Checkout

Fintecture Smart Transfer is automatically presented to the customer when calling Primer.showUniversalCheckout.

Typescript
try {
  await Primer.showUniversalCheckout(clientToken, {
    container: '#checkout-container',
    options,
    onCheckoutComplete({ payment }) {
      console.log('Checkout complete.', payment)
    },
  })
} catch (e) {
  // handle error
}

Customization

Check the customization guide to learn how to customize payment method buttons.

Typescript
const options = {
  /* Other options ... */
  style: {
    paymentMethodButton: {
      background: string,
      borderRadius: number | string,
      boxShadow: string,
      borderColor: string,
      height: number,
      primaryText: TextStyle,
      logoColor: logoColor,
      marginTop: string,
    },
  },
}

Test

You can test payments using EUR as the currency.

Sandbox testing

  • After selecting the payment method button in the Checkout, the page will navigate to a Fintecture page, where 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 receiving of funds and transition the payment to SETTLED, you can use Fintecture’s Event Simulator. Please provide the exact amount, the customer’s name, the order ID (as the “Label”), and the IBAN of your Fintecture bank account. Primer will receive a webhook and subsequently 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.