iDeal integration
Introduction
iDeal is an online transfer payment method, mainly used in the Netherlands.
Following banks are compatible:
- ABN AMRO
- ASN Bank
- ING
- Knab
- Rabobank
- RegioBank
- SNS bank
- Triodos Bank
- Van Lanschot Bankiers
On the landing page, the cardholder must select the bank where he will be redirected to validate the payment.
After finalizing the payment, the cardholder is redirected to the dedicated URL specified in the Dalenys Dashboard.
Compatible operations and options
- Compatible operations:
Form integration
In this mode, you have to redirect the user to the Dalenys platform by sending a POST
request containing your order’s parameters.
To do so, you need to build a form using POST
method on your merchant site beforehand, following the instructions below.
Payment
Example
Here is a simple example of a payment form. Submitting this form will redirect to the hosted form.
<form method="post" action="https://secure-test.dalenys.com/front/form/process">
<input type="hidden" name="IDENTIFIER" value="" />
<input type="hidden" name="OPERATIONTYPE" value="payment" />
<input type="hidden" name="ORDERID" value="" />
<input type="hidden" name="AMOUNT" value="" />
<input type="hidden" name="CLIENTIDENT" value="" />
<input type="hidden" name="CLIENTEMAIL" value="" />
<input type="hidden" name="DESCRIPTION" value="" />
<input type="hidden" name="HASH" value="" />
<input type="hidden" name="VERSION" value="" />
<input type="submit" value="Pay" />
</form>
Parameters
-
AMOUNT integer
The transaction amount in the smallest money decimal (e.g. cents for euro).
Example: 1000
-
APIKEYID string (36)
ID used to authenticate a transaction using
APIKEY
.Example: a688b3a1-d227-4cdd-9454-5d7cfcc74ef9
-
BILLINGADDRESS string(1-50)
The billing address. Be careful not to integrate any line breaks.
Example: 285 Fulton Street
-
BILLINGCITY string(1-255)
The billing city.
Example: New York
-
BILLINGCOUNTRY string(2)
The country code (ISO_3166-1_alpha-2).
Example: US
-
BILLINGFIRSTNAME string(1-15)
The first name part of the billing address.
Example: John
-
BILLINGLASTNAME string(1-15)
The last name part of the billing address.
Example: Doe
-
BILLINGPHONE string(1-32)
Billing phone number in international (E.164) format.
Example: +33111111111
-
BILLINGPOSTALCODE string(1-9)
The billing postal code.
Example: 10007
-
CARDFULLNAME string(1-255)
The holder’s full name (as described on the payment method). For 3-D Secure operations, the field CARDFULLNAME can only contain the following characters : [a-zA-Z1-9 -]
Example: JOHN SNOW
-
CART[X][BRAND] string(1-100)
Article brand.
Example: Micropple
-
CART[X][CATEGORY]
computersandsoftware
,electronics
,appliances
,homeandgarden
,fashion
,healthandbeauty
,jewellery
,sport
,leisureandhobbies
,carsandmotorbikes
,furniture
,kidsandbaby
,videogamesandconsoles
,toysandgames
,pets
,foodanddrink
,giftandflowers
,entertainment
,travel
,auctionsandgroupbuying
,servicesforindividuals
,servicesforprofessionals
Article category.
Example: electronics
-
CART[X][DELIVERYEXPECTEDDATE] date(YYYY-MM-DD)
Delivery Date.
Example: 2017-06-20
-
CART[X][DELIVERYEXPECTEDDELAY] int (1-3)
Number of days for delivery; must be greater than 0.
Example: 2
-
CART[X][DELIVERYLABEL] string(1-100)
Delivery method name or description.
Example: Micropple store
-
CART[X][DELIVERYSPEED]
standard
,express
Speed of the delivery method. (Specify EXPRESS if under 48h).
Example: express
-
CART[X][DELIVERYTYPE]
storepickup
,networkpickup
,travelpickup
,billingaddress
,carrier
,edelivery
,other
Delivery method:
storepickup
: collection of the goods in the merchant store
networkpickup
: collection in a third party point (like ups, alveol, etc.)
travelpickup
: collection in an airport, train station or travel agency
billingaddress
: carrier such as La Poste, Colissimo, UPS, DHL…or any private carrier using billing address
carrier
: carrier such as La Poste, Colissimo, UPS, DHL…or any private carrier using shipto address
edelivery
: electronic ticket issuance, download, etc.Example: storepickup
-
CART[X][DISCOUNT] float
Applied discount in percentage. The decimal separator is the dot symbol.
Example: 10.5
-
CART[X][MERCHANTITEMID] string
Item ID in the merchant system.
Example: REF-123456
-
CART[X][NAME] string
Item name.
Example: Laser printer
-
CART[X][PRICE] int
Unit price in cents, including potential taxes and discounts.
Example: 20000
-
CART[X][QUANTITY] integer
Quantity of this item.
Example: 3
-
CART[X][SUBMERCHANTEXTERNALID] string(1-64)
Submerchant account identifier in the marketplace. This field allow a special value “OPERATOR” when the item is sold by the marketplace itself (and not a sub-merchant).
Example: shop1.com
-
CART[X][TAX] float
Applied taxes in percentage. The decimal separator is the dot symbol.
Example: 19.5
-
CART[X][TOTALAMOUNT] integer
Total amount based on PRICE, QUANTITY. Also FEES when applied.
Example: 60000
-
CLIENTADDRESS string(1-510)
The user’s address.
Example: 285 Fulton Street.
-
CLIENTDOB date(YYYY-MM-DD)
The user’s date of birth.
Example: 1982-06-20
-
CLIENTEMAIL email(5-255)
The user’s email.
Example: john.snow@example.com
-
CLIENTIDENT string(1-255)
Unique identifier of the user in your application (e.g. a login or a primary key).
Example: john.snow
-
DESCRIPTION string(1-510)
A short description of the operation, can be used to trigger fraud actions. Don’t hesitate to ask your Payment Manager for some advice on this topic.
Example: Knows nothing
-
EXTRADATA string(1-255)
Free field (Dalenys will send you back the content of the EXTRADATA you specified ahead).
Example: referrer=myshop.com;order=premium
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: Demo Shop
-
LANGUAGE
fr
,en
,de
,es
,it
,nl
,zh
,ru
,pt
,sk
Configure the hosted form display language.
Example: en
-
METADATA string(1-255)
Additional transactional data. Contact your account manager for more informations.
Example: @METADATA-MYWEBSITE
-
OPERATIONTYPE
payment
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
SHIPTOADDRESS string(1-50)
The shipping address.
Example: 55 rue de la liberté
-
SHIPTOCITY string(1-255)
The shipping city.
Example: New York
-
SHIPTOCOUNTRY string(2)
The country code (ISO_3166-1_alpha-2 format)
Example: US
-
SHIPTOFIRSTNAME string(1-15)
Holder’s first name in the shipping address.
Example: John
-
SHIPTOLASTNAME string(1-30)
Holder’s last name in the shipping address.
Example: Doe
-
SHIPTOPHONE string(1-32)
Shipping phone number in international (E.164) format.
Example: +33111111111
-
SHIPTOPOSTALCODE string(1-9)
The shipping postal code.
Example: 10007
-
VERSION
3.0
The API protocol version.
Example: 3.0
Redirection result parameters
-
AMOUNT integer
The transaction amount in the smallest money decimal (e.g. cents for euro).
Example: 1000
-
CARDCODE string(12-19)
The last 4 digits of the card code.
Example: XXXXXXXXXXXX4444
-
CLIENTEMAIL email(5-255)
The user’s email.
Example: john.snow@example.com
-
CLIENTIDENT string(1-255)
Unique identifier of the user in your application (e.g. a login or a primary key).
Example: john.snow
-
CURRENCY string(3)
Currency code (ISO 4217 format).
Example: EUR
-
DESCRIPTOR string
The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.
Example: myshop.com
-
EXECCODE string(4)
The operation result code. (See the complete list of execution code)
Example: 0000
-
EXTRADATA string(1-255)
Free field (Dalenys will send you back the content of the EXTRADATA you specified ahead).
Example: referrer=myshop.com;order=premium
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: YOUR_IDENTIFIER
-
LANGUAGE
fr
,en
,de
,es
,it
,nl
,zh
,ru
,pt
,sk
Configure the hosted form display language.
Example: en
-
MESSAGE string(no length limit)
The operation result description linked to
EXECCODE
.Example: The transaction has been accepted
-
OPERATIONTYPE
payment
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
TRANSACTIONID string(1-32)
Unique Dalenys transaction ID. Make sure to store this ID in your database.
Example: A1123456
-
VERSION
3.0
The API protocol version.
Example: 3.0
security
‘You have to check the received
HASH
against the one you generate, to confirm the request’s origin and integrity before redirecting the user. See this section for more information. Other parameters relating to the original request asAMOUNT
andORDERID
must be verified.’
Notification result parameters
Please see the dedicated section about notification and redirection
You will retrieve the following POST
parameters on your NOTIFICATION_URL
:
-
AMOUNT integer
The transaction amount in the smallest money decimal (e.g. cents for euro).
Example: 1000
-
CLIENTEMAIL email(5-255)
The user’s email.
Example: john.snow@example.com
-
CLIENTIDENT string(1-255)
Unique identifier of the user in your application (e.g. a login or a primary key).
Example: john.snow
-
CURRENCY string(3)
Currency code (ISO 4217 format).
Example: EUR
-
DESCRIPTOR string
The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.
Example: myshop.com
-
EXECCODE string(4)
The operation result code. (See the complete list of execution code)
Example: 0000
-
EXTRADATA string(1-255)
Free field (Dalenys will send you back the content of the EXTRADATA you specified ahead).
Example: referrer=myshop.com;order=premium
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: YOUR_IDENTIFIER
-
LANGUAGE
fr
,en
,de
,es
,it
,nl
,zh
,ru
,pt
,sk
Configure the hosted form display language.
Example: en
-
MESSAGE string(no length limit)
The operation result description linked to
EXECCODE
.Example: The transaction has been accepted
-
OPERATIONTYPE
payment
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
TRANSACTIONID string(1-32)
Unique Dalenys transaction ID. Make sure to store this ID in your database.
Example: A1123456
-
VERSION
3.0
The API protocol version.
Example: 3.0
security
‘You have to check the received
HASH
against the one you generate, to confirm the request’s origin and integrity before redirecting the user. See this section for more information. Other parameters relating to the original request asAMOUNT
andORDERID
must be verified.’
Server to server integration
In this mode, you have to send a POST
request containing your order’s parameters over HTTPS
to the Dalenys platform.
Refund via SCT
Refunds can either be processed through server-to-server request or Dalenys Dashboard.
info
You can only refund a succeeded
payment
transaction. A transaction can be refunded several times, up to the original transactionAMOUNT
.
Example
Here is a server to server request example:
$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=refund" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=refund" \
--data "params[TRANSACTIONID]=A1123456" \
--data "params[ORDERID]=1234" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[DESCRIPTOR]=myshop.com" \
--data "params[VERSION]=3.0" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
Parameters
-
AMOUNT integer
The amount to refund. When not specified, refund 100% of the initial transaction resting amount. Could not be higher than the resting amount.
Example: 1000
-
DESCRIPTION string(1-510)
A short description of the operation, can be used to trigger fraud actions. Don’t hesitate to ask your Payment Manager for some advice on this topic.
Example: Knows nothing
-
DESCRIPTOR string
The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.
Example: myshop.com
-
EXTRADATA string(1-255)
Free field (Dalenys will send you back the content of the EXTRADATA you specified ahead).
Example: referrer=myshop.com;order=premium
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: Demo Shop
-
OPERATIONTYPE
refund
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
TRANSACTIONID string(1-32)
The
payment
’sTRANSACTIONID
you want torefund
.Example: A1123456
-
VERSION
3.0
The API protocol version.
Example: 3.0
Request result
Here is the request result from the platform:
-
AMOUNT integer
The transaction amount in the smallest money decimal (e.g. cents for euro).
Example: 1000
-
DESCRIPTOR string
The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.
Example: myshop.com
-
EXECCODE string(4)
The operation result code. (See the complete list of execution code)
Example: 0000
-
MESSAGE string(no length limit)
The operation result description linked to
EXECCODE
.Example: The transaction has been accepted
-
OPERATIONTYPE
refund
The action you want to process.
Example: payment
-
TRANSACTIONID string(1-32)
Unique Dalenys transaction ID. Make sure to store this ID in your database.
Example: A1123456
Notification result parameters
You will retrieve the following POST
parameters on your NOTIFICATION_URL
:
-
AMOUNT integer
The transaction amount in the smallest money decimal (e.g. cents for euro).
Example: 1000
-
BANK string(8-11)
Bank Identifier Code (BIC).
Example: ABNANL2A
-
CARDFULLNAME string(1-255)
The holder’s full name (as described on the payment method).
Example: JOHN SNOW
-
CLIENTEMAIL email(5-255)
The user’s email.
Example: john.snow@example.com
-
CLIENTIDENT string(1-255)
Unique identifier of the user in your application (e.g. a login or a primary key).
Example: john.snow
-
CURRENCY string(3)
Currency code (ISO 4217 format).
Example: EUR
-
DESCRIPTOR string
The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.
Example: myshop.com
-
EXECCODE string(4)
The operation result code. (See the complete list of execution code)
Example: 0000
-
EXTRADATA string(1-255)
Free field (Dalenys will send you back the content of the EXTRADATA you specified ahead).
Example: referrer=myshop.com;order=premium
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IBAN string(1-34)
IBAN
Example: DE11888888889999999999
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: YOUR_IDENTIFIER
-
LANGUAGE
fr
,en
,de
,es
,it
,nl
,zh
,ru
,pt
,sk
Configure the hosted form display language.
Example: en
-
MESSAGE string(no length limit)
The operation result description linked to
EXECCODE
.Example: The transaction has been accepted
-
OPERATIONTYPE
payment
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
TRANSACTIONID string(1-32)
Unique Dalenys transaction ID. Make sure to store this ID in your database.
Example: A1123456
-
VERSION
3.0
The API protocol version.
Example: 3.0
security
‘You have to check the received
HASH
against the one you generate, to confirm the request’s origin and integrity before redirecting the user. See this section for more information. Other parameters relating to the original request asAMOUNT
andORDERID
must be verified.’