American Express integration
- Introduction
- Compatible operations and options
- Hosted-fields integration
- Form integration
- Server to server integration
- Specific details
- Sandbox test card numbers
Introduction
This section concerns American Express payment methods.
reminder
A bank card is generally composed of:
- A card number also known as Primary Account Number (PAN) with a length of 15 digits on American Express cards.
- 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.
Transactions made by bank card can be secured with the American Express SafeKey authentication process.
warning
‘The American Express SafeKey 3-D Secure process can be triggered on the merchant’s end (parameter
3DSECURE
valued to yes) or dynamically, via the Dalenys rule engine. Thus we strongly recommend you to read the 3-D Secure section to be fully prepared to process Safekey transactions.’
Compatible operations and options
-
Compatible operations:
-
Compatible options:
Authorization specifics
On a Bank card account, the validity period of an authorization to be captured is 7 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[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][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 withDISPLAYCREATEALIAS
. 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
-
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 theCLIENTEMAIL
. 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
-
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
-
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 SecureExample: y
-
3DSECURESIGNATURESTATUS
y
,n
Signature verification status. Possible values are:
y
: signature is present in PARes message
n
: no signature present in PARes messageExample: 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 unavailableExample: y
-
CARD3DSECUREENROLLED
y
,n
,u
Card 3-D Secure enrollment status. Possible values are:
y
: Card enrolled
n
: Card not enrolled
u
: Enrollment unavailableExample: 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
-
CARDVALIDITYDATE date(MM-YY)
Card expiry date.
Example: 12-17
-
CHARGEBACKDATE date(YYYY-MM-DD)
Chargeback date.
Example: 2017-05-25
-
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
-
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 asAMOUNT
andORDERID
must be verified.’
info
The
CHARGEBACKDATE
andCHARGEBACKTYPE
optional parameters are only sent on thechargeback_url
where applicable.
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 POST
form 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="AMOUNT" value="" />
<input type="hidden" name="CLIENTIDENT" value="" />
<input type="hidden" name="DESCRIPTION" value="" />
<input type="hidden" name="HASH" value="" />
<input type="hidden" name="IDENTIFIER" value="" />
<input type="hidden" name="OPERATIONTYPE" value="payment" />
<input type="hidden" name="ORDERID" 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][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 withDISPLAYCREATEALIAS
. 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
-
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 theCLIENTEMAIL
. 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
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
-
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
-
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
Redirection result parameters
-
3DSECURE
no
,yes
Safekey 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 SecureExample: y
-
3DSECURESIGNATURESTATUS
y
,n
Signature verification status. Possible values are:
y
: signature is present in PARes message
n
: no signature present in PARes messageExample: 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 unavailableExample: 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 asAMOUNT
andORDERID
must be verified.’
Please see the dedicated section about notification and redirection
Notification result parameters
Exactly the same result parameters than 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
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[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]=372068397730000" \
--data "params[CARDCVV]=1234" \
--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
-
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][DISCOUNT] float
Applied discount in percentage. The decimal separator is the dot symbol.
Example: 10.5
-
CART[X][MERCHANTITEMID] string
Item ID in the merchant system.
Example: REF-123456
-
CART[X][NAME] string
Item name.
Example: Laser printer
-
CART[X][PRICE] int
Unit price in cents, including potential taxes and discounts.
Example: 20000
-
CART[X][QUANTITY] integer
Quantity of this item.
Example: 3
-
CART[X][SUBMERCHANTEXTERNALID] string(1-64)
Submerchant account identifier in the marketplace. This field allow a special value “OPERATOR” when the item is sold by the marketplace itself (and not a sub-merchant).
Example: shop1.com
-
CART[X][TAX] float
Applied taxes in percentage. The decimal separator is the dot symbol.
Example: 19.5
-
CART[X][TOTALAMOUNT] integer
Total amount based on PRICE, QUANTITY. Also FEES when applied.
Example: 60000
-
CLIENTADDRESS string(1-510)
The user’s address.
Example: 285 Fulton Street.
-
CLIENTDOB date(YYYY-MM-DD)
The user’s date of birth.
Example: 1982-06-20
-
CLIENTEMAIL email(5-255)
The user’s email.
Example: john.snow@example.com
-
CLIENTIDENT string(1-255)
Unique identifier of the user in your application (e.g. a login or a primary key).
Example: john.snow
-
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 withDISPLAYCREATEALIAS
. 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
-
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
-
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
-
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
-
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
-
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 than with hosted-fields integration.
Recurring payment / authorization
warning
In case of execcode 4018, fees could be applied for each new transaction attempt.
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[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][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
-
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
-
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 succeededauthorization
transaction and anauthorization
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’sAMOUNT
.
Example
Here is a server to server 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 theauthorization
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
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: Demo Shop
-
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
-
TRANSACTIONID string(1-32)
The
authorization
’sTRANSACTIONID
you want tocapture
.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 succeeded
payment
orcapture
transaction. A transaction can be refunded several times, up to the original transactionAMOUNT
.
Example
Here is a server to server request example:
$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \
--data "method=refund" \
--data "params[IDENTIFIER]=Demo Shop" \
--data "params[OPERATIONTYPE]=refund" \
--data "params[TRANSACTIONID]=A1123456" \
--data "params[ORDERID]=1234" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[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
-
HASH string(64)
The transaction’s hash as described in the dedicated section.
Example: 15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4
-
IDENTIFIER string(1-32)
Your processing account technical identifier.
Example: Demo Shop
-
OPERATIONTYPE
refund
The action you want to process.
Example: payment
-
ORDERID string(1-40)
Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)
Example: 1234
-
TRANSACTIONID string(1-32)
The
payment
orcapture
’sTRANSACTIONID
you want torefund
.Example: A1123456
-
VERSION
3.0
The API protocol version.
Example: 3.0
Request result
Here is the request result from the platform:
-
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.
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 server to server 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 tovoid
.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
Authentication (Safekey 3-D Secure)
For Safekey 3-D Secure transactions see the 3-D Secure section.
Market place
Please, see the dedicated section
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 | 374257088090000 |
0001 | 3-D Secure authentication required | Safekey enrolled card 378700810990001 |
4001 | Transaction declined by the banking network | 375956404454001 |
4010 | Invalid transaction | 377047923344010 |
4012 | Invalid card data | 376240783094012 |
5002 | Banking network error | 373406449535002 |
5004 | Time out, the response will be sent to the notification URL (only applicable for Visa / MasterCard direct connection) | 378654774645004 |