Initiate a Smart transfer

Flow

The Smart Transfer payment flow using the Fintecture Connect webview has been simplified into the following steps and illustrated using the payment flow below:

  1. Request a PIS dedicated access token

On first time:

  1. Ensure that Smart Transfer is activated (ask Fintecture support in case of a doubt)
  2. Create a shop with the Smart Transfer payment method enabled
  3. Create a wallet in your console account
  4. Link an application to your wallet

For every payment:

  1. Add the reconciliation object to your Immediate Payment or Request To Pay
  2. Verify the payment

🚧 Important

Signature, digest, date and x-request-id headers are optional in SANDBOX environment but mandatory when calling the PRODUCTION one.

B2C RecipePostman

Payment statuses

Below are detailed the payment statuses encountered in the case of a smart transfer.

💡 Note

To ease reproducing some of your scenarios, here are some tips to reach the different statuses in SANDBOX environment.

💡 Note

Do not hesitate to consult all of the payment statuses for more information.

The reconciliation object

The reconciliation object is what helps you specify your choices for the reconciliation to be done.
This object is located in the meta object for both Immediate Payment and Request To Pay.

By default a reconciliation will be done on the payer but you can customize this:

  • level: It is the seed to generate a virtual iban. As said, by default it will be done on the payer but you can also decide to do this on a custom key (key) or by payment session (payment_session)
  • key: key to be used for reconciliation. It can be used only if selected level is the key one
  • match_amount: to be used only if reconciliation is done by payment session. If set to true, reconciliation will only be done if amount is a match

You can also retreive the virtual iban in the payload if you intend to save it or include in an invoice in including the following query string parameter:

  • with_virtualbeneficiary: returns the virtual iban in the response, the value is either true or false (default is false)

In the below example, {payment_endpoint} can take two values:

  • connect: if the payment method is on an e-commerce checkout
  • request-to-pay: if the payment method is part of a payment link for either physical payment or sent my email, sms or qr code
POST /pis/v2/{payment_endpoint}?redirect_uri=[redirect_uri] HTTP/1.1
Authorization: Bearer [access_token]
Signature: [signature]
Digest: [digest]
Date: [date]
x-request-id: [request_id]
Accept: application/json
Content-Type: application/json
{ 
    "meta": {
        (...)
        "reconciliation": {
            "level": "key",
            "key": "my_key"
        }
    },
    "data": {
        (...)
    }
}