Sofort

Payment Method String sofort
Available Countries AT, BE, DE, ES, IT, NL
Available Currencies EUR
Min Transaction Amount
EUR 1.00
Max Transaction Amount
N/A
Supports Refunds
Full & Partial with 365 day limit
Chargebacks
No
Sandbox
Yes

Sample request

HTTP 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 ="202302****4051-63dd715307aa7">
<input type="hidden" name="AMOUNT" value ="5100">
<input type="hidden" name="CURRENCY" value ="EUR">
<input type="hidden" name="SHA1HASH" value ="27a243910a665843ebda4fcf0eecbfb917115544">
<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 ="NL">
<input type="hidden" name="HPP_CUSTOMER_FIRSTNAME" value ="James">
<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>sofort</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>NL</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": "NL",                
        "payment_method": {                
                "entry_mode": "ECOM",        
                "apm": {        
                        "provider": "sofort"
                }        
        },                
        "notifications": {                
        "return_url": "<Replace with your own endpoints>",                
        "status_url": "<Replace with your own endpoints>"                
        },                
        "payer": {}                
}

Specific Input Fields

If the optional BIC parameter is specified, the bank selection page will be bypassed.

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
BIC O [a-zA-Z0-9\-\*\?/# ] 8-11

Customer Bank Code Must be a valid BIC (8 or 11 alphanumeric digits).

Dynamic Descriptor O a-z A-Z 0-9 [space] / - French-accented 25

Dynamic Descriptor allows merchants to pass through an alternative “doing business as” (DBA) name in the Charge Description field so that it appears on the customer's bank statement.