Bank card integration

CB_LOGO VISA_LOGO MASTERCARD_LOGO CADO_LOGO TICKET-RESTAURANT_LOGO

Introduction

This section concerns bank card payment methods like

  • VISA
  • Mastercard
  • Carte Bancaire (french scheme)
  • Carte Titre Cado
  • Carte Titre Restaurant

The integration method is working the exact same way.

reminder

A bank card is generally composed of:

  • A card number also known as Primary Account Number (PAN) with a length between 12 to 19 digits
  • An expiry date
  • A cryptogram
  • The full name of the card holder
  • A magnetic stripe and/or a chip
security

Storing or processing sensitive card data (like card code, cryptogram…) is regulated by PCI-DSS standards. Basically, you are not allowed to store these data unless you are a PCI-DSS certified entity. For more information: PCI-DSS standard reference.

Online bank card transactions can be secured with the 3-D Secure authentication process.

warning

The 3-D Secure process can be triggered manually or automatically. So it is important to read the 3-D Secure section and to stay ready to process a 3-D Secure transaction.

Dalenys provides two types of accounts for VISA/MasterCard transactions:

  • A Carte Bancaire account which is the best account to process French transactions. This account being also connected to VISA/MasterCard, the processing of EURO transactions worldwide is possible.
  • A direct VISA/MasterCard account : you can find specifics about this account type in the VISA/Mastercard direct connection section.

Compatible operations and options

Authorization specifics

On a Bank card account, the validity period of an authorization to be captured is 7 days.

On a Visa / MasterCard direct connection account, this period is extended to 13 days.

Hosted-fields integration

In this mode, you have to generate a hosted-fields’ HFTOKENS with our client side library then you have to send a POST request containing your order’s parameters including the HFTOKEN over HTTPS to the Dalenys platform.

To generate a token, please report to the hosted-fields integration section.

Payment / authorization

Example

Here is a server to server request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[ORDERID]=1234" \
--data "params[AMOUNT]=1000" \
--data "params[SELECTEDBRAND]=cb" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTREFERRER]=https://your_shop.com/order?id=1234" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[HFTOKEN]=17730892-b3f7-4411-bc81-557471ffcede" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

Parameters

  • 3DSECURE boolean

    Ask for a 3-D Secure V1 authentication.

    Example: true

  • 3DSECUREDISPLAYMODE main,popup,top,raw

    Define the 3-D Secure authentication page display mode:
    main: in the current frame;
    popup: in a browser popup;
    top: in the parent frame (useful in case of iframe integration);
    raw: to handle the redirection by yourself.

    Example: main

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • ALIASMODE oneclick, subscription

    Indicates the ALIAS usage mode:
    oneclick indicates a one click or an online transaction;
    subscription indicates an offline transaction.

    Example: oneclick

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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

  • 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][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CLIENTIP ipv4

    The user’s public IP address.

    Example: 10.1.1.1

  • CLIENTREFERRER string(1-255)

    The user’s HTTP referrer URL.

    Example: https://your_shop.com/order?id=1234

  • CLIENTUSERAGENT string(1-255)

    The HTTP user agent.

    Example: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

  • CREATEALIAS boolean

    Ask for a payment method ALIAS creation. Caution: this parameter is mutually exclusive with DISPLAYCREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • DISPLAYCREATEALIAS boolean

    Display a checkbox on the hosted form to ask the user to save his card data for future usage. Caution: this parameter is mutually exclusive with CREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • HFTOKEN string(1-36)

    A token to use with hosted fields integration. This token replaces card holder data in a hosted field payment request.

    Example: 17730892-b3f7-4411-bc81-557471ffcede

  • HIDECARDFULLNAME no, yes

    Hide the fullname input on the hosted form. You must supply the CARDFULLNAME. See the dedicated section for more informations.

    Example: true

  • HIDECLIENTEMAIL no, yes

    Hide the CLIENTEMAIL input on the hosted form. You must supply the CLIENTEMAIL. See the dedicated section for more informations.

    Example: true

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

    Example: Demo Shop

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • 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,authorization

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand. (Please see the dedicated documentation)

    Example: cb

  • SHIPTOADDRESS string(1-50)

    The shipping address.

    Example: 55 rue de la liberté

  • 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

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • TRANSACTIONEXPIRATIONDATE datetime(yyyy-MM-dd HH:mm:ss)

    Form expiration date. By default, the date is UTC, the timezone can be specified by using the TIMEZONE parameter.

    Example:

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • 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 payment

    The action you want to process.

    Example: payment

  • REDIRECTHTML string(no length limit)

    HTML content to display to the user to continue the processing. The string is base64 encoded.

    Example:

  • REDIRECTPOSTPARAMS string(no length limit)

    The content is string URL encoded and contains the POST parameters to send to the REDIRECTURL.

    Example: p1=v1&p2=v2

  • REDIRECTURL string(no length limit)

    The url to redirect the user to continue the processing.

    Example: http://some_url?p1=v1

  • SCHEMETRANSACTIONID string(1-55)

    Scheme transaction ID, retrieved in response to the authorization request.

    Example: 11034331402111290210

  • TRANSACTIONID string(1-32)

    Unique Dalenys transaction ID. Make sure to store this ID in your database.

    Example: A1123456

Notification result parameters

Please see the dedicated section about notification and redirection

You will retrieve the following POST parameters on your NOTIFICATION_URL:

  • 3DSECURE no, yes

    Merchant’s request for 3D Secure authentication.

    Example: true

  • 3DSECUREAUTHENTICATIONSTATUS y, n, u, a, c, r, i, empty

    Authentication status:
    y: authentication successful
    n: not authenticated
    u: unavailable
    a: attempted
    c: cardholder challenge required
    r: rejected
    i: Informational Only
    empty: no 3-D Secure

    Example: y

  • 3DSECURESIGNATURESTATUS y, n

    Signature verification status. Possible values are:
    y: signature is present in PARes message
    n: no signature present in PARes message

    Example: y

  • 3DSGLOBALSTATUS ok, not_enrolled, unavailable, not_required, ko

    Global status.

    Example: ok

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • CARD3DSECUREENROLLED y, n, u

    Card 3-D Secure enrollment status. Possible values are:
    y: Card enrolled
    n: Card not enrolled
    u: Enrollment unavailable

    Example: y

  • CARDCODE string(12-19)

    The last 4 digits of the card code.

    Example: XXXXXXXXXXXX4444

  • CARDCOUNTRY string(2)

    The country code (format ISO_3166-1_alpha-2).

    Example: US

  • CARDFULLNAME string(1-255)

    The holder’s full name (as described on the payment method).

    Example: JOHN SNOW

  • CARDNETWORK VISA, AMERICAN EXPRESS, MASTERCARD, BANCONTACT, CB, UNKNOWN

    The cardholder’s bank card network.

    Example:

  • CARDTYPE string

    The payment method type.

    Example: VISA

  • CARDUSAGE enterprise, debit, credit, prepaid

    Card product code.

    Example:

  • CARDVALIDITYDATE date(MM-YY)

    Card expiry date.

    Example: 12-17

  • CHARGEBACKDATE date(YYYY-MM-DD)

    Chargeback date.

    Example: 2017-05-25

  • CHARGEBACKTYPE chargeback, representment

    Chargeback type.

    Example: chargeback

  • 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, authorization

    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

  • SCHEMETRANSACTIONID string(1-55)

    Scheme transaction ID, retrieved in response to the authorization request.

    Example: 11034331402111290210

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand.

    Example: CB

  • STAN int(6)

    System Trace Audit Number.

    Example: 123456

  • TAGS string(no max length)

    Tags set by the Dalenys’s rule engine

    Example: POTENTIAL FRAUD=Volume&TO BE CHECKED=Custom 1

  • 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 as AMOUNT and ORDERID must be verified.’

info

The CHARGEBACKDATE and CHARGEBACKTYPE optional parameters are only sent on the chargeback_url where applicable.

Oneclick with CVV

warning

In case of execcode 4018, fees could be applied for each new transaction attempt.

reminder

In case of a co-branded bank card, the default brand used will be the one inherited from the initial transaction that allowed the creation of the ALIAS, otherwise another brand must be specified with the parameter SELECTEDBRAND

Example

In this example, the HFTOKEN has already been generated with a single CVV hosted-field:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[ORDERID]=1234" \
--data "params[ALIAS]=A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0" \
--data "params[ALIASMODE]=oneclick" \
--data "params[AMOUNT]=1000" \
--data "params[SELECTEDBRAND]=cb" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[HFTOKEN]=17730892-b3f7-4411-bc81-557471ffcede" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

Parameters

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • ALIASMODE oneclick, subscription

    Indicates the ALIAS usage mode:
    oneclick indicates a one click or an online transaction;
    subscription indicates an offline transaction.

    Example: oneclick

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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

  • 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][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CLIENTIP ipv4

    The user’s public IP address.

    Example: 10.1.1.1

  • CLIENTREFERRER string(1-255)

    The user’s HTTP referrer URL.

    Example: https://your_shop.com/order?id=1234

  • CLIENTUSERAGENT string(1-255)

    The HTTP user agent.

    Example: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

  • 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

  • HFTOKEN string(1-36)

    A token to use with hosted fields integration. This token replaces card holder data in a hosted field payment request.

    Example: 17730892-b3f7-4411-bc81-557471ffcede

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

    Example: Demo Shop

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • METADATA string(1-255)

    Additional transactional data. Contact your account manager for more informations.

    Example: @METADATA-MYWEBSITE

  • OPERATIONTYPE authorization, payment, capture, refund, credit, void

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand. (Please see the dedicated documentation)

    Example: cb

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • 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 authorization, payment, capture, refund, credit, void

    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

Please see the dedicated section about notification and redirection

You will retrieve the following POST parameters on your NOTIFICATION_URL:

  • 3DSECURE no, yes

    Merchant’s request for 3D Secure authentication.

    Example: true

  • 3DSECUREAUTHENTICATIONSTATUS y, n, u, a, c, r, i, empty

    Authentication status:
    y: authentication successful
    n: not authenticated
    u: unavailable
    a: attempted
    c: cardholder challenge required
    r: rejected
    i: Informational Only
    empty: no 3-D Secure

    Example: y

  • 3DSECURESIGNATURESTATUS y, n

    Signature verification status. Possible values are:
    y: signature is present in PARes message
    n: no signature present in PARes message

    Example: y

  • 3DSGLOBALSTATUS ok, not_enrolled, unavailable, not_required, ko

    Global status.

    Example: ok

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • CARD3DSECUREENROLLED y, n, u

    Card 3-D Secure enrollment status. Possible values are:
    y: Card enrolled
    n: Card not enrolled
    u: Enrollment unavailable

    Example: y

  • CARDCODE string(12-19)

    The last 4 digits of the card code.

    Example: XXXXXXXXXXXX4444

  • CARDCOUNTRY string(2)

    The country code (format ISO_3166-1_alpha-2).

    Example: US

  • CARDFULLNAME string(1-255)

    The holder’s full name (as described on the payment method).

    Example: JOHN SNOW

  • CARDNETWORK VISA, AMERICAN EXPRESS, MASTERCARD, BANCONTACT, CB, UNKNOWN

    The cardholder’s bank card network.

    Example:

  • CARDTYPE string

    The payment method type.

    Example: VISA

  • CARDUSAGE enterprise, debit, credit, prepaid

    Card product code.

    Example:

  • CARDVALIDITYDATE date(MM-YY)

    Card expiry date.

    Example: 12-17

  • CHARGEBACKDATE date(YYYY-MM-DD)

    Chargeback date.

    Example: 2017-05-25

  • CHARGEBACKTYPE chargeback, representment

    Chargeback type.

    Example: chargeback

  • 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, authorization

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand.

    Example: CB

  • STAN int(6)

    System Trace Audit Number.

    Example: 123456

  • TAGS string(no max length)

    Tags set by the Dalenys’s rule engine

    Example: POTENTIAL FRAUD=Volume&TO BE CHECKED=Custom 1

  • 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 as AMOUNT and ORDERID must be verified.’

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 / authorization

Example

Here is a simple example of a payment form. Submitting this form will redirect the cardholder 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="DESCRIPTION" value="" />
    <input type="hidden" name="HASH" value="" />
    <input type="hidden" name="VERSION" value="" />
    <input type="submit" value="Pay" />
</form>

Parameters

  • 3DSECURE boolean

    Ask for a 3-D Secure V1 authentication.

    Example: true

  • 3DSECUREDISPLAYMODE main, popup, top

    Define the 3-D Secure authentication page display mode:
    main: in the current frame;
    popup: in a browser popup;
    top: in the parent frame (useful in case of iframe integration);
    raw: to handle the redirection by yourself.

    Example: main

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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][DISCOUNT] float

    Applied discount in percentage. The decimal separator is the dot symbol.

    Example: 10.5

  • CART[X][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CREATEALIAS boolean

    Ask for a payment method ALIAS creation. Caution: this parameter is mutually exclusive with DISPLAYCREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • DISPLAYCREATEALIAS boolean

    Display a checkbox on the hosted form to ask the user to save his card data for future usage. Caution: this parameter is mutually exclusive with CREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • HIDECARDFULLNAME no, yes

    Hide the fullname input on the hosted form. You must supply the CARDFULLNAME. See the dedicated section for more informations.

    Example: true

  • HIDECLIENTEMAIL no, yes

    Hide the CLIENTEMAIL input on the hosted form. You must supply the CLIENTEMAIL. See the dedicated section for more informations.

    Example: true

  • 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, authorization

    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é

  • 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

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • TRANSACTIONEXPIRATIONDATE datetime(yyyy-MM-dd HH:mm:ss)

    Form expiration date. By default, the date is UTC, the timezone can be specified by using the TIMEZONE parameter.

    Example:

  • USETEMPLATE web, mobile

    Which custom payment form to use.

    Example: web

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Redirection result parameters

  • 3DSECURE no, yes

    3-D Secure’s status.

    Example: true

  • 3DSECUREAUTHENTICATIONSTATUS y, n, u, a, c, r, i, empty

    Authentication status:
    y: authentication successful
    n: not authenticated
    u: unavailable
    a: attempted
    c: cardholder challenge required
    r: rejected
    i: Informational Only
    empty: no 3-D Secure

    Example: y

  • 3DSECURESIGNATURESTATUS y, n

    Signature verification status. Possible values are:
    y: signature is present in PARes message
    n: no signature present in PARes message

    Example: y

  • 3DSGLOBALSTATUS ok, not_enrolled, unavailable, not_required, ko

    Global status.

    Example: ok

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • CARD3DSECUREENROLLED y, n, u

    Card 3-D Secure enrollment status. Possible values are:
    y: Card enrolled
    n: Card not enrolled
    u: Enrollment unavailable

    Example: y

  • 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 authorization, 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 as AMOUNT and ORDERID must be verified.’

Template parameters

When using a customized form, following parameters are expected to be sent by POST to your TEMPLATE_URL:

  • 3DSECURE no, yes

    Merchant’s request for 3D Secure authentication.

    Example: true

  • 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

  • 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: YOUR_IDENTIFIER

  • 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 authorization, 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

  • 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 as AMOUNT and ORDERID must be verified.’

Notification result parameters

Exactly the same parameters result as with hosted-fields integration.

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.

Payment / authorization / credit

security

The server to server integration mode requires you to receive sensitive card holder data and has a important impact on the your platform’s security. See PCI-DSS standard reference

Example

Here is a server to server request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[ORDERID]=1234" \
--data "params[AMOUNT]=1000" \
--data "params[SELECTEDBRAND]=cb" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTREFERRER]=https://your_shop.com/order?id=1234" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[CARDCODE]=1111222233334444" \
--data "params[CARDCVV]=123" \
--data "params[CARDVALIDITYDATE]=12-17" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

Parameters

  • 3DSECURE boolean

    Ask for a 3-D Secure V1 authentication.

    Example: true

  • 3DSECUREDISPLAYMODE main,popup,top,raw

    Define the 3-D Secure authentication page display mode:
    main: in the current frame;
    popup: in a browser popup;
    top: in the parent frame (useful in case of iframe integration);
    raw: to handle the redirection by yourself.

    Example: main

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • ALIASMODE oneclick, subscription

    Indicates the ALIAS usage mode:
    oneclick indicates a one click or an online transaction;
    subscription indicates an offline transaction.

    Example: oneclick

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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

  • CARDCODE string(12-19)

    The user’s bank card’s Primary Account Number (PAN).

    Example: 1111222233334444

  • CARDCVV string(3-4)

    The user’s bank card’s cryptogram.

    Example: 123

  • 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

  • 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

  • CARDVALIDITYDATE date(MM-YY)

    Card expiry date. In case of Network Token Transaction, provide Network Token Expiration Date

    Example: 12-17

  • 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][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CLIENTIP ipv4

    The user’s public IP address.

    Example: 10.1.1.1

  • CLIENTREFERRER string(1-255)

    The user’s HTTP referrer URL.

    Example: https://your_shop.com/order?id=1234

  • CLIENTUSERAGENT string(1-255)

    The HTTP user agent.

    Example: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

  • CREATEALIAS boolean

    Ask for a payment method ALIAS creation. Caution: this parameter is mutually exclusive with DISPLAYCREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • DISPLAYCREATEALIAS boolean

    Display a checkbox on the hosted form to ask the user to save his card data for future usage. Caution: this parameter is mutually exclusive with CREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • 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 authorization, payment, capture, refund, credit, void

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand. (Please see the dedicated documentation)

    Example: cb

  • 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

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • TRANSACTIONEXPIRATIONDATE datetime(yyyy-MM-dd HH:mm:ss)

    Form expiration date. By default, the date is UTC, the timezone can be specified by using the TIMEZONE parameter.

    Example:

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • 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 authorization, payment, capture, refund, credit, void

    The action you want to process.

    Example: payment

  • REDIRECTHTML string(no length limit)

    HTML content to display to the user to continue the processing. The string is base64 encoded.

    Example:

  • REDIRECTPOSTPARAMS string(no length limit)

    The content is string URL encoded and contains the POST parameters to send to the REDIRECTURL.

    Example: p1=v1&p2=v2

  • REDIRECTURL string(no length limit)

    The url to redirect the user to continue the processing.

    Example: http://some_url?p1=v1

  • SCHEMETRANSACTIONID string(1-55)

    Scheme transaction ID, retrieved in response to the authorization request.

    Example: 11034331402111290210

  • TRANSACTIONID string(1-32)

    Unique Dalenys transaction ID. Make sure to store this ID in your database.

    Example: A1123456

Notification result parameters

Exactly the same parameters result as with hosted-fields integration.

Network Token

It is possible to use a network token instead of a card code. To do so, replace the fields CARDCODE and CARDCVV with NETWORKTOKENCODE, NETWORKTOKENTRID and NETWORKTOKENTAVV.

warning
  • Do not submit CARDCODE and CARDCVV if you are using a network token.
  • NETWORKTOKENTAVV becomes a mandatory field when executing oneclick transactions.

Example

Here is a server to server request example using Network Token:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[ORDERID]=1234" \
--data "params[AMOUNT]=1000" \
--data "params[SELECTEDBRAND]=cb" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTREFERRER]=https://your_shop.com/order?id=1234" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[NETWORKTOKENCODE]=1111222233334444" \
--data "params[NETWORKTOKENTRID]=11222444555" \
--data "params[CARDVALIDITYDATE]=12-17" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

Parameters

  • 3DSECURE boolean

    Ask for a 3-D Secure V1 authentication.

    Example: true

  • 3DSECUREDISPLAYMODE main,popup,top,raw

    Define the 3-D Secure authentication page display mode:
    main: in the current frame;
    popup: in a browser popup;
    top: in the parent frame (useful in case of iframe integration);
    raw: to handle the redirection by yourself.

    Example: main

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • ALIASMODE oneclick, subscription

    Indicates the ALIAS usage mode:
    oneclick indicates a one click or an online transaction;
    subscription indicates an offline transaction.

    Example: oneclick

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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

  • CARDVALIDITYDATE date(MM-YY)

    Card expiry date. In case of Network Token Transaction, provide Network Token Expiration Date

    Example: 12-17

  • 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][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CLIENTIP ipv4

    The user’s public IP address.

    Example: 10.1.1.1

  • CLIENTREFERRER string(1-255)

    The user’s HTTP referrer URL.

    Example: https://your_shop.com/order?id=1234

  • CLIENTUSERAGENT string(1-255)

    The HTTP user agent.

    Example: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

  • CREATEALIAS boolean

    Ask for a payment method ALIAS creation. Caution: this parameter is mutually exclusive with DISPLAYCREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • DISPLAYCREATEALIAS boolean

    Display a checkbox on the hosted form to ask the user to save his card data for future usage. Caution: this parameter is mutually exclusive with CREATEALIAS. See the dedicated section.

    Example: true

  • 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

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • 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

  • NETWORKTOKENCODE string(11-19)

    A network token

    Example: 1111222233334444

  • NETWORKTOKENECI string(2)

    Elecronic Commerce Identifier

    Example: 06

  • NETWORKTOKENTAVV base64(28)

    Token Authorization Verification Value. Mandatory for oneclick Transaction.

    Example: AAEBAwQjS1AAXXXXXXXJYe09bQA=

  • NETWORKTOKENTRID string(11)

    Token Requestor ID

    Example: 11222444555

  • OPERATIONTYPE authorization, payment, capture, refund, credit, void

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand. (Please see the dedicated documentation)

    Example: cb

  • 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

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • TRANSACTIONEXPIRATIONDATE datetime(yyyy-MM-dd HH:mm:ss)

    Form expiration date. By default, the date is UTC, the timezone can be specified by using the TIMEZONE parameter.

    Example:

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Recurring payment / authorization

warning

In case of execcode 4018, fees could be applied for each new transaction attempt.

reminder

Only during a oneclick transaction, in case of a co-branded bank card, the default brand used will be the one inherited from the initial transaction that allowed the creation of the ALIAS, otherwise another brand must be specified with the parameter SELECTEDBRAND

tips

3-D Secure authentication is available on recurring oneclick transactions.’

Example

Here is a server to server request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[ORDERID]=1234" \
--data "params[ALIAS]=A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0" \
--data "params[ALIASMODE]=oneclick" \
--data "params[AMOUNT]=1000" \
--data "params[SELECTEDBRAND]=cb" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

Parameters

  • ALIAS string(1-40)

    Identifier of a previously processed payment method.

    Example: A1-fc5bafe3-8c12-4314-95c7-2e15ec3220e0

  • ALIASMODE oneclick, subscription

    Indicates the ALIAS usage mode:
    oneclick indicates a one click or an online transaction;
    subscription indicates an offline transaction.

    Example: oneclick

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

    Example: 1000

  • AMOUNTS hash

    A hash of keys / values where keys are dates and values are the amounts to process:
    Dates have to be in format YYYY-MM-DD;
    Amounts in the smallest money decimal (e.g. cents for euro);
    See the dedicated section.

    Example: {#<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>=>50000, #<Date: 2016-02-01 ((2457420j,0s,0n),+0s,2299161j)>=>20000, #<Date: 2016-03-01 ((2457449j,0s,0n),+0s,2299161j)>=>10000}

  • 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

  • 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][FEES] integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • CLIENTIP ipv4

    The user’s public IP address.

    Example: 10.1.1.1

  • CLIENTREFERRER string(1-255)

    The user’s HTTP referrer URL.

    Example: https://your_shop.com/order?id=1234

  • CLIENTUSERAGENT string(1-255)

    The HTTP user agent.

    Example: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

  • 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

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • METADATA string(1-255)

    Additional transactional data. Contact your account manager for more informations.

    Example: @METADATA-MYWEBSITE

  • OPERATIONTYPE authorization, payment, capture, refund, credit, void

    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

  • SELECTEDBRAND cb, visa, vpay, electron, mastercard, maestro

    Preferred brand. (Please see the dedicated documentation)

    Example: cb

  • 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

  • TIMEZONE string(1-128)

    Timezone / default value : UTC. Please see the Data sheet dedicated list of available timezones.

    Example: Europe/Paris

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:

  • 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 authorization, payment, capture, refund, credit, void

    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

Exactly the same parameters result as with hosted-fields integration.

Capture

Authorizations have to be captured by a server to server request.

info

You can only capture a succeeded authorization transaction and an authorization can only be captured once.

warning

A capture must be triggered within 7 days of an authorization, otherwise capture success is no longer guaranteed.

tips

The capture AMOUNT may be lower but cannot exceed the initial authorization’s AMOUNT.

Example

Here is a capture request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=capture" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=capture" \
--data "params[TRANSACTIONID]=A1123456" \
--data "params[ORDERID]=1234" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[VERSION]=3.0" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \

Parameters

  • AMOUNT integer

    When not specified, 100% of the authorization amount is captured. Could not be higher than the authorization 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

  • 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

  • FEES integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • MERCHANTITEMID string

    Item ID in the merchant system.

    Example: REF-123456

  • OPERATIONTYPE capture

    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

  • 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

  • TRANSACTIONID string(1-32)

    The authorization’s TRANSACTIONID you want to capture.

    Example: A1123456

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:
  • 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 capture

    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

Exactly the same result parameters than with hosted-fields integration.

Refund

Refunds can either be processed through server-to-server request or Dalenys Dashboard.

info

You can only refund a successful payment or capture transaction. A transaction can be refunded several times, up to the original transaction AMOUNT.

Example

Here is a refund 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[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

  • 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

  • FEES integer

    Marketplace fees in cents.

    Example: 2000

  • 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

  • MERCHANTITEMID string

    Item ID in the merchant system.

    Example: REF-123456

  • 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

  • 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

  • TRANSACTIONID string(1-32)

    The payment or capture’s TRANSACTIONID you want to refund.

    Example: A1123456

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:
  • 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

Exactly the same result parameters than with hosted-fields integration.

Stop n-times

Stop n-times have to be processed by a server to server request.

Example

Here is a stop n-times request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=stopntimes" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=stopntimes" \
--data "params[SCHEDULEID]=A123456" \
--data "params[VERSION]=3.0" \

Parameters

  • 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 stopntimes

    The action you want to process.

    Example: payment

  • SCHEDULEID string(2-32)

    Schedule identifier.

    Example: A123456

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:
  • 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 stopntimes

    The action you want to process.

    Example: payment

Notification result parameters

Exactly the same result parameters than with hosted-fields integration.

Void

Voids have to be processed by a server to server request.

info

Remember that only the last operation of a transaction history can be voided (ie an authorization can’t be voided if it’s already been captured).

tips

Voiding a transaction before sending it to remittance will result in removing the transaction from the remittance. The money won’t be compensated, the end user won’t see the transaction in his bank report.

Example

Here is a void request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=void" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=void" \
--data "params[TRANSACTIONID]=A1123456" \
--data "params[ORDERID]=1234" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[VERSION]=3.0" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \

Parameters

  • 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

  • OPERATIONTYPE void

    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 operation’s ‘TRANSACTIONID you want to void.

    Example: A1123456

  • VERSION 3.0

    The API protocol version.

    Example: 3.0

Request result

Here is the request result from the platform:
  • 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 void

    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

Exactly the same result parameters than with hosted-fields integration.

Specific details

Brand selector

European regulations require that the choice of payment brand be left to the cardholder, in the event that his bank card is co-branded.

In France, most of the bankcards are co-branded CB/Visa or CB/Mastercard.

Please, refer to the brand-selector dedicated page to manage a brand selector on your payment page.

Pre-Authorization and Final Authorization

Any bankcard authorization operations must be specified with a dedicated parameter AUTHORIZATIONTYPE whose possible values are as follows:

  • Pre-Authorization
  • Final Authorization

All Dalenys accounts are set-up with Final Authorization by default.

Pre-Authorization are only available to specific MCCs. Please contact your customer success manager to enable Pre-Authorization.

Different rules apply to Pre-Authorization and Final Authorization depending on scheme the authorization was submitted to:

  Pre-Authorization Final Authorization Final Authorization
Card Scheme* Cartes Bancaires (CB), VISA, MasterCard Cartes Bancaires (CB) VISA, MasterCard
Authorized Capture Amount Should be equal or less than the original authorization amount Should be equal to the original transaction amount Should be equal to the original transaction amount
Validity Period** 30 days 13 days 7 days

*The card network used for an authorization is available in the transaction notification.

**All authorizations must be captured or voided within the validity period. Calendar days apply.

Additional Card Scheme fees are to be charged if:

  • Capture amount differs from Final authorization amount
  • Pre-Authorization or Final Authorization are left without capture or void beyond validity period

Authentication (3-D Secure)

For 3-D Secure transactions see the 3-D Secure section.

info

All transactions using Maestro cards are subject to 3-D Secure authentication.

N-times transactions

For easy split transactions see the n-time section.

Market place

Please, see the dedicated section

Merchant’s side payment card tokenisation

Merchants in PCI DSS compliance who manage the registration of payment cards on their side, must provide additionnal information:

  • INITIALSCHEMETRANSACTIONID string(1-55)

    Card scheme transaction identifier (Mastercard Trace-ID or Visa Transaction ID). Submit the original scheme transaction ID of the initial recurring payment. If provided by the card scheme, the original scheme transaction ID will be returned in the transaction notification in “SCHEMETRANSACTIONID” field.

    Example: 2MCGNM21OX0729

  • RECURRINGSEQUENCE int(1-2)

    Number (n+1) of times the registered card is used for a financial transaction, considering that the very first time is the initial transaction during which the card is registered (tokenized).

    Example: RECURRINGSQUENCE=1 -> initial transaction during wich the card is tokenized ; RECURRINGSQUENCE=2 -> first time the card token is used ; RECURRINGSQUENCE=3 -> second time the card token is used ; etc

Those parameter must be associated with ALIASMODE and payment card information as CARDCODE, CARDVALIDITYDATE, CARDCVV.

warning

CREATEALIAS, DISPLAYCREATEALIAS and ALIAS parameters must not be used in the request.

Example

Here is a server to server request example:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=payment" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=payment" \
--data "params[AMOUNT]=1000" \
--data "params[CARDCODE]=1111222233334444" \
--data "params[CARDCVV]=123" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[CARDVALIDITYDATE]=12-17" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[CLIENTEMAIL]=john.snow@example.com" \
--data "params[CLIENTREFERRER]=https://your_shop.com/order?id=1234" \
--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \
--data "params[CLIENTIP]=10.1.1.1" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[ORDERID]=1234" \
--data "params[RECURRINGSEQUENCE]=RECURRINGSQUENCE=1 -> initial transaction during wich the card is tokenized ; RECURRINGSQUENCE=2 -> first time the card token is used ; RECURRINGSQUENCE=3 -> second time the card token is used ; etc" \
--data "params[VERSION]=3.0" \

Visa / MasterCard direct connection

Direct VISA/MasterCard accounts are directly linked to the VISA/MasterCard networks.

These accounts can be set-up to accept payments in all major currencies (including EUR/USD/GBP/SEK/HKD/AUD/etc.).

Each account is set up with one specific currency : multinational merchants will need multiple accounts.

warning
  • Multiple capture operations (as used in a Marketplace) are not allowed on these accounts.
  • void operation cannot be done on a credit transaction on these accounts.
  • On these accounts, credit operation must refer to a 3-D Secure successfully authenticated TRANSACTIONID.
  • Recurring payment is not available for Maestro cards.

Address Verification System (AVS)

For international transactions it is possible to process an additional address comparison between the one supplied at payment time and the one registered at the issuing bank.

info

This feature is only available on server to server integration

Once this feature is enabled on your account, to activate the verification feature on a transaction you have to supply these fields in your server to server request:

  • AVSPOSTALCODE string(1-9)

    The address postal code to submit to the Address Verification System.

    Example: 10007

  • AVSSTREETNAME string(4-50)

    The address street name to submit to the Address Verification System.

    Example: Champs élysées

  • AVSSTREETNUMBER integer

    The address street number to submit to the Address Verification System.

    Example: 42

The result of a transaction will contain two new fields:

info

This feature is only available for international transaction accounts.

info

This feature works with authorization and payment transaction types.

info

This feature only allows to compare address coherency. In case of address mismatch, the transaction won’t be rejected.

To activate this feature, please contact your payment manager.

Address Verification System result codes

Code Message
- AVS service is not available for the particular card
A Partial Match - Address match; Zip/Postal Code does not match
B Partial Match - Address match; Zip/Postal Code not supplied or not checked
C No Match – Address and Zip/Postal Code not verified
D Full Match - Address and Zip/Postal Code match
E AVS service is not available for the particular card
F Full Match - Address and Zip/Postal Code match (UK Only)
G No Match - Address not verified
I Address not verified
M Full Match - Address and Zip/Postal Code match
N No Match - Address and Zip/Postal Code do not match
P Partial Match - Zip/Postal Code matches; Address does not match
R Issuer system unavailable or timeout, Retry
S AVS not supported by issuer
U Address information unavailable
W For US addresses: Partial Match - nine-digit Zip Code matches; Address does not match. For addresses outside the US: Partial Match - Postal Code matches; Address does not match
X For US addresses: Full Match - nine-digit Zip Code and Address match
Y For US addresses: Full Match - five-digit Zip Code and Address match
Z For US addresses: Partial Match – five-digital ZIP Code matches; Address does not match

Billing descriptor

The billing descriptor is found on the cardholder’s bank statement. Adapted and concise billing descriptor help identify purchases related to the transaction’s record on statements and therefore reduce disputes.

2 types of billing descriptor are supported:

  • static descriptor: set by default. It will appear on all your customers statements,
  • dynamic descriptor: static descriptor may be completed with a dynamic suffix.

This allows you to adjust the description for each transaction. The length of the descriptor on the cardholder’s bank statement may vary depending on issuing bank implementation. Different rules apply to Dynamic Descriptor depending on your account acceptance configuration: Standard, Marketplace or Payment Facilitator.

Please reach at your Customer Success Manager to request further detail and activation.

warning

When Dynamic Descriptor is activated, DESCRIPTOR is expected on all authorization and payment operations

  • DESCRIPTOR string(1-36)

    Descriptor suffix to be displayed on cardholder’s statement. Please note that only alphabetic characters, digits, “.” and “-“ are allowed.

    Example: end of trial

Gambling merchants

Some constraints apply to Gambling merchants (MCC7994 / MCC7995):

  • The CVV is required on authorization and payment transactions, including onelick payments. For credit transaction the CVV is not required.
  • subscription, n-Times, refund and void operations are unavailable.
  • Credit operation with alias mode subscription is not available.

MCC 6012

info

Only applicable for UK merchants.

Merchants whose activity corresponds to “Financial Institution MCC 6012” are subject to special rules:

  • The first transaction must be an authorization with an alias creation using CREATEALIAS=YES; whatever the AMOUNT, this request will be only used to register the card and will not trigger any debit.
  • Each subsequent transaction must use the ALIAS parameter;
  • Each transaction must include the following specific parameters:
  • SUBSCRIBERACCOUNT string(1-34)

    Subscriber’s IBAN.

    Example: DE11888888889999999999

  • SUBSCRIBERDOB date(YYYY-MM-DD)

    Subscriber’s date of birth.

    Example: 1982-06-20

  • SUBSCRIBERNAME string(1-255)

    Subscriber’s name.

    Example: John Doe

  • SUBSCRIBERZIPCODE string(1-9)

    Subscriber’s address postal code.

    Example: 75008

warning

Maestro cards are not accepted on MCC 6012 accounts.

MCC 3000-3300 + 4511

Merchants whose activity corresponds to the MCC above are subject to special rules:

  • Payment operations are not allowed, transactions must be processed through authorization and capture;
  • Scheduled capture aren’t allowed;
  • Merchant must proceed one capture per passenger (per PNR ticket);
  • Each capture must contain additional parameters as below;
  • Every single flight must have its data provided through a parameter TRAVELLEGS and its sub params (see example below).

Parameters

  • TRAVELAGENCYCODE string(1-8)

    Travel agency code

    Example: 12345678

  • TRAVELAGENCYNAME string(1-25)

    Travel agency name

    Example: Travel Agency

  • TRAVELDEPARTUREDATE YYYY-MM-DD

    Travel departure date

    Example: 2020-12-01

  • TRAVELLEGS[X][TRAVELCARRIERCODE] string(2)

    Travel carrier code

    Example: AA

  • TRAVELLEGS[X][TRAVELCARRIERNUMBER] string(1-5)

    Flight number excluding carrier code

    Example: 81

  • TRAVELLEGS[X][TRAVELDESTINATIONLOCATIONCODE] string(3)

    Destination airport/city IATA code

    Example: JFK

  • TRAVELLEGS[X][TRAVELFAREBASISCODE] string(1-6)

    Fare basis code

    Example: VLVA2FI

  • TRAVELLEGS[X][TRAVELORIGINLOCATIONCODE] string(3)

    Origin airport/city IATA code

    Example: CDG

  • TRAVELLEGS[X][TRAVELSERVICECLASS] string(1-2)

    Service class

    Example: V

  • TRAVELLEGS[X][TRAVELSTOPOVERCODE] string(1)

    Stop over code

    Example: N

  • TRAVELPASSENGERNAME string(1-20)

    Passenger name

    Example: JC Denton

  • TRAVELTICKETNUMBER string

    Ticket/document number, or PNR locator code.

    Example: 1059127084903

Example

Let us assume that a passenger is travelling as a couple from Charles de Gaulles Airport in Paris to John F. Kennedy International Airport in New York, with a stopover at ABC on both the outward and return legs.

  • The merchant will have to perfom an authorization of the total amount of the trip;
  • And then make a capture per passenger:
$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=capture" \
--data "params[AMOUNT]=80000" \
--data "params[CLIENTIDENT]=john.snow" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=capture" \
--data "params[ORDERID]=1234" \
--data "params[TRAVELDEPARTUREDATE]=2020-12-01" \
--data "params[TRAVELLEGS][0][TRAVELCARRIERCODE]=AA" \
--data "params[TRAVELLEGS][0][TRAVELDESTINATIONLOCATIONCODE]=ABC" \
--data "params[TRAVELLEGS][0][TRAVELORIGINLOCATIONCODE]=CDG" \
--data "params[TRAVELLEGS][0][TRAVELSERVICECLASS]=A" \
--data "params[TRAVELLEGS][1][TRAVELCARRIERCODE]=AA" \
--data "params[TRAVELLEGS][1][TRAVELDESTINATIONLOCATIONCODE]=JFK" \
--data "params[TRAVELLEGS][1][TRAVELORIGINLOCATIONCODE]=ABC" \
--data "params[TRAVELLEGS][1][TRAVELSERVICECLASS]=AB" \
--data "params[TRAVELLEGS][2][TRAVELCARRIERCODE]=AA" \
--data "params[TRAVELLEGS][2][TRAVELDESTINATIONLOCATIONCODE]=ABC" \
--data "params[TRAVELLEGS][2][TRAVELORIGINLOCATIONCODE]=JFK" \
--data "params[TRAVELLEGS][2][TRAVELSERVICECLASS]=B" \
--data "params[TRAVELLEGS][3][TRAVELCARRIERCODE]=AA" \
--data "params[TRAVELLEGS][3][TRAVELDESTINATIONLOCATIONCODE]=CDG" \
--data "params[TRAVELLEGS][3][TRAVELORIGINLOCATIONCODE]=ABC" \
--data "params[TRAVELLEGS][3][TRAVELSERVICECLASS]=BC" \
--data "params[TRAVELPASSENGERNAME]=JC Denton" \
--data "params[TRAVELTICKETNUMBER]=1059127084903" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \
--data "params[VERSION]=3.0" \

And another capture for the second passenger.

MCC 7994 + 7995 + 6211

If your activity is related to MCC 7994 (gaming), 7995 (gambling) or 6211 (Forex), all your credit operations will be processed as Credit Fund Transfer operation (CFT).

The only technical difference with a standard credit transaction is that you have to provide a reference TRANSACTIONID of a succeeded and authenticated transaction (3DSECURE), the BILLINGFIRSTNAME and the BILLINGLASTNAME of the beneficiary.

Sandbox test card numbers

You can simulate the EXECCODEs from the list bellow, using fake card numbers (PAN), the last 4 digits of which correspond to the desired EXECCODE.

CODE description fake PAN
0000 Successful operation 4065600099110000
0000 Frictionless 3-D Secure 4464210935060000
0001 3-D Secure authentication required 4464215790990001
4001 Transaction declined by the banking network 4234607564194001
4002 Insufficient funds 4234604810334002
4003 Card declined by the banking network 4234606735474003
4005 Fraud suspicion 4234600140624005
4010 Invalid transaction 4234604450614010
4011 Duplicated transaction 4234609939944011
4012 Invalid card data 4234604160524012
4013 Transaction not allowed by banking network for this holder 4234608464714013
4020 Strong customer authentication required by issuer 4234607430914020
5001 Exchange protocol failure 4234609090495001
5002 Banking network error 4234604508525002
5004 Time out, the response will be sent to the notification URL (only applicable for Visa / MasterCard direct connection) 4234607483945004