Bancontact WIP
The Bancontact WIP (Wallet Initiated Payment) flow can be integrated on top of your standard flow. It allows you to offer a service where transaction initiation can be done by the merchant or the consumer of a card-not-present payment. The transaction is done on a Bancontact card account stored by the merchant and doesn’t require performing Strong Customer Authentication (SCA).
The service allows merchants that meet the eligibility criteria (see Boarding Information section below) to:
- Initiate low-risk payments without the need for repeated Strong Customer Authentication on issuing side. This balances the security (for the Card Issuer Members) with consumer convenience at check-out.
- Initiate recurring payments or installments without the need for Strong Cardholder Authentication on issuing side. The service is aimed at low-risk, high-volume e-commerce merchants who are able to maintain their fraud rate below a certain threshold. Small/Medium Enterprise (SME) merchants do not qualify to utilize Bancontact WIP at this time.
Payment Method Properties
Available country codes | BE |
Processing (Presentation) currencies | EUR |
Settlement currencies | EUR |
Consumer currencies | EUR |
Channel member tag | bancontactwip |
Scheme name in the settlement file | BancontactWalletInitiatedPayments |
Minimum transaction amount | EUR 0.01 |
Maximum transaction amount | EUR 500 |
Session timeout | |
Refund | Full, partial and multiple partial are all available. |
Refund Validity | Subject to SEPA dates |
Chargeback | |
Integration Type | |
Sandbox |
Transaction Flow
Link and Pay - workflow diagram
Link and Pay works by performing a successful, regular Bancontact transaction. Afterwards, the card token can be used as input for WIP transactions.
Pay with linked Bancontact card - subsequent transaction flow
Bancontact WIP Integration
Specific input parameters for the TRANSACTION call (initial transaction for link+pay)
Field Name | M/O/C | Type | Description |
---|---|---|---|
specin.linkcard | O (M if you want to perform subsequent transactions using Bancontact WIP) | ascii | Specify if and how a link should be established between merchant and consumer. - Empty: Regular Bancontact transaction, no link - wiplinkandpay - regular transaction, card gets linked on successful paymen |
Specific output parameters for the TRANSACTION call (initial transaction for link+pay)
Field Name | Type | Description |
---|---|---|
SPECOUT.CARDTOKEN | ascii | Unique identifier of a card linked to the merchant. Can be used in subsequent WIP transactions only if the initial transaction has succeeded. Caution This token expires automatically after 365 days of not being used in a successful subsequent payment. Make sure you stop displaying the card link on the consumer’s payment options/applications before that time, and request the consumer to re-link a payment card - note that re-linking a card is a new payment flow; it is not possible to update an existing link. Since Bancontact debit cards expire, the scheme recommends that the issuers don’t verify the expiry date for WIP transactions. Those transactions should continue working if the card number remains the same on card renewal. You are responsible for asking consumers to update the card details before expiry, and to re-link the renewed card if necessary. For this reason, we output SPECOUT.CARDBIN and SPECOUT.CARDLAST4DIGITS which can be displayed as e.g. 123456XXXXXX7890 in a confirmation dialog. The parameter SPECOUT.CARDEXPIRY should be used to confirm/update a consumer’s card before expiration. |
Specific input parameters for the TRANSACTION call (WIP transaction)
Field Name | M/O | Type | Description |
---|---|---|---|
specin.cardtoken | M | ASCII | Wallet link reference as returned during the initial link transaction with SPECOUT.CARDTOKEN . |
specin.initiation | M | ascii | The party initiating the transaction: - consumer - one-click payment- merchant - recurring payment |
Specific output parameters for the TRANSACTION call (WIP transaction)
Field Name | Type | Description |
---|---|---|
specout.cardexpiry | numeric | YYMM expiry date of the card, as stored at time of initial transaction. Always shown in case of successful authorization. |
TRANSACTION call input (initial transaction for link+pay)
tag=bcmc
&txtype=TRANSACTION
&countrycode=BE
¤cy=EUR
&amount=1055
&merchanttxid=MYp3MF6zHDQm
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOETESTCONTRACT
&channel=testchannel
&merchantredirecturl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php
¬ificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php
&specin.dynamicdescriptor=DynDescriptor
&specin.linkcard=wiplinkandpay
&accountholdername=Tester+Doe
&returnmode=urlencodeext
TRANSACTION call output (initial transaction for link+pay)
REQUESTSTATUS=SUCCEEDED
&STATUS=PENDING
&TXID=600520459
&ERRMSG=
&CHANNEL=testchannel
&TAG=bcmc
&REDIRECTSECRET=d6rSVahlxK0t0Du8tpD12VRE3PosHBUA
&REDIRECTURL=https%3A%2F%2Fbancontact.girogate.be%2Fbi%2Ft2
bc%3Ftx%3D600520459%26rs%3D...%26cs%3D...
&SPECOUT.BEPURL=BEP://1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT
&SPECOUT.SRCCOUNTRY=BE
GETTXSTATUS call output (once the initial transaction for link+pay has succeeded)
REQUESTSTATUS=SUCCEEDED
&STATUS=SUCCEEDED
&TXID=600520459
&CHANNEL=testchannel
&TAG=bcmc
&REDIRECTSECRET=d6rSVahlxK0t0Du8tpD12VRE3PosHBUA
&SPECOUT.BEPURL=BEP://1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT
&SPECOUT.CARDBIN=670999
&SPECOUT.CARDEXPIRY=2027-05
&SPECOUT.CARDLAST4DIGITS=9999
&SPECOUT.CARDTOKEN=ABCDE-FGH-IJKLOM123456
&SPECOUT.PAYMENTPURPOSE=2G2B9HU
&SPECOUT.SRCBIC=GKCCBEBB
&SPECOUT.SRCCOUNTRY=BE
&SPECOUT.SRCIBAN=BE12561483558692
&SPECOUT.TRANSACTIONFLOW=ecommerce
TRANSACTION call input (subsequent one-click payment)
Only the same merchant can perform a WIP transaction using a previously linked card.
tag=bancontactwip
&txtype=TRANSACTION
&countrycode=BE
¤cy=EUR
&amount=1500
&merchanttxid=LdY6ENK71eNk
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOETESTCONTRACT
&channel=testchannel
&merchantredirecturl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php
¬ificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php
&specin.dynamicdescriptor=DynDescriptor
&specin.cardtoken=ABCDE-FGH-IJKLOM123456
&specin.initiation=consumer
&accountholdername=Tester+Doe
&returnmode=urlencodeext
TRANSACTION call output (subsequent one-click payment)
WIP transactions succeed or fail synchronously. There is no redirect and no consumer interaction. In the healthy case, the status is immediately SUCCEEDED and no notification is sent (unlike PENDING > SUCCEEDED status changes).
REQUESTSTATUS=SUCCEEDED
&STATUS=SUCCEEDED
&TXID=600520470
&ERRMSG=
&CHANNEL=testchannel
&TAG=bancontactwip
&REDIRECTSECRET=d6rSVahlxK0t0Du8tpD12VRE3PosHBUA
&SPECOUT.PAYMENTPURPOSE=2S2TJXC
&SPECOUT.SRCBIC=GKCCBEBB
&SPECOUT.SRCCOUNTRY=BE
&SPECOUT.SRCIBAN=BE12561483558692
TRANSACTION call input/output (subsequent recurring payment or instalment)
Same as above, but using specin.initiation=merchant
when initializing the transaction.
Boarding Information
The boarding process for activating merchants with the Bancontact WIP flow is manual.
The merchants which will be activated with this service must be screened and approved by Bancontact. The merchant will be informed of the decision within 15 business days of the application time.
The WIP service is only available to large merchants who are operating with low-risk goods and services. The merchant has to process or have the potential to process at least 25,000 Bancontact transactions per quarter.
Dispute Information
Disputes for WIP payments will be handled in the same manner as any other non-WIP dispute case, i.e. the Cardholder should contact the Merchant to try to resolve the dispute bilaterally. If this does not resolve the dispute, then the Cardholder has to introduce a claim at their Issuer. Should a Cardholder initiate such a dispute is it required of the merchant to provide specific supporting information consisting of documentary evidence that the Merchant has rightfully and correctly debited the right Cardholder’s account following their explicit approval. If the Merchant is unable to prove that the Cardholder’s claim is unjustified, they shall refund the Cardholder for the full amount of the disputed transaction within a reasonable timeframe. This refund can be facilitated via the standard PPRO refund API interfaces.
Updated 12 months ago