Bancontact

Payment Method String bancontact
Available Countries BE
Available Currencies EUR
Min Transaction Amount
0.01 EUR
Max Transaction Amount
QR code mobile payments = 1500 EUR; Standard = no limit
Supports Refunds
Full, Partial, and Multiple Partial with 180 day limit
Chargebacks
No
Sandbox
Yes (PPRO-hosted)

Sample request

HTML POST (HPP)

<form method="POST" action="https://pay.sandbox.realexpayments.com/pay">
<input type="hidden" name="TIMESTAMP" value ="{{ timestamp }}">
<input type="hidden" name="MERCHANT_ID" value ="{{merchantId}}">
<input type="hidden" name="ACCOUNT" value ="internet">
<input type="hidden" name="ORDER_ID" value ="20230202212424-63dc2a08f3186">
<input type="hidden" name="AMOUNT" value ="5100">
<input type="hidden" name="CURRENCY" value ="EUR">
<input type="hidden" name="SHA1HASH" value ="ceedffae88c66b4c251e05612f761f635edba86a">
<input type="hidden" name="AUTO_SETTLE_FLAG" value ="1">
<input type="hidden" name="HPP_VERSION" value ="2">
<input type="hidden" name="HPP_CUSTOMER_COUNTRY" value ="BE">
<input type="hidden" name="HPP_CUSTOMER_FIRSTNAME" value ""Jame"">
<input type="hidden" name="HPP_CUSTOMER_LASTNAME" value ="Mason">
<input type="hidden" name="MERCHANT_RESPONSE_URL" value ="https://www.example.com/statusUrl">
<input type="hidden" name="HPP_TX_STATUS_URL" value ="https://www.example.com/statusUrl">
<input type="hidden" name="HPP_ADDRESS_MATCH_INDICATOR" value ="false">
<input type="hidden" name="HPP_BILLING_STREET1" value ="Flat 123">
<input type="hidden" name="HPP_BILLING_CITY" value ="Halifax">
<input type="hidden" name="HPP_BILLING_POSTALCODE" value ="E77 4QJ">
<input type="hidden" name="HPP_BILLING_COUNTRY" value ="826">
<input type="hidden" name="HPP_LANG" value ="EN">
<input type="hidden" name="HPP_CHALLENGE_REQUEST_INDICATOR" value ="NO_PREFERENCE">
<input type="hidden" name="HPP_CUSTOMER_EMAIL" value ="james.mason@example.com">
<input type="hidden" name="COMMENT1" value="Mobile Channel">
<input type="hidden" name="COMMENT2" value="Down Payment">
<input type="hidden" name="CARD_PAYMENT_BUTTON" value="Pay Now">
<input type="submit" value="Click here to Purchase">
</form>

XML

<?xml version='1.0' encoding='UTF-8'?>			
<request type='payment-set' timestamp='{{timestamp}}'>			
	<merchantid>Merchant ID</merchantid>		
	<account>internet</account>		
	<amount currency='EUR'>5100</amount>		
	<autosettle flag='1' />		
	<orderid>N6qsk4kYRZihmPrTXWYS6g</orderid>		
	<paymentmethod>bancontact</paymentmethod>		
	<paymentmethoddetails>		
		<returnurl>https://www.example.com/returnUrl</returnurl>	
		<errorurl>https://www.example.com/errorUrl</errorurl>	
		<statusupdateurl>https://www.example.com/statusUrl</statusupdateurl>	
		<descriptor>Test Transaction</descriptor>	
		<country>BE</country>	
		<accountholdername>James Mason</accountholdername>		
	</paymentmethoddetails>		
	<comments>		
		<comment id='1'>Mobile Channel</comment>	
		<comment id='2'>Down Payment</comment>	
	</comments>		
	<sha1hash>82f3d22c04292f8673bc1e0fb8ecf0c54e38065c</sha1hash>		
</request>

JSON

{                        
        "account_name": "{{acc_name}}",                
        "type": "SALE",                
        "channel": "CNP",                
        "amount": "5100",                
        "currency": "EUR",                
        "reference": "{{reference}}",                
        "country": "BE",                
        "payment_method": {                
                "entry_mode": "ECOM",        
                "apm": {        
                        "provider": "bancontact"
                }        
        },                
        "notifications": {                
        "return_url": "<Replace with your own endpoints>",                
        "status_url": "<Replace with your own endpoints>"                
        },                
        "payer": {}                
}

 

Sample Request

Additional Fields Syntax

Type indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) - dependent on another field.

Name Type Format Length Description
App to App URL O xsd:anyURI 1-255

Custom app URL for redirecting the customer back to the app, which triggered the payment. Overrides MerchantRedirectURL for mobile flows.