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:
- Request a PIS dedicated access token
On first time:
- Ensure that Smart Transfer is activated (ask Fintecture support in case of a doubt)
- Create a shop with the Smart Transfer payment method enabled
- Create a wallet in your console account
- Link an application to your wallet
For every payment:
- Add the reconciliation object to your Immediate Payment or Request To Pay
- Verify the payment
🚧 ImportantSignature, digest, date and x-request-id headers are optional in SANDBOX environment but mandatory when calling the PRODUCTION one.
Payment statuses
Below are detailed the payment statuses encountered in the case of a smart transfer.
💡 NoteTo ease reproducing some of your scenarios, here are some tips to reach the different statuses in SANDBOX environment.
💡 NoteDo 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 thepayer
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 thekey
onematch_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 eithertrue
orfalse
(default isfalse
)
In the below example, {payment_endpoint}
can take two values:
connect
: if the payment method is on an e-commerce checkoutrequest-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": {
(...)
}
}
Updated 5 months ago