Introduction
Axerve Ecommerce Solutions API documentation aims to be a comprehensive and living catalog of Axerve services.
Our API is SOAP-based, so you must encode your requests in XML to communicate with Axerve Ecommerce Solutions.
For every service, we will present both the test and the production endpoints.
Our services are:
WSCryptDecrypt |
used to start (and end) the payment process. |
js_GestPay.js |
Mainly used to build a customized payment page. |
WSs2s |
Allows to control via a programmable interface many aspects of your transactions. |
Authorizing calls against Axerve Ecommerce Solutions
<Encrypt>
<shopLogin>GESPAY12345</shopLogin>
<!-- Use the apikey as a field of your call -->
<apikey>YZejApM8AfnBzmvmMsMIp0y1V91aakQY....</apikey>
...
</Encrypt>
Axerve Ecommerce Solutions supports two ways of authenticating your calls; via IP Address or via ApiKey. You can use at least one, or both.
If you use the IP Address authentication mechanism, you only have to specify this setting in the Merchant Back Office.
If you use the ApiKey, you must add for every call the field apiKey
. You can see an example on the side. Keep the ApiKey secret.
For more information, checkout the docs for Authentication.
How read documentation
The notation {...}
means that are required the value of certain type. For example, for every REST call you must provide a header with your merchant apikey, so this notation
Header | Value |
---|---|
Authorization |
apikey {merchant Api Key} |
means the header should look like
Authorization: apikey d3h8273gd87g8h34d78438dv4783d3874f
SOAP APIs
WSCryptDecrypt API
Axerve Ecommerce Solutions WsCryptDecrypt
web service is exposed at following URLs:
environment | URL |
---|---|
test | https://sandbox.gestpay.net/gestpay/GestPayWS/WsCryptDecrypt.asmx?wsdl |
production | https://ecommS2S.sella.it/gestpay/GestPayWS/WsCryptDecrypt.asmx?wsdl |
WSCryptDecrypt web service is available on production and test servers and does not require any installation on the merchant’s server.
The merchant must implement – in the page(s) of the virtual store configured to handle payments – a call to the webservice which handles requests to use the Axerve Ecommerce Solutions encryption service.
To request the encryption service you can call the Encrypt method.
If the encryption operation is concluded correctly (TransactionResult
tag value with OK), the encrypted data string returned by Axerve Ecommerce Solutions will be available by reading the value of the CryptDecryptString
tag.
If not, the values of the ErrorCode
and ErrorDescription
tag will make it possible to identify the reasons that prevented the encryption operation. To request the decryption service it is necessary to call the Decrypt
method, passing the shopLogin
and CryptedString
tags with the values communicated by Axerve Ecommerce Solutions.
The information containing the transaction result will be available by reading the information in the XML response file corresponding to the result of the transaction.
Encrypt
A valid
Encrypt
can be called with just these fields - very easy:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985.21</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
</Encrypt>
Characters and strings that must not be used within the parameters encoded by Axerve Ecommerce Solutions and in customised information are:
& (space) § ( ) *
< > , ; : *P1*
/ [ ] ? = --
/* % // ~ °
Encrypt
is the main entrypoint for Axerve Ecommerce Solutions. You must call Encrypt
either if you want to use the standard payment page, or the custom iframe solution.
These are the mandatory fields.
Name | max length | description |
---|---|---|
shopLogin |
30 | shopLogin (Mandatory) |
uicCode |
3 | Code identifying currency in which transaction amount is denominated - see Currency Codes table - (Mandatory) |
amount |
9 | Transaction amount. Do not insert thousands separator. Decimals, max. 2 numbers, are optional and separator is the point (Mandatory) |
shopTransactionId |
50 | Identifier attributed to merchant’s transaction (Mandatory) |
Here is an example where we use
customInfo
and other non-mandatory fields.
<Encrypt>
<shopLogin>9000001</shopLogin>
<apikey>YZejApM8AfnBzmvmMsMIp0y1V91aakQY....</apikey>
<uicCode>242</uicCode>
<amount>1245.6</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<buyerName>Mario Bianchi</buyerName>
<buyerEmail>mario.bianchi@isp.it</buyerEmail>
<customInfo>BV_CODCLIENTE=12*P1*BV_SESSIONID=398</customInfo>
<OrderDetails>
...
</OrderDetails>
<transDetails>
...
</transDetails>
</Encrypt>
These are non-mandatory fields, but are direct children of the Encrypt
root.
Name | max length | description |
---|---|---|
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
|
buyerName |
50 | Buyer’s name and surname. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)) |
buyerEmail |
50 | Buyer’s e-mail address. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)) |
languageId |
2 | Code identifying language used in communication with buyer |
customInfo 1 |
1000 | String containing specific information as configured in the merchant’s profile. See the next section for further explanations. |
OrderDetails |
a container ojbect of other data. It is used by Axerve Guaranteed Payment and by alternative payments. | |
transDetails |
object | Contians informations for 3DS 2.0 authentication |
1. Each field can be up to a maximum of 300 characters in length. See next section for further explanations.↩
- children of
transDetails
:
Name | Description | Format/length |
---|---|---|
type |
Transaction type. Possible values:
|
3 |
authenticationAmount |
3DS authentication amount. If not filled, the authentication amount used will be the amount of the transaction (amount field previously described). The authenticationAmount should be equal or higher than amount, otherwise it will be ignored and the authentication will be made using the amount value. If the authenticationAmount field is used and it is higher than the transaction amount, it is recommended to notify the buyer that the authentication amount will differ from the authorization amount. | max 9 (see the amount field) |
threeDsContainer |
Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience | object |
recurringTransaction |
Contains informations necessary in case of recurring payment | object |
expiry |
Required for Recurring Payments. Date after which no further transaction shall be performed. Format: YYYYMMDD |
8 |
frequency |
Required for Recurring Payments. It indicates the minimum number of days between two transactions of the same plan | 4 |
previousTransDetails |
Contains the details of a previous authenticated transaction for the same cardholder on the same merchant. If present, it can help to increase the chances of a frictionless authentication | object |
authData |
Prior Transaction Authentication Data | string |
authMethod |
Prior Transaction Authentication Method. Possible values:
|
2 |
authTimestamp |
Prior Transaction Authentication Timestamp. Format: YYYYMMDDHHMM |
12 |
acsID |
Prior Transaction Authentication Reference (ACS Transaction ID) | 36 |
bankTransactionID |
Prior Transaction Bank ID (if it was managed by Axerve Ecommerce Solutions) | 18 |
XID |
Prior Transaction unique ID assigned by Directory Server | 36 |
Sending custom data to Axerve Ecommerce Solutions: <customInfo>
The information included in
customInfo
will follow this form:
<customInfo>datum1=value1*P1*datum2=value2*P1* ... *P1*datumN=valueN</customInfo>
Formally, it is a string containing couples of
"key"="value"
separated by the special string*P1*
.
<customInfo>
is a special Axerve Ecommerce Solutions field; it is used to send custom merchant-defined parameters that Axerve Ecommerce Solutions will not touch. You can store everything, as long as the data respects the syntax described on the right.
The maximum length of the field is 1000 characters, and each individual parameter can be max 300 characters.
To start sending custom parameters, you must configure Axerve Ecommerce Solutions to receive them. This can be done in the backoffice, in Payment Page -> Fields & Parameters -> Add Parameter. Here you can configure some aspects of this parameter, for example if has to be returned by the Decrypt
webservice. Don’t forget to populate the languages section.
With this customization, you can send all the parameters you want, as long they fit the 1000 characters length. To read more about custom parameters, refer to the documentation.
Card On File
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>CREDITCARD</paymentType>
</paymentTypes>
<cof>Y</cof>
<Encrypt>
By filling this field with value “Y” you are stating that the card number used in this transaction has been saved on your system following the full PCI compliance. Saving card data may be useful for recurring payments or one-click payments since your customer is not required to enter card data.
If you are not PCI compliant, you can rely on the Axerve tokenization system. If you already use the Axerve tokenization system (see the RequestToken paragraph below) you should not fill this field out.
Name | max length | description |
---|---|---|
cof |
1 | Card On File flag, Y for “Card On File” transaction, null or other values for no “Card On File” transaction. |
RequestToken
RequestToken
example we are requesting a token to store the payment data.
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<requestToken>MASKEDPAN</requestToken>
</Encrypt>
You can request a token that will represent the credit card for your website. You can use it later to handle recurring payments, or to avoid your customer to insert again his credit card data. This behaviour is compliant with PCI. Read more here.
Name | max length | description |
---|---|---|
requestToken 2 |
25 | MASKEDPAN for a Standard Token any other value for Custom Token. Using :FORCED: before the token, it’s possible to have the token even if the transaction is not authorized. |
2. Required only when a Token is needed within the transaction response.↩
PaymentTypes
If you want to enable only Credit Card for this payment, you can send the request like this:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>CREDITCARD</paymentType>
</paymentTypes>
<Encrypt>
If you only specify one payment type, Axerve Ecommerce Solutions won’t show the payment page but will redirect directly to the third party payment page:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>CREDITCARD</paymentType>
</paymentTypes>
<Encrypt>
Axerve Ecommerce Solutions provides a way for merchants to dinamically define which payment methods must be displayed for each transaction.
In order to do that, merchants must properly set the tag paymentType
that can be repeated as many times as needed, inside the tag paymentTypes
(with a final “s”).
Name | max length | description |
---|---|---|
paymentTypes |
container of one or more paymentType |
|
paymentType |
25 | Set of tags to set the visibility of payment systems on payment page (see Payment Type Codes table) |
Encrypt result
A succesful
Encrypt
call would be like this:
<EncryptResult>
<GestPayCryptDecrypt>
<TransactionType>ENCRYPT</TransactionType>
<TransactionResult>OK</TransactionResult>
<CryptDecryptString>897543..</CryptDecryptString>
<ErrorCode>0</ErrorCode>
<ErrorDescription/>
</GestPayCryptDecrypt>
</EncryptResult>
Encrypt
web service returns back the following information in xml:
Name | max length | description |
---|---|---|
TransactionType |
7 | Decode the transaction type request (DECRYPT , ENCRYPT ) |
TransactionResult |
2 | Transaction result (OK / KO ) |
CryptDecryptString |
….. | Encrypted string get by parameter set in the xml request |
ErrorCode |
9 | Error code |
ErrorDescription |
255 | Error description |
Decrypt
A
Decrypt
request:
<Decrypt>
<shopLogin>9000001</shopLogin>
<CryptedString>HT987YU....</CryptedString>
...
</Decrypt>
Axerve Ecommerce Solutions communicates the payment transaction result to the merchant through an encrypted string (parameter b of the call to the url preconfigured by the merchant) with a set of transaction’s informations.
To Decrypt the data it is necessary to use Decrypt method passing the following parameters, the tags’ names are case sensitive:
Name | max length | description |
---|---|---|
shopLogin |
30 | Shop Login |
CryptedString |
…… | Encrypted string get by parameter b of the call to the url preconfigured by the merchant |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Decrypt result
Axerve Ecommerce Solutions authenticates the calling server and checks the encrypted data string. If the checks are passed, it returns an unencrypted data string containing the transaction result:
<DecryptResult>
<GestPayCryptDecrypt xmlns="">
<TransactionType>DECRYPT</TransactionType>
<TransactionResult>OK</TransactionResult>
<ShopTransactionID>34az85ord19</ShopTransactionID>
<BankTransactionID>656</BankTransactionID>
<AuthorizationCode>983RT4</AuthorizationCode>
<Currency>242</Currency>
<Amount>985.40</Amount>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
<RiskResponseCode>created</RiskResponseCode>
<RiskResponseDescription/>
</GestPayCryptDecrypt>
</DecryptResult>
Decrypt webservice returns back the following information in the xml.
The minimum information returned back as transaction result is marked in bold.
Name | max length | description |
---|---|---|
TransactionType |
7 | Decode the transaction type request (DECRYPT , ENCRYPT ) |
TransactionResult |
2 | Transaction result (OK /KO ) |
ShopTransactionID |
50 | Identifier attributed to merchant’s transaction |
BankTransactionID |
9 | Identifier attributed to the transaction by Axerve Ecommerce Solutions |
AuthorizationCode |
6 | Transaction authorisation code |
Currency |
3 | Code identifying currency in which transaction amount is denominated (see Currency Codes table) |
Amount |
9 | Transaction amount. Decimals (max. 2 numbers) are optional and separator is the point (see examples) |
Country |
30 | Nationality of the issuing card institute |
CustomInfo |
1000 | String that has the specific information as configured in themerchant’s profile. Each field can be up to a maximum of 300 characters in length. |
Buyer.BuyerName |
50 | Buyer’s name and surname |
Buyer.BuyerEmail |
50 | Buyer’s e-mail address |
TDLevel |
255 | Level of authentication for VBV Visa / Mastercard Securecode transactions. The string may have the value FULL or HALF |
ErrorCode |
9 | Error code |
ErrorDescription |
255 | Error description (localized in your language) |
AlertCode |
9 | Alert code. See Better Risk Management for an accurate description. |
AlertDescription |
255 | Alert description in chosen language. See Better Risk Management for an accurate description. |
CVVPresent |
1 | Credit Card security code flag |
MaskedPAN |
25 | Masked Pan string |
PaymentMethod |
100 | Indicates the used Payment Method |
TOKEN |
25 | String containing the token value |
ProductType |
100 | String containing Card Type |
TokenExpiryMonth |
2 | String containing the token expiry month |
TokenExpiryYear |
2 | String containing the token expiry year |
TransactionKey |
18 | Transaction identifier for 3D transactions. Not used in transactions managed with the Payment Page. It is useful only in Server-Server transactions |
VbV |
2 | Verified By Visa Flag |
VbVRisp |
Encrypted string containing information for 3D- Secure transactions. Not used in transactions managed with the Payment Page. It is useful only in Server-Server transactions | |
VbVBuyer |
2 | Information about the enrolment of the buyer’s card to 3D-Secure protocol: OK means that the card is enrolled, KO means that the card is not enrolled |
VbVFlag |
2 | Information about the 3D-Secure status. Not used in transactions managed with the Payment Page. It is useful only in Server-Server transactions. |
RiskResponseCode |
10 | Risk Fraud Score of the transaction, given by Axerve Guaranteed Payment. Possible values are:
|
RiskResponseDescription |
255 | Risk Description of the RiskResponseCode |
ThreeDS sandbox |
Object | Object with information about 3ds authentication (described below) |
Other information is defined as optional and will be returned according to the merchant’s profile settings made in the Axerve Back Office environment.
A transaction result can be interpreted by verifying the TransactionResult
field value. The possible values are:
Transaction Result | Description |
---|---|
OK |
Positive transaction result |
KO |
Negative transaction result |
XX |
Suspended transaction result. This is not a final result: Axerve Ecommerce Solutions will send XX when the outcome is asynchronous. Right now these systems are MyBank , Sofort , IDeal , Bank Transfer . In the future, this code might be returned with other payment systems (bitcoins, for example). A new communication will be provided to the merchant when the transaction will assume the final OK /KO status. If you receive a XX code, don’t send your goods but wait to receive the actual payment. The customer with XX transaction is redirect to URL for positive response. |
The ThreeDS sandbox object contains two objects:
authenticationResult
with these children
Name | max length | description |
---|---|---|
authenticationLevel |
2 | Transaction is successfully athenticated by 3DS:
|
authenticationStatus |
1 | Status of authentication |
authStatusReason |
2 | Provides information on why the Transaction Status field has the specified value |
XID |
36 | Transaction unique id assigned by Directory Server |
AV |
28 | Cardholder Authentication Verification Value, proof of authentication done |
ECI |
2 | Electronic Commerce Indicator |
AVAlgorithm |
2 | Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 |
threeDsVersion |
8 | EMVco protocol version identifier |
transDetails
with these children
Name | max length | description |
---|---|---|
authData |
string | Transaction Authentication Data |
authMethod |
2 | Transaction Authentication Method Possible values:
|
authTimestamp |
12 | Transaction Authentication Timestamp |
acsID |
36 | ACS Transaction ID |
WsS2S API
Server to Server communication between merchants and Axerve Ecommerce Solutions is managed by consuming WSs2s SOAP web service.
Consuming WSs2s methods allow merchants to send requests and retrieve responses in XML format.
- Test environment url:
https://sandbox.gestpay.net/gestpay/gestpayws/WSs2s.asmx?WSDL
- Production environment url:
https://ecomms2s.sella.it/gestpay/gestpayws/WSs2s.asmx?WSDL
callPagamS2S
This service performs an authorization request.
Merchants can use this method to perform the transaction, passing all the parameters useful to define all the transaction’s features.
Request parameters
request example:
<callPagamS2S>
<shopLogin>9000002</shopLogin>
<uicCode>242</uicCode><!-- euro -->
<amount>24.21</amount>
<shopTransactionId>MYSHOP-0001</shopTransactionId>
<!-- here we have choosen to pay with credit card data -->
<cardNumber>1234567812345678</cardNumber>
<expiryMonth>06</expiryMonth>
<expiryYear>21</expiryYear>
<!-- if we wanted to pay by token:
<tokenValue>ABCD12345678EFGD</tokenValue>
-->
<buyerName>John Fitzgerald Kennedy</buyerName>
<buyerEmail>johnny.kennedy@usa.com</buyerEmail>
<languageId>2</languageId><!-- english -->
<cof>Y</cof>
<cvv>987</cvv>
<PARes />
<transKey />
<customInfo></customInfo>
<requestToken>MASKEDPAN</requestToken>
<itemType>physical</itemType>
<recurrent>false</recurrent>
<executionDate>20200828</executionDate>
<shippingDetails>
<shipToName>Jonny Kennedy</shipToName>
<shipToStreet>83 Beals street</shipToStreet>
<shipToCity>Brookline</shipToCity>
<shipToState>MA</shipToState>
<shipToCountryCode>US</shipToCountryCode>
<shipToZip>02446</shipToZip>
<shipToStreet2 />
</shippingDetails>
<OrderDetails>
...
</OrderDetails>
<transDetails>
...
</transDetails>
</callPagamS2S>
First we describe the mandatory attributes.
Name | Description | Data Type | max length |
---|---|---|---|
shopLogin |
shopLogin value | string | 30 |
uicCode |
currency code | number | 3 |
amount |
the amount of the transaction | numeric | 9 |
shopTransactionId |
shop transaction ID value | string | 50 |
Depending on the payment method, you can choose to send Credit Card data:
Name | Description | Data Type | max length |
---|---|---|---|
cardNumber |
card account number | string | 50 |
expiryMonth |
card expiration month | string | 2 |
expiryYear |
card expiration year | string | 2 |
Or a token:
Name | Description | Data Type | max length |
---|---|---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. In case of PayPalBillingAgreement this token value is the token returned by PayPal during the Billing Agreements. |
string | 25 |
The following features may be optionally assigned:
Name | Description | Data Type | max length |
---|---|---|---|
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
||
buyerEmail |
buyer’s e-mail address. Using :NOSEND: before the email address, it’ s possible to pass the email information but avoid to send an email to the buyer. this field is Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)). |
string | 50 |
buyerName |
buyer’s name. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)). | string | 50 |
customInfo |
A string containing optional customised parameters. See customInfo section for more details. | string | 1000 |
cvv |
security code of the card. Refer to this page to enable and use it. | string | 4 |
cof |
Card On File flag, Y for “Card On File” transaction, null or other values for no “Card On File” transaction. See the Card On File section for more information. |
string | 1 |
languageId |
language to use for e-mails to the buyer | number | 2 |
PARes |
encrypted string returned by Issuer (for 3D-Secure transactions only. See 3D-secure transactions for more details.) | string | 4096 |
transKey |
transaction ID value for 3D-Secure transactions. See 3D-secure transactions for more details. | number | 18 |
requestToken |
MASKEDPAN for a Standard Token any other value for Custom Token |
string | 25 |
clientIP |
For PayPal Billing Agreements it is required only in “one click” mode transaction. For AMEX transaction not in Euro, in this field the merchant could provide the client IP address to activate the Enhanced Authorization AAV. Mandatory if you use Axerve Guaranteed Payment with S2S. |
string | 45 |
itemType |
Item Category: digital /physical (If physical the ShippingDetails have to be filled) |
string | 250 |
recurrent |
true if it’s a recurrent payment, false if not. | boolean | 5 |
executionDate |
Date of charge on the buyer’s banking account. (SEPA) | date | 7 |
shippingDetails |
contains the shipping address. Used for paypal seller protection. | ||
OrderDetails |
contains every other info needed to handle the payment. It is used by Axerve Guaranteed Payment. | ||
transDetails |
Contians informations for 3DS 2.0 authentication | object | - |
executionDate
allows the merchant to define the date of charge on the buyer’s banking account. To follow SEPA rules, if the date it’s not on a working day, the charge will be postponed to the next working day. It must be in yyyymmdd
format
- children of
ShippingDetails
:
shipToName |
shipping name | string | 32 |
shipToStreet |
shipping address | string | 100 |
shipToState |
shipping state (see Paypal State Codes table) | string | 40 |
shipToCountryCode |
shipping country code (see Paypal Country Codes table) | string | 2 |
shipToZip |
the shipping Zip | string | 20 |
shipToStreet2 |
an additional field for the shipping address | string | 200 |
- children of
transDetails
:
Name | Description | Format/length |
---|---|---|
type |
Transaction type. Possible values:
|
3 |
authenticationAmount |
3DS authentication amount. If not filled, the authentication amount used will be the amount of the transaction (amount field previously described). The authenticationAmount should be equal or higher than amount, otherwise it will be ignored and the authentication will be made using the amount value. If the authenticationAmount field is used and it is higher than the transaction amount, it is recommended to notify the buyer that the authentication amount will differ from the authorization amount. | max 9 (see the amount field) |
threeDSAuthResult |
Result of the 3DS authentication done with another provider (Axerve will manage the authorization request, considering the 3DS phase already completed) | object |
authenticationLevel |
Transaction is successfully authenticated by 3DS:
|
2 |
authenticationStatus |
Status of the authentication | 1 |
XID |
Transaction unique id assigned by Directory Server | 36 |
AV |
Cardholder Authentication Verification Value, proof of authentication done | 28 |
ECI |
Electronic Commerce Indicator | 2 |
AVAlgorithm |
Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 | 2 |
threeDsVersion |
EMVco protocol version identifier | 8 |
threeDsContainer |
Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience | object |
recurringTransaction |
Contains informations necessary in case of recurring payment | object |
expiry |
Required for Recurring Payments. Date after which no further transaction shall be performed. Format: YYYYMMDD |
8 |
frequency |
Required for Recurring Payments. It indicates the minimum number of days between two transactions of the same plan | 4 |
previousTransDetails |
Contains the details of a previous authenticated transaction for the same cardholder on the same merchant. If present, it can help to increase the chances of a frictionless authentication | object |
authData |
Prior Transaction Authentication Data | string |
authMethod |
Prior Transaction Authentication Method. Possible values:
|
2 |
authTimestamp |
Prior Transaction Authentication Timestamp. Format: YYYYMMDDHHMM |
12 |
acsID |
Prior Transaction Authentication Reference (ACS Transaction ID) | 36 |
bankTransactionID |
Prior Transaction Bank ID (if it was managed by Axerve Ecommerce Solutions) | 18 |
XID |
Prior Transaction unique ID assigned by Directory Server | 36 |
Response fields
response example:
<GestPayS2S xmlns="">
<TransactionType>PAGAM</TransactionType>
<TransactionResult>OK</TransactionResult>
<ShopTransactionID>MYSHOP-0001</ShopTransactionID>
<BankTransactionID>65</BankTransactionID>
<AuthorizationCode>365530</AuthorizationCode>
<Currency>242</Currency>
<Amount>24.21</Amount>
<Country>US</Country>
<Buyer>
<BuyerName>John Fitzgerald Kennedy</BuyerName>
<BuyerEmail>johnny.kennedy@usa.com</BuyerEmail>
</Buyer>
<CustomInfo/>
<TDLevel/>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
<AlertCode/>
<AlertDescription/>
<TransactionKey>579428899</TransactionKey>
<VbV>
<VbVFlag>KO</VbVFlag>
<VbVBuyer/>
<VbVRisp/>
</VbV>
<MaskedPAN>40L76FDIEFMH1112</MaskedPAN>
<PaymentMethod>VISA VBV</PaymentMethod>
<ProductType></ProductType>
<CVVPresent>Y</CVVPresent>
<TOKEN>40L76FDIEFMH1112</TOKEN>
<TokenExpiryMonth></TokenExpiryMonth>
<TokenExpiryYear></TokenExpiryYear>
<tokenDetails>
<tokenValue>40L76FDIEFMH1112</tokenValue>
<tokenExpiryMonth >02</tokenExpiryMonth >
<tokenExpiryYear >23</tokenExpiryYear >
<tokenProvider />
<cardDetails>
<cardExpiryMonth />
<cardExpiryYear />
<cardHolderName />
<cardSuffix />
</cardDetails>
<cardAssets>
<cardArt>
<height />
<mediaContents />
<type />
<width />
</cardArt>
<brandLogo>
<height />
<mediaContents />
<type />
<width />
</brandLogo>
</cardAssets>
</tokenDetails>
<PayPalFee></PayPalFee>
<RiskResponseCode>approved</RiskResponseCode>
<RiskResponseDescription>the transaction is approved</RiskResponseDescription>
<ThreeDS>
<authenticationResult>
<authenticationLevel></authenticationLevel>
<authenticationStatus />
<authStatusReason />
<XID />
<AV />
<ECI></ECI>
<AVAlgorithm />
<threeDsVersion></threeDsVersion>
</authenticationResult>
<transDetails>
<authData />
<authMethod />
<authTimeStamp />
<acsID />
</transDetails>
</ThreeDS>
</GestPayS2S>
Name | Description |
---|---|
TransactionType |
PAGAM in response to CallPagamS2S |
TransactionResult |
Returns transaction result with OK or KO |
shopTransactionID |
shop transaction ID value |
BankTransactionID |
code given by bank to transaction |
AuthorizationCode |
authorisation code |
Currency |
currency code |
Country |
nationality of the card issuer |
CustomInfo |
custom parameters, if passed to the request |
BuyerType |
Returns address name and e-mail of thebuyer divided as follows:
|
ErrorCode |
a code related to the transaction result |
ErrorDescription |
the description connected to the ErrorCode value |
AlertCode |
the violation code of the risk management criteria. See Better Risk Management for an accurate description. |
AlertDescription |
the description connected to the AlertCode value. See Better Risk Management for an accurate description. |
Amount |
the amount of the transaction |
TransKey |
transaction ID value for 3D-Secure transactions |
VBV |
Returns the values for 3D-Secure as follows:
|
MaskedPAN |
this field returns a token (to not confuse with TOKEN ) that should not be stored or used as a credit card token. With this parameter the merchant can assess some risk management analisys, for example he can check if the same MaskedPAN has already done some purchases or is involved in frauds. |
PaymentMethod |
the credit card circuit / payment system used |
ProductType |
can be Credit , Debit , or empty. |
CVVPresent |
Y if the CVV is present, N if not. |
TOKEN |
contains a token that represents the credit card number. See Handling Subscriptions in the docs. |
TokenExpiryMonth |
the token exiration month |
TokenExpiryYear |
the token expiration year |
PayPalFee |
the fee owed to paypal. |
TDLevel |
Level of authentication for 3D-Secure transactions. FULL or HALF |
RiskResponseCode |
Risk Fraud Score of the transaction, given by Axerve Guaranteed Payment. Possible values are:
|
ThreeDS sandbox |
Object with information about 3ds authentication (described below) |
The ThreeDS sandbox object contains three object:
authenticationResult
with these children
Name | max length | description |
---|---|---|
authenticationLevel |
2 | Transaction is successfully athenticated by 3DS:
|
authenticationStatus |
1 | Status of authentication |
authStatusReason |
2 | Provides information on why the Transaction Status field has the specified value |
XID |
36 | Transaction unique id assigned by Directory Server |
AV |
28 | Cardholder Authentication Verification Value, proof of authentication done |
ECI |
2 | Electronic Commerce Indicator |
AVAlgorithm |
2 | Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 |
threeDsVersion |
8 | EMVco protocol version identifier |
transDetails
with these children
Name | max length | description |
---|---|---|
authData |
string | Transaction Authentication Data |
authMethod |
2 | Transaction Authentication Method Possible values:
|
authTimestamp |
12 | Transaction Authentication Timestamp |
acsID |
36 | ACS Transaction ID |
InAppChallenge
(These fields are set and useful only in app integration)
Name | Description |
---|---|
threeDSServerTransID |
Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction. |
acsSignedContent |
Contains the JWS object (represented as a string) created by the ACS for the ARes message. |
acsTransID |
Universally Unique transaction identifier assigned by the ACS to identify a single transaction. |
acsURL |
Fully qualified URL of the ACS to be used for the challenge. |
cardholderInfo |
Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction. The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.” |
messageExtension |
Data necessary to support requirements not otherwise defined in the 3- D Secure message are carried in a Message Extension. |
sdkTransID |
Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction |
tokenDetails
details:
Name | Description |
---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
tokenExpiryMonth |
The token expiration month. |
tokenExpiryYear |
The token expiration year. |
tokenProvider |
The entity providing the token. It can be: AXERVE , VISA , MASTERCARD , PAYPAL , AMAZON , APPLE , SEPADD . |
cardDetails.cardSuffix |
The last 4 digit of the card PAN. |
cardDetails.cardExpiryMonth |
The card expiry month. |
cardDetails.cardExpiryYear |
The card expiry Year. |
cardDetails.cardHolderName |
The cardholder name. |
cardAssets.cardArt.type |
The file format of the card art (card image) |
cardAssets.cardArt.mediaContents |
The card image (Base64) |
cardAssets.cardArt.height |
The card art (card image) height |
cardAssets.cardArt.width |
The card art (card image) width |
cardAssets.brandLogo.type |
The file format of the brand logo (e.g. Visa, Mastercard, etc..) |
cardAssets.brandLogo.mediaContents |
The brand logo (e.g. Visa, Mastercard, etc..) image (Base64) |
cardAssets.brandLogo.height |
The brand logo (e.g. Visa, Mastercard, etc..) height |
cardAssets.brandLogo.width |
The brand logo (e.g. Visa, Mastercard, etc..) width |
CallSettleS2S
This is the financial confirmation operation which may follow a positive authorisation.
It exists only for merchants with a M.O.T.O. configuration when a separation between the authorisation and the settlement phase is anticipated.
Merchants can use this method to settle the transaction. Since it’s possible to settle only a part of the amount, the amount value has to be passed.
Request details
Request example:
<callSettleS2S>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>55.00</amount>
<shopTransID>MYSHOP-00142</shopTransID>
<bankTransID>159247522</bankTransID>
<settlementID></settlementID>
<FullFillment>
<FullFillmentlst>
<FullfillmentDetail>
<Status>success</Status>
<TrackingCompany>Shippers, Inc.</TrackingCompany>
<TrackingNumbers>GD-52563-2233-4422</TrackingNumbers>
<TrackingUrls>www.shippers.com/track?id=GD-52563-2233-4422</TrackingUrls>
<Message>items in stock</Message>
<Receipt>s.f. 351</Receipt>
<ProductDetails>
<ProductCode>223311</ProductCode>
<SKU>ART-244742-1231</SKU>
<Name>Unicorn</Name>
<Description>a horse with a horn</Description>
<Quantity>1</Quantity>
<Price>3500</Price>
<UnitPrice>3500</UnitPrice>
<Type>horse</Type>
<Vat>22</Vat>
<Discount>0</Discount>
<RequiresShipping>true</RequiresShipping>
<Condition>new</Condition>
<Seller>Flying Horses</Seller>
<Category>Horse</Category>
<SubCategory>Special Horse</SubCategory>
<Brand>Custom</Brand>
<DeliveryAt>19/05/2016</DeliveryAt>
</ProductDetails>
</FullfillmentDetail>
</FullFillmentlst>
</FullFillment>
</callSettleS2S>
Parameters in bold are mandatory.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
amount |
amount | number | 9 |
uicCode |
currency code | number | 3 |
bankTransID |
BankTransactionID assigned to the transaction | number | 18 |
shopTransID |
shop transaction ID value | string | 50 |
settlementID |
Optional identifier of the settlement | string | 20 |
FullFillment |
An object describing the final fulfillment status of an order. | ||
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
FullFillment
tag must be filled if you are using Axerve Guaranteed Payment, an anti fraud evaluating system. If you are not using it, you can skip this.
When you settle a payment, Axerve Guaranteed Payment wants to be notified that an existing order has been fulfilled, both the success and error case.
FillFillment
contains a FullFillmentlst
that contains one or more FullfillmentDetail
, whose fields are:
parameter name | description |
---|---|
Status |
|
TrackingCompany |
the name of the shipping company |
TrackingNumbers |
A list of shipping numbers, provided by the shipping company. |
TrackingUrls |
The URLs to track the fulfillment. |
Message |
Additional textual description regarding the fulfillment status. |
Receipt |
Information about the Receipt |
ProductDetails |
container object that contains info about the fulfilled item. |
Here is a description of the children of ProductDetails
:
parameter name | description |
---|---|
ProductCode |
Article’s product Code |
SKU |
Article’s Stock Keeping Unit |
Name |
Article’s name |
Description |
Article’s description |
Quantity |
The number of products |
Price |
Article’s price |
UnitPrice |
Article’s Unit price |
Type |
The type of article: digital , downloadable , physical ,composite , event , travel |
Vat |
Value-Added Tax (the value of the tax) |
Discount |
|
RequiresShipping |
boolean, States whether or not the fulfillment requires shipping. This field is important for merchants dealing with digital goods. |
Condition |
Description of the physical condition of the item, mostly relevant for used items. |
Seller |
Details about the seller of the item, relevant for marketplace orders. |
Category |
The category of the item. For event tickets: the category of the event. |
SubCategory |
The sub-category of the item. For event tickets: the sub-category of the event. |
Brand |
The brand name of the item. |
DeliveryAt |
The planned delivery date of the product or item. |
Response details
Response example:
<callSettleS2SResponse xmlns="https://ecomms2s.sella.it/">
<callSettleS2SResult>
<GestPayS2S>
<TransactionType>Settle</TransactionType>
<TransactionResult>OK</TransactionResult>
<ShopTransactionID>MYSHOP-00142</ShopTransactionID>
<BankTransactionID>159247522</BankTransactionID>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
</GestPayS2S>
</callSettleS2SResult>
</callSettleS2SResponse>
parameter name | description |
---|---|
TransactionType |
for CallSettleS2S , the value will be Settle |
TransactionResult |
OK or KO |
BankTransactionID |
Bank transaction ID assigned to the transaction |
ShopTransactionID |
Shop transaction ID value assigned to the transaction |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
CallDeleteS2S
This operation deletes an authorized transaction.
It exists only for merchants with a M.O.T.O. configuration when a separation between the authorisation and the settlement phase is anticipated.
Request details
Request example:
<callDeleteS2S>
<shopLogin>9000001</shopLogin>
<shopTransactionId>MYSHOP-4838</shopTransactionId>
<bankTransactionId>334488931</bankTransactionId>
<CancelReason>potential fraud</CancelReason>
</callDeleteS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
bankTransactionId |
ID of the transaction assigned by Axerve Ecommerce Solutions | number | 18 |
shopTransactionId |
shop transaction ID value | string | 50 |
CancelReason |
free text of cancel reason. For Axerve Guaranteed Payment users, this field is mandatory. | string | 50 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<callDeleteS2SResponse xmlns="https://ecomms2s.sella.it/">
<callDeleteS2SResult>
<GestPayS2S>
<TransactionType>Delete</TransactionType>
<TransactionResult>OK</TransactionResult>
<ShopTransactionID>MYSHOP-00142</ShopTransactionID>
<BankTransactionID>159247522</BankTransactionID>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione ritirata</ErrorDescription>
</GestPayS2S>
</callSettleS2SResult>
</callSettleS2SResponse>
parameter name | description |
---|---|
TransactionType |
for CallDeleteS2S , the value will be Delete |
TransactionResult |
OK or KO |
BankTransactionID |
Bank transaction ID assigned to the transaction |
ShopTransactionID |
Shop transaction ID value assigned to the transaction |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
CallRefundS2S
Merchants can use this method to perform a partial or complete transaction amount refund.
Request details
Request example:
<callRefundS2S>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>55.00</amount>
<shopTransactionId>MYSHOP-00142</shopTransactionId>
<bankTransactionId>159247522</bankTransactionId>
<settlementID></settlementID>
<RefundReason>item our of stock</RefundReason>
<chargeBackFraud>N</chargeBackFraud>
<OrderDetail>
<ProductDetails>
...
</ProductDetails>
</OrderDetail>
</callRefundS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
bankTransactionId |
ID of the transaction assigned by Axerve Ecommerce Solutions | number | 18 |
shopTransactionId |
shop transaction ID value | string | 50 |
amount |
the amount to refund | number | 9 |
uicCode |
currency code | numeric | 3 |
settlementID |
Optional identifier of the settlement | string | 20 |
RefundReason |
a free-text reason for the refund. Used with fraud protection. | string | 50 |
chargeBackFraud |
Flag for risk:
|
||
orderDetail.ProductDetails |
in case you are using Klarna, fill this fields with info about the products that are refunded. A description of this field is in OrderDetails. | ||
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<callRefundS2SResponse xmlns="https://ecomms2s.sella.it/">
<callRefundS2SResult>
<GestPayS2S>
<TransactionType>Refund</TransactionType>
<TransactionResult>OK</TransactionResult>
<ShopTransactionID>MYSHOP-00142</ShopTransactionID>
<BankTransactionID>159247522</BankTransactionID>
<ErrorCode>0</ErrorCode>
<ErrorDescription/>
</GestPayS2S>
</callRefundS2SResult>
</callRefundS2SResponse>
parameter name | description |
---|---|
TransactionType |
for CallRefundS2S , the value will be Refund |
TransactionResult |
OK or KO |
BankTransactionID |
Bank transaction ID assigned to the transaction |
ShopTransactionID |
Shop transaction ID value assigned to the transaction |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
CallReadTrxS2S
This method will return the transaction status.
This method can be called with a mandatory shopLogin
, then it’s possible to pass shopTransactionId
or bankTransactionId
or both. If only shopLogin
and shopTransactionId
are passed, it’s mandatory that the last one is unique.
Request details
Example request:
<callReadTrxS2S>
<shopLogin>9000001</shopLogin>
<shopTransactionId>MYSHOP-4838</shopTransactionId>
<bankTransactionId>334488931</bankTransactionId>
</callReadTrxS2S>
Parameters in bold are mandatory.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
bankTransactionId |
ID of the transaction assigned by Axerve Ecommerce Solutions | number | 18 |
shopTransactionId |
shop transaction ID value | string | 50 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example
<callReadTrxS2SResult>
<GestPayS2S xmlns="">
<TransactionType>QUERYTX</TransactionType>
<TransactionResult>OK</TransactionResult>
<TransactionState>CAN</TransactionState>
<ShopTransactionID>MYSHOP-4838</ShopTransactionID>
<BankTransactionID>334488931</BankTransactionID>
<AuthorizationCode>971773</AuthorizationCode>
<Currency>242</Currency>
<Country>ITALIA</Country>
<Company>MASTERCARD SECURECODE</Company>
<TDLevel>FULL</TDLevel>
<Events>
<event>
<eventtype>AUT</eventtype>
<eventamount>0.10</eventamount>
<eventdate>19/08/16 16:13:14</eventdate>
<eventARN></eventARN>
<eventID></eventID>
</event>
<event>
<eventtype>CAN</eventtype>
<eventamount>0.10</eventamount>
<eventdate>20/08/16 00:13:57</eventdate>
<eventARN></eventARN>
<eventID></eventID>
</event>
</Events>
<Buyer>
<BuyerName/>
<BuyerEmail/>
</Buyer>
<RISK>
<RiskResponseCode>approved<RiskResponseCode>
<RiskResponseDescription/>
</RISK>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transaction correctly processed</ErrorDescription>
<AlertCode/>
<AlertDescription/>
</GestPayS2S>
</callReadTrxS2SResult>
Response example for Amazon Pay
<callReadTrxS2SResult>
<GestPayS2S xmlns="">
<TransactionType>QUERYTX</TransactionType>
<TransactionResult>OK</TransactionResult>
<TransactionState>MOV</TransactionState>
<ShopTransactionID>af22</ShopTransactionID>
<BankTransactionID>117</BankTransactionID>
<AuthorizationCode>008152</AuthorizationCode>
<Currency>242</Currency>
<Country/>
<Company>AMAZONPAY</Company>
<TDLevel/>
<Events>
<event>
<eventtype>AUT</eventtype>
<eventamount>10.00</eventamount>
<eventdate>13/11/17 11:32:45</eventdate>
<eventARN></eventARN>
<eventID></eventID>
</event>
<event>
<eventtype>MOV</eventtype>
<eventamount>10.00</eventamount>
<eventdate>13/11/17 11:32:45</eventdate>
<eventARN></eventARN>
<eventID></eventID>
</event>
</Events>
<Buyer>
<BuyerName/>
<BuyerEmail/>
</Buyer>
<RISK>
<RiskResponseCode/>
<RiskResponseDescription/>
</RISK>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
<AlertCode/>
<AlertDescription/>
<!-- Here you'll see buyer'
shipping and billing address
for Amazon Pay -->
<OrderReferenceDetails>
<OrderReferenceStatus>
<State>Draft</State>
</OrderReferenceStatus>
<OrderLanguage>it-IT</OrderLanguage>
<Destination>
<DestinationType>Physical</DestinationType>
<PhysicalDestination>
<StateOrRegion>BI</StateOrRegion>
<Phone>33333333</Phone>
<City>BIELLA</City>
<CountryCode>IT</CountryCode>
<PostalCode>13900</PostalCode>
<Name>Marco Rossi</Name>
<AddressLine1>via Gobe 15</AddressLine1>
</PhysicalDestination>
</Destination>
<ExpirationTimestamp>2018-05-13T07:24:02.186Z</ExpirationTimestamp>
<IdList/>
<SellerOrderAttributes>
<SellerOrderId>4354395804398dkfjlhsdfk</SellerOrderId>
</SellerOrderAttributes>
<OrderTotal>
<CurrencyCode>EUR</CurrencyCode>
<Amount>10.00</Amount>
</OrderTotal>
<Buyer>
<Name>Ale</Name>
<Email>marco.rossi@email.it</Email>
</Buyer>
<ReleaseEnvironment>Sandbox</ReleaseEnvironment>
<AmazonOrderReferenceId>S02-0319513-4657042</AmazonOrderReferenceId>
<CreationTimestamp>2017-11-14T07:24:02.186Z</CreationTimestamp>
<BillingAddress>
<PhysicalAddress>
<City>Neunkirchen</City>
<CountryCode>DE</CountryCode>
<PostalCode>66538</PostalCode>
<Name>Liam Barker</Name>
<AddressLine1/>
<AddressLine2>Meininger Strasse 58</AddressLine2>
</PhysicalAddress>
<AddressType>Physical</AddressType>
</BillingAddress>
<RequestPaymentAuthorization>false</RequestPaymentAuthorization>
</OrderReferenceDetails>
</GestPayS2S>
</callReadTrxS2SResult>
parameter name | description |
---|---|
TransactionType |
for CallReadTrxS2S , the value will be QUERYTX |
TransactionResult |
OK or KO |
BankTransactionID |
Bank transaction ID assigned to the transaction |
ShopTransactionID |
Shop transaction ID value assigned to the transaction |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
AuthorizationCode |
the authorisation code |
Currency |
the currency code |
Country |
the nationality of the card issuer |
Company |
the card company: Visa, Mastercard, etc. |
TransactionState |
the status of the transaction: one of AUT , MOV , CAN , STO . Follow the link for a detailed explanation of transaction statuses. |
AlertCode |
the violation code of the risk management criteria. See Better Risk Management for an accurate description. |
AlertDescription |
the description connected to the AlertCode value. See Better Risk Management for an accurate description. |
Buyer.BuyerName |
Returns the name of the buyer |
Buyer.BuyerEmail |
Returns the email of the buyer |
Events |
contains event elements. see the next table for more. |
RiskResponseCode |
Risk Fraud Score of the transaction, given by Axerve Guaranteed Payment. Possible values are:
|
RiskResponseDescription |
Risk Description of the RiskResponseCode |
OrderReferenceDetails |
Informations about Shipping and Billing addresses, returned for some payment methods. |
As said, <Events>
can contain one or more <event>
tags. the <event>
tag is composed of:
name | description |
---|---|
eventtype |
one of AUT , MOV , PRE , CAN , REQ , STO . There will be a node event for each existing event regarding the transaction. Follow the link for a detailed explanation of transaction statuses. |
eventamount |
Relative value of the event |
eventdate |
event date |
eventID |
Unique identifier of the event |
OrderReferenceDetails
here we’ll describe the most important fields returned by third-party payments. Not all fields are relevant.
name | description |
---|---|
Destination.PhysicalDestination |
Represents the address selected by the buyer through the AddressBook widget. |
BillingAddress |
Represents the billing address that is associated with the payment method selected by the buyer in the Wallet widget. |
OrderReferenceStatus |
Indicates the current status of the order reference. States can be: Draft , Open , Suspended , Canceled , Closed . |
OrderLanguage |
Represents the Language last used, on the Login or Consent screens, by the buyer. |
ExpirationTimestamp |
The date and time, in UTC, when the order reference will expire and will no longer be valid for authorization requests. In ISO 8601 format. |
SellerOrderAttributes |
Provides more context about the order represented by this order reference. |
OrderTotal |
Represents the total amount for this Order Reference object. |
Buyer |
Provides details about the buyer. |
ReleaseEnvironment |
Indicates if the order is for a Live (Production) or Sandbox environment. |
AmazonOrderReferenceId |
The order reference identifier retrieved from the Amazon Button widget. |
CreationTimestamp |
The date and time, in UTC, when the order reference was created. In ISO 8601 format. |
callCheckCartaS2S
Merchants can use this method to check the Credit Card.
It’s possible to check with or without verifying the Authorization, setting the flag withAuth
.
Request details
Check a credit card:
<callCheckCartaS2S>
<shopLogin>GEST13578</shopLogin>
<shopTransactionId>MY-SHOP1234</shopTransactionId>
<!-- check a card -->
<cardNumber>1234567812345678</cardNumber>
<expMonth>12</expMonth>
<expYear>21</expYear>
<CVV2>931</CVV2>
<withAuth>Y</withAuth>
</callCheckCartaS2S>
Check a token:
<callCheckCartaS2S>
<shopLogin>GEST13578</shopLogin>
<shopTransactionId>MY-SHOP1234</shopTransactionId>
<tokenValue>ABCD12345678EFGD</tokenValue>
<withAuth>Y</withAuth>
</callCheckCartaS2S>
Parameters in bold are mandatory.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
shopTransactionId |
shop transaction ID value | string | 50 |
withAuth |
tries to authorize the card. Y on N |
string | 1 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
If you want to check a credit card by credit card number, month and year of expiration, use these fields:
parameter name | description | type | length |
---|---|---|---|
cardNumber |
credit card number | string | 20 |
expMonth |
card expiration month | string | 2 |
expYear |
card expiration year | string | 2 |
CVV2 |
security code of the card | string | 4 |
Alternatively, you can use tokenValue
to check if a token is still valid:
parameter name | description | type | length |
---|---|---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. In case of PayPalBillingAgreement this token value is the token returned by PayPal during the Billing Agreements. |
string | 25 |
Response details
Response example:
<callCheckCartaS2SResult>
<GestPayS2S xmlns="">
<TransactionType>CHECKCARD</TransactionType>
<TransactionResult>OK</TransactionResult>
<TransactionErrorCode>0</TransactionErrorCode>
<TransactionErrorDescription>Transaction correctly processed</TransactionErrorDescription>
<AuthorizationErrorCode>0</AuthorizationErrorCode>
<AuthorizationResult>KO</AuthorizationResult>
<AuthorizationCodeDescription>negative balance</AuthorizationCodeDescription>
<CardCountry>ITALIA</CardCountry>
<CardCountryCode>380</CardCountryCode>
<CheckCVV>OK</CheckCVV>
<CheckCVVDescription>CVV VALID</CheckCVVDescription>
<IssuerCountry>ITALIA</IssuerCountry>
<IssuerCountryCode>380</IssuerCountryCode>
<CompanyDescription>MASTERCARD</CompanyDescription>
<CompanyCode>3</CompanyCode>
<Commercial>N</Commercial>
<ProductDescription>Standard MasterCard® Card</ProductDescription>
<ProductType>Credit</ProductType>
<CheckDigit>OK</CheckDigit>
<CheckDigitDescription>CheckDigit VALID</CheckDigitDescription>
<CheckDate>OK</CheckDate>
<CheckDateDescription>DATE VALID</CheckDateDescription>
<EnrolledCode>Y</EnrolledCode>
<EnrolledDescription>ENROLLED</EnrolledDescription>
<Prepaid>N</Prepaid>
</GestPayS2S>
</callCheckCartaS2SResult>
name | description |
---|---|
TransactionType |
CHECKCARD |
TransactionResult |
OK or KO |
TransactionErrorDescription |
transaction error description |
AuthorizationErrorCode |
authorisation error code if an error occurred |
AuthorizationResult |
authorization result. It can be OK or KO or NULL |
AuthorizationCodeDescription |
code description |
CardCountry |
nationality of the card |
CardCountryCode |
nationality code of the card |
CheckCVV |
result of the check CVV. It can be OK or KO or NULL |
CheckCVVDescription |
description of CVV check results |
IssuerCountry |
nationality of the card issuer |
IssuerCountryCode |
nationality code of the card issuer |
CompanyDescription |
Description of the Card company |
CompanyCode |
Code of the Company |
Commercial |
Flag that indicates if the Card is commercial or not. Y or N |
ProductDescription |
Description of the product linked to the card |
ProductType |
type of the product: Credit or Debit |
CheckDigit |
OK or KO , acording to the check digit of the card |
CheckDigitDescription |
description of the check digit response |
CheckDate |
OK or KO , acording to the check date of the card |
CheckDateDescription |
description of the check date response |
EnrolledCode |
3D Secure enabled:
|
EnrolledDescription |
enrolment description |
Prepaid |
indicates if the card is prepaid of not (Y , N , or empty) |
CallRequestTokenS2S
Merchants can use this method to request the token generation for a Credit Card. This token can be generated as Standard Format or Custom Format. Tokens created by merchants belonging to a group will be available to all the merchants of the same group.
Request details
Request example:
<CallRequestTokenS2S>
<shopLogin>GEST13578</shopLogin>
<requestToken>MASKEDPAN</requestToken>
<cardNumber>1234567812345678</cardNumber>
<expiryMonth>12</expiryMonth>
<expiryYear>21</expiryYear>
<withAuth>Y</withAuth>
<cvv>931</cvv><!-- optional -->
</CallRequestTokenS2S>
Parameters in bold are mandatory.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
requestToken |
MASKEDPAN for a Standard Token; any other value for Custom Token |
string | 24 |
cardNumber |
credit card number | string | 20 |
expiryMonth |
card expiration month | string | 2 |
expiryYear |
card expiration year | string | 2 |
cvv |
security code of the card | string | 4 |
withAuth |
tries to authorize the card. Y on N |
string | 1 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<CallRequestTokenS2SResult>
<GestPayS2S xmlns="">
<TransactionType>REQUESTTOKEN</TransactionType>
<TransactionResult>OK</TransactionResult>
<TransactionErrorCode>0</TransactionErrorCode>
<TransactionErrorDescription>Transaction correctly processed</TransactionErrorDescription>
<AuthorizationErrorCode/>
<AuthorizationResult/>
<AuthorizationCodeDescription/>
<CardCountry>POLONIA</CardCountry>
<CardCountryCode>616</CardCountryCode>
<CheckCVV/>
<CheckCVVDescription/>
<IssuerCountry>POLONIA</IssuerCountry>
<IssuerCountryCode>616</IssuerCountryCode>
<CompanyDescription>VISA</CompanyDescription>
<CompanyCode>1</CompanyCode>
<Commercial>N</Commercial>
<ProductDescription>Visa Gold</ProductDescription>
<ProductType>Credit</ProductType>
<CheckDigit>OK</CheckDigit>
<CheckDigitDescription>CheckDigit VALID</CheckDigitDescription>
<CheckDate>OK</CheckDate>
<CheckDateDescription>DATE VALID</CheckDateDescription>
<EnrolledCode>E</EnrolledCode>
<EnrolledDescription>CREDIT CARD UNVERIFIABLE</EnrolledDescription>
<Prepaid/>
<CardBIN/>
<Token>44MRWNA710AC4448</Token>
<TokenExpiryMonth>12</TokenExpiryMonth>
<TokenExpiryYear>21</TokenExpiryYear>
</GestPayS2S>
</CallRequestTokenS2SResult>
name | description |
---|---|
TransactionType |
REQUESTTOKEN |
TransactionResult |
OK or KO |
TransactionErrorDescription |
transaction error description |
AuthorizationErrorCode |
authorisation error code if an error occurred |
AuthorizationResult |
Authorization result. It can be OK or KO or NULL |
AuthorizationCodeDescription |
code description |
CardCountry |
nationality of the card |
CardCountryCode |
nationality code of the card |
CheckCVV |
result of the check CVV. It can be OK or KO or NULL |
CheckCVVDescription |
description of CVV check results |
IssuerCountry |
nationality of the card issuer |
IssuerCountryCode |
nationality code of the card issuer |
CompanyDescription |
Description of the Card company |
CompanyCode |
Code of the Company |
Commercial |
Flag that indicates if the Card is commercial or not. Y or N |
ProductDescription |
Description of the product linked to the card |
ProductType |
type of the product: Credit or Debit |
CheckDigit |
OK or KO , acording to the check digit of the card |
CheckDigitDescription |
description of the check digit response |
CheckDate |
OK or KO , acording to the check date of the card |
CheckDateDescription |
description of the check date response |
EnrolledCode |
3D Secure enabled:
|
EnrolledDescription |
enrolment description |
Prepaid |
indicates if the card is prepaid of not (Y , N , or empty) |
Token |
the token value |
TokenExpiryMonth |
the token expiry month |
TokenExpiryYear |
the token expiry year |
callDeleteTokenS2S
Merchants can use this method to disable a token linked to a Credit Card or to cancel a PayPal Billing Agreement. Merchants belonging to a group are allowed to delete also tokens created by other merchants of the same group.
Request details
Request example:
<callDeleteTokenS2S>
<shopLogin>90000001</shopLogin>
<tokenValue>1234WJFXABCD5678</tokenValue>
</callDeleteTokenS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
tokenValue |
Token value to delete | string | 25 |
Response details
Response example:
<callDeleteTokenS2SResult>
<GestPayS2S xmlns="">
<TransactionType>DisableToken</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription />
</GestPayS2S>
</callDeleteTokenS2SResult>
parameter name | description |
---|---|
TransactionType |
DisableToken |
TransactionResult |
OK or KO |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
CallUpdateTokenS2S
Merchants can use this method to update the expiry date of a token.
Merchants belonging to a group are allowed to update also tokens created by other merchants of the same group. If a merchant belongs to a group, can update also token created by the other group’s merchants.
Request details
Request example:
<CallUpdateTokenS2S>
<shopLogin>90000001</shopLogin>
<token>1234WJFXABCD5678</token>
<expiryMonth>12</expiryMonth>
<expiryYear>21</expiryYear>
<withAut>Y</withAut>
</CallUpdateTokenS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
token |
Token value to update | string | 25 |
expiryMonth |
Assigns card expiration month | string | 2 |
expiryYear |
Assigns card expiration year | string | 2 |
withAut |
tries also to authorize the card. Y on N |
string | 1 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<CallUpdateTokenS2SResult>
<GestPayS2S xmlns="">
<TransactionType>UpdateToken</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription />
</GestPayS2S>
</CallUpdateTokenS2SResult>
parameter name | description |
---|---|
TransactionType |
UpdateToken |
TransactionResult |
OK or KO |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
CallIdealListS2S
Merchants can use this method to have the list of the Banks available for their customers for IDeal payment method.
Request details
Request example:
<CallIdealListS2S>
<shopLogin>900000001</shopLogin>
</CallIdealListS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<CallIdealListS2SResult>
<GestPayS2S xmlns="">
<TransactionType>RequestIdealBankList</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription />
<BankList>
<Bank>
<BankCode>0001</BankCode>
<BankName>E-Corp</BankName>
</Bank>
<Bank>
...
</Bank>
</BankList>
</GestPayS2S>
</CallIdealListS2SResult>
parameter name | description |
---|---|
TransactionType |
for CallIdealListS2S , the value will be RequestIdealBankList |
TransactionResult |
OK or KO |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
BankList.Bank.BankCode |
Returns Ideal Bank List, for each bank returns the Bank Code |
BankList.Bank.BankName |
Returns Ideal Bank List, for each bank returns the Bank Name |
CallMyBankListS2S
Merchants can use this method to have the list of the Banks available for their customers for MyBank payment method.
Request details
Request example:
<CallMyBankListS2S>
<shopLogin>900000001</shopLogin>
<languageId>1</languageId>
</CallMyBankListS2S>
Mandatory parameters are in bold.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
languageId |
Assigns the response language of the Bank list. Values:
|
number | 2 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<CallMyBankListS2SResult>
<GestPayS2S xmlns="">
<TransactionType>MyBank</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription />
<BankList>
<Bank>
<BankCode>0001</BankCode>
<BankName>E-Corp</BankName>
</Bank>
<Bank>
...
</Bank>
</BankList>
</GestPayS2S>
</CallMyBankListS2SResult>
parameter name | description |
---|---|
TransactionType |
for callMyBankListS2S , the value will be MyBank |
TransactionResult |
OK or KO |
ErrorCode |
transaction error code |
ErrorDescription |
transaction error description |
BankList.Bank.BankCode |
Returns MyBank Bank List, for each bank returns the Bank Code |
BankList.Bank.BankName |
Returns MyBank Bank List, for each bank returns the Bank Name |
CallUpdateOrderS2S
Merchants can use this method to update the order values for Risk Fraud management. For example, if the buyer changes the Shipping Address, this must be notified to Axerve Guaranteed Payment in order to review again the Order. Axerve Guaranteed Payment decides if the Order must be reviewed based on the changed values.
Request parameters
request example:
<CallUpdateOrderS2S>
<shopLogin>9000002</shopLogin>
<shopTransactionId>MYSHOP-0001</shopTransactionId>
<bankTransactionId>13675333225</bankTransactionId>
<OrderDetails>
... <!-- the OrderDetails object -->
<OrderDetails>
</CallUpdateOrderS2S>
Mandatory parameters are in bold. The attributes are:
Name | Description | Data Type | max length |
---|---|---|---|
shopLogin |
shopLogin value | string | 30 |
shopTransactionId |
shop transaction ID value | string | 50 |
bankTransactionId |
the bank ID value | string | 50 |
OrderDetails |
contains every other info needed to evaluate the payment. Refer to OrderDetails for a detailed description of its fields. | ||
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response fields
response example:
<GestPayS2S xmlns="">
<TransactionType>RiskifiedUpdateOrder</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
</GestPayS2S>
Name | Description |
---|---|
TransactionType |
RiskifiedUpdateOrder in response to CallUpdateOrderS2S |
TransactionResult |
Returns transaction result with OK or KO |
ErrorCode |
a code related to the transaction result |
ErrorDescription |
the description connected to the ErrorCode value |
callExchangeRateS2S
Merchants can use this method to retrieve the exchange rates for a specified currency, in the last 7 days (current day and 6 previous days).
Exchange rates are meant as the conversion rates applied on that day to that currency by the phases that credit that amount on the bank account of the merchant, in order to get the corresponding EUR value.
A more descriptive explanation of callExchangeRateS2S
is in the docs.
Request details
Request example:
<callExchangeRateS2S>
<shopLogin>GESPAY65987</shopLogin>
<uicCode>1</uicCode>
<isoCode>USD</isoCode>
<numericIsoCode>840</numericIsoCode>
</callExchangeRateS2S>
Parameters in bold are mandatory.
parameter name | description | type | length |
---|---|---|---|
shopLogin |
the merchant’s code | string | 30 |
uicCode |
the UIC code | string | 10 |
isoCode |
the ISO code - see the Code column. |
string | 10 |
numericIsoCode |
the ISO code - see the Num column. |
string | 10 |
apikey |
If you have selected the apiKey authentication method, add the apikey field to the call. More details about the apiKey here. |
Response details
Response example:
<callExchangeRateS2SResult>
<GestPayS2S xmlns="">
<TransactionType>ExchangeRate</TransactionType>
<TransactionResult>OK</TransactionResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Transazione correttamente effettuata</ErrorDescription>
<ExchangeRates>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0617</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">TODAY_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0602</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">YESTERDAY_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0603</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">MINUS_2_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0599</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">MINUS_3_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0595</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">MINUS_4_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0595</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">MINUS_5_CONST</CreditDate>
</ExchangeRate>
<ExchangeRate>
<UICCode>1</UICCode>
<ISOCode>USD</ISOCode>
<NumericISOCode>840</NumericISOCode>
<ExchangeRate>1,0595</ExchangeRate>
<CreditDate DateFormat="DD/MM/YYYY">MINUS_6_CONST</CreditDate>
</ExchangeRate>
</ExchangeRates>
</GestPayS2S>
</callExchangeRateS2SResult>
name | description |
---|---|
TransactionType |
ExchangeRate |
TransactionResult |
OK or KO |
ErrorCode |
error code occurred |
ErrorDescription |
error description relative to error code |
ExchangeRates |
Tag for list of exchange rates |
ExchangeRate |
Tag for exchange rate detail |
UICCode |
UIC code |
ISOCode |
ISO code |
NumericISOCode |
Numeric ISO code |
ExchangeRate |
Value of exchange rate |
CreditDate |
Day of validity for this Exchange Rate |
callCheckTokenS2S
Merchants can use this method to check the existence of a specific token value. If the token exists, the method provides all the token details (expiration, card details, card art if applicable, etc…)
Request details
Request example:
<callCheckTokenS2S>
<shopLogin></shopLogin>
<TokenValue></TokenValue>
<apikey></apikey>
</callCheckTokenS2S>
Name | Description | Data Type | max length |
---|---|---|---|
shopLogin |
shopLogin value | string | 30 |
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
string | 25 |
Response details
Response example:
<callCheckTokenS2SResult>
<GestPayS2S xmlns="">
<TransactionType>CHECKTOKEN</TransactionType>
<TransactionResult>OK</TransactionResult>
<TransactionErrorCode>0</TransactionErrorCode>
<TransactionErrorDescription>Transazione correttamente effettuata</TransactionErrorDescription>
<tokenDetails>
<tokenValue>42V8ZN2BA0144011</tokenValue>
<tokenExpiryMonth >02</tokenExpiryMonth >
<tokenExpiryYear >23</tokenExpiryYear >
<tokenProvider />
<cardDetails>
<cardExpiryMonth />
<cardExpiryYear />
<cardHolderName />
<cardSuffix />
</cardDetails>
<cardAssets>
<cardArt>
<height />
<mediaContents />
<type />
<width />
</cardArt>
<brandLogo>
<height />
<mediaContents />
<type />
<width />
</brandLogo>
</cardAssets>
</tokenDetails>
</GestPayS2S>
</callCheckTokenS2SResult>
Name | Description |
---|---|
TransactionType |
For callCheckTokenS2S , the value will be CHECKTOKEN . |
TransactionResult |
OK or KO . |
TransactionErrorCode |
Transaction error code. |
TransactionErrorDescription |
Transaction error description. |
tokenDetails |
Token details. The contents of this field are shown below in detail. |
tokenDetails
details:
Name | Description |
---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
tokenExpiryMonth |
The token expiration month. |
tokenExpiryYear |
The token expiration year. |
tokenProvider |
The entity providing the token. It can be: AXERVE , VISA , MASTERCARD , PAYPAL , AMAZON , APPLE , SEPADD . |
cardDetails.cardSuffix |
The last 4 digit of the card PAN. |
cardDetails.cardExpiryMonth |
The card expiry month. |
cardDetails.cardExpiryYear |
The card expiry Year. |
cardDetails.cardHolderName |
The cardholder name. |
cardAssets.cardArt.type |
The file format of the card art (card image) |
cardAssets.cardArt.mediaContents |
The card image (Base64) |
cardAssets.cardArt.height |
The card art (card image) height |
cardAssets.cardArt.width |
The card art (card image) width |
cardAssets.brandLogo.type |
The file format of the brand logo (e.g. Visa, Mastercard, etc..) |
cardAssets.brandLogo.mediaContents |
The brand logo (e.g. Visa, Mastercard, etc..) image (Base64) |
cardAssets.brandLogo.height |
The brand logo (e.g. Visa, Mastercard, etc..) height |
cardAssets.brandLogo.width |
The brand logo (e.g. Visa, Mastercard, etc..) width |
js_GestPay.js API
To start using this feature, import the script:
<script src="https://ecomm.sella.it/pagam/JavaScript/js_GestPay.js"
type="text/javascript"></script>
Once the script is imported, it will do some security checks. You can see this with the
BrowserEnabled
variable:
if ( BrowserEnabled ) {
//The Browser is supported!
//Proceed to create the Payment page
} else {
//The browser is not supported
//Place here error handle code
}
js_Gestpay.js is a javascript that enable you to process payments on your website, leaving you with the ability to completely design your custom payment page.
To use the following functionalities, you should first call `WSCryptDecrypt.Encrypt
webservice.
CreatePaymentPage
Syntax:
GestPay.CreatePaymentPage(
shopLogin, //I.E. 90000001
EncryptedString, // "CFD3732BB102..."
PaymentPageLoaded); // a callback to call on success
Example:
GestPay.CreatePaymentPage(
'9000001', //shopLogin
'DcffrrnDNdjfnemfnermgnermNfdm,gnem/*ng', //EncryptedString
function (Result) { //callback
if(Result.ErrorCode == 10){
//iFrame created and payment page correctly loaded
} else {
//An error has occurred, check ErrorCode and ErrorDescription
//properties of the Result object
}
});
The first thing to do to accept payments securely is to call GestPay.CreatePaymentPage()
.
The function will create an hidden iFrame into the body element and will load the payment page passing the merchant code and the generated encrypted string from the previous phase.
Name | Type | description |
---|---|---|
Shop Login | string |
the code that identifies your shop. |
Encrypted String | string |
the string created with WSCryptEncrypt.Encrypt webservice. |
callback | function |
the callback that will be called with the result |
SendPayment
Credit card authorization
syntax:
GestPay.SendPayment ({
CC : '1234567812345678',
EXPMM : '06',
EXPYY : '12',
CVV2 : '123', //optional
Name : 'Some Dude', //optional
Email: 'some@dude.net' //optional
},
callBackObj);
example:
GestPay.SendPayment({
CC : document.getElementById('CC').value,
EXPMM : document.getElementById('EXPMM').value,
EXPYY: document.getElementById('EXPYY').value,
CVV2: document.getElementById('CVV2').value,
Name: document.getElementById('Name').value,
Email: document.getElementById('Email').value
},
function (Result) {
if(Result.ErroCode == 0) {
//Transaction correctly processed
//Decrypt the Result.EncryptedString property to read the
//transaction result
} else {
//An error has occurred, check ErrorCode and ErrorDescription
//properties of the Result object
}
});
To send the credit card data to the hidden iFrame, the checkout page will assign a function to the OnSubimt
event of the credit card form, this function will retrieve the credit card data and will call the GestPay.SendPayment
method providing an object with the credit card number (CC
), the expiration month (EXPMM
) and the expiration year (EXPYY
), the CVV (CVV2
) if enabled, and a CallBack object.
The input is composed of two arguments:
- The object
CCData
, with these fields
Name | Description | Type | Size |
---|---|---|---|
CC |
Credit card number | number |
min: 13, max: 19 |
EXPMM |
Expiration Month | number |
2 |
EXPYY |
Expiration Year | number |
2 |
CVV2 (optional) |
Cvv/4DBC | number |
min:3, max:4 |
Name (optional) |
Buyer’s name | string |
|
Email (optional) |
Buyer’s email | string |
- a callback function, to handle the output.
CVV2
, Name
and Email
are optional but highly recommended.
Call after 3D Authentication
Syntax:
GestPay.SendPayment({
PARes : '',
TransKey : ''
},
callbackFunction
});
Example:
GestPay.SendPayment ({
PARes : 'xMNjdsre23214hjksBBDsjkrhewGSD/*dwhjdkhawNDAHDGUY',
TransKey : 'eFtstSStefgd23432'
},
function (Result) {
if(Result.ErroCode == 0){
// Transaction correctly processed !
// Decrypt the Result.EncryptedString property to read the
// transaction result
}else{
// An error has occurred, check ErrorCode and ErrorDescription
// properties of the Result object
}
});
If during the first SendPayment
call Result.ErrorCode == 8006
, you should redirect the user to the pagam3d.aspx
page. You can read about the process at this link: Customizing the payment page.
When card holder is verified and authorized, you have to re-call SendPayment()
with some new parameters:
CCData
(object
)PARes
(string
)TransKey
(string
)
- callback (
function
)
ping
syntax:
GestPay.ping(callBackObj);
example:
GestPay.ping(function (Result) {
if(Result.ErroCode == 1111) {
//connection estabilished: servers are available
console.log(Result.ErrorDescription) // outputs 'Ping Back'
} else {
//An error has occurred, check ErrorCode and ErrorDescription
//properties of the Result object
}
});
The Ping
function checks that there is an active connection with Axerve Ecommerce Solutions.
Useful for troubleshooting connection errors.
getLastAnswer
syntax:
GestPay.getLastAnswer(callBackObj);
example:
GestPay.getLastAnswer(function (Result) {
// asks Axerve Ecommerce Solutions to re-send the last Result object.
});
getLastAnswer
asks Axerve Ecommerce Solutions to send back the last received Result object.
checkCC
syntax:
GestPay.checkCC(CCNum, callBackObj);
example:
GestPay.checkCC('12345678', function (Result) {
if (Result.ErrorCode != 0) {
console.log(Result.ErrorCode); // i.e. 1119
console.log(Result.ErrorDescription); // 'Credit card number with wrong length'
... //handle the error
} else {
console.log('the Credit Card Number is valid');
}
});
checkCC
checks the formal correctness of the credit card number.
checkCVV
syntax:
GestPay.checkCVV(CVVNum, callBackObj);
example:
var CVV = 'XY@Z';
GestPay.checkCVV(CVV, function (Result) {
if (Result.ErrorCode != 0) {
console.log(Result.ErrorCode); // i.e. 1149
console.log(Result.ErrorDescription); // 'Missing or wrong CVV2'
... //handle the error
} else {
console.log('the CVV value is valid');
}
});
checkCVV
checks the formal correctness of the value sent as CVV.
checkEXPMM
syntax:
GestPay.checkEXPMM(EXPMMVal, callBackObj);
example:
var EXPMMVal = '123'; //not valid !
GestPay.checkEXPMM(EXPMMVal, function (Result) {
if (Result.ErrorCode != 0) {
console.log(Result.ErrorCode); // i.e. 1124
console.log(Result.ErrorDescription); // 'Invalid expiry month'
... //handle the error
} else {
console.log('the expiring month value is valid');
}
});
checkEXPMM
checks the formal correctness of the value sent as EXPMMVal
. It represents the expiring month so it should be a value between 0
and 12
.
checkEXPYY
syntax:
GestPay.checkEXPYY(EXPYYVal, callBackObj);
example:
var EXPYYVal = '99999'; //not a valid year !
GestPay.checkEXPYY(EXPYYVal, function (Result) {
if (Result.ErrorCode != 0) {
console.log(Result.ErrorCode); // i.e. 1125
console.log(Result.ErrorDescription); // 'Invalid expiry year'
... //handle the error
} else {
console.log('the expiring year is valid');
}
});
checkEXPYY
checks the formal correctness of the value sent as EXPYYVal
. It represents the expiring year so it should be a value between 0
and 99
.
checkEXPDATE
syntax:
GestPay.checkEXPDATE(EXPMMVal, EXPYYVal, callBackObj);
example:
var EXPMMVal = '11';
var EXPYYVal = '211';
GestPay.checkEXPDATE(EXPMMVal, EXPYYVal, function (Result) {
if (Result.ErrorCode != 0) {
console.log(Result.ErrorCode); // i.e. 1125
console.log(Result.ErrorDescription); // 'Invalid expiry year'
... //handle the error
} else {
console.log('the expiring year is valid');
}
});
checkEXPDATE
checks the formal correctness of the expiry date, sent as two variables for month and year.
checkEMAIL
syntax:
GestPay.checkEMAIL(EmailVal, callBackObj);
example:
GestPay.checkEMAIL( 'email@example.com' , function (Result) {
if (Result.ErrorCode != 0) { // mail is valid, ErrorCode is 0
console.log(Result.ErrorCode);
console.log(Result.ErrorDescription);
... //handle error
} else {
console.log('the email is valid'); //prints 'the email is valid'
}
});
checkEMAIL
checks the formal correctness of the email address.
the Result Object
Example: Merchant not 3D enabled or credit card not enrolled.
LocalObj.CallBack = function(Result){
if ( Result.ErrorCode != 0 ) {
//Call failed an error has occurred
//.... place here error handle code...
} else {
// Transaction correctly processed proceed to decrypt the
// Result.EncryptedResponse property
}
}
Example: Merchant 3D enabled and 3D enrolled credit card
LocalObj.CallBack = function (Result) {
if (Result.ErrorCode != 0){
if (Result.ErrorCode == 8006){
//3D Transaction - Card holder authorization required
//Get the TransKey
//NOTE you have to store this value in your server for
//further use
var TransKey = Result.TransKey;
//Get the VBVRisp
var VBVRisp = Result.VBVRisp;
//place here the code to redirect the card holder to the
//authentication website
} else {
//Call failed an error has occurred
//.... place here error handle code...
}
} else {
//Transaction correctly processed proceed to decrypt the
//Result.EncryptedResponse property
}
}
When callbacks are executed, the Result
object will contain useful properties, needed to understand if an error has occurred.
name | description |
---|---|
Result.ErrorCode |
the error code |
Result.ErrorDescription |
the error description |
Result.EncryptedResponse |
returns the encrypted response string |
Result.TransKey |
return the TransKey in case of 3D enrolled credit card |
Result.VBVRisp |
return the ciphered string needed for the cardholder authentication in case of 3D enrolled credit card |
The GestPay.SendPayment() function will send an asynchronous call to the hidden iFrame windows, the CallBack object will retrieve the Result object once the transaction result is thrown from the hidden payment page.
Alternative Payments Examples
Encrypt
can be used to start a payment process in one of the several alternative payments that Axerve Ecommerce Solutions supports.
You can see the complete list of Axerve Ecommerce Solutions supported alternative payments in the docs.
As a recap, you can use the <paymentType>
tag to specify which payment methods you want to enable. In the next paragraphs we will show some alternative payment examples.
WsS2S Example: Apple Pay
Apple Pay example:
<callPagamS2S>
<!-- mandatory data -->
<shopLogin>9000002</shopLogin>
<uicCode>242</uicCode><!-- code for euro -->
<amount>24.21</amount>
<shopTransactionId>MYSHOP-0001</shopTransactionId>
<!-- insert here data from Apple Pay -->
<applePay>
<applePayPKPaymentToken>
{
"paymentData": {
"data": "Q0tfx6QzXdx...",
"signature": "MIAGCSqGSIb3DQEHAq...",
"header": {
"publicKeyHash": "b9OHKov7pD...",
"ephemeralPublicKey": "MFkwE...",
"transactionId": "df9ea7239074..."
},
"version": "EC_v1"
},
"transactionIdentifier": "DF9EA72390...",
"paymentMethod": {
"network": "Visa",
"type": "debit",
"displayName": "Visa0492"
}
}
</applePayPKPaymentToken>
</applePay>
<!-- fill the remaining fields with usual data -->
...
</callPagamS2S>
Please read the detailed setup process for Apple Pay in the docs.
Once you have received a Payment Token Package, you can call callPagamS2S
with the relevant data.
Note that, if using Apple Pay, no Credit Card or Token data are needed.
For a real example of Payment Token Package, contained in applePayPKPaymentToken
, click here.
The most important field in this process is applePayPKPaymentToken
. Here is a description:
Key | Value | Description |
---|---|---|
applePayPKPaymentToken |
string | contains a UTF-8 serialization of a plain-text JSON dictionary. |
Once you have submitted callPagamS2S
, Axerve Ecommerce Solutions will behave exactly as always and your payment will be processed.
Encrypt Example: Alipay
Alipay example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>S2PALI</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<PrimaryEmail>alfred.nobel@dynamite.se</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Alipay does not need any mandatory parameters. Just specify the PaymentType
S2PALI
and the payment page will show to your user.
If you specify the PrimaryEmail
in the OrderDetails
tag, you will redirect your user to Alipay payment page where some fields are already filled.
January 2019 breaking changes
If you are using Alipay via Ecommerce you need to update your integration because from 21/01/2019 more mandatory fields will be required from Aliplay.
New mandatory fields are ProductDetail
: you need to add one field for each item in the cart with the product name and the quantity. All these fields must me wrapped inside a ProductDetails
tag.
Alipay January 2019 example
<ecom:Encrypt>
<ecom:shopLogin>tests2p</ecom:shopLogin>
<ecom:uicCode>144</ecom:uicCode>
<ecom:amount>1</ecom:amount>
<ecom:shopTransactionId>alipay_test</ecom:shopTransactionId>
<ecom:paymentTypes>
<ecom:paymentType>S2PALI</ecom:paymentType>
</ecom:paymentTypes>
<ecom:OrderDetails>
<ecom:CustomerDetail>
<ecom:PrimaryEmail></ecom:PrimaryEmail>
</ecom:CustomerDetail>
<ecom:ProductDetails>
<ecom:ProductDetail>
<ecom:Name>product1</ecom:Name>
<ecom:Quantity>1</ecom:Quantity>
</ecom:ProductDetail>
<ecom:ProductDetail>
<ecom:Name>product2</ecom:Name>
<ecom:Quantity>5</ecom:Quantity>
</ecom:ProductDetail>
...
...
</ecom:ProductDetails>
</ecom:OrderDetails>
</ecom:Encrypt>
Other product information like the product code and its price are optional. Keep in mind that the total must be exactly the sum of all items price.
Encrypt Example: Amazon Pay
Amazon Pay example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord20</shopTransactionId>
<paymentTypes>
<paymentType>AMAZONPAY</paymentType>
</paymentTypes>
<!-- OPTIONAL: to retrieve a token for recurrent
payments, fill out this tag -->
<amazonPayBillingAgreementDescription />
</Encrypt>
Amazon Pay does not need any mandatory parameters. Use AMAZONPAY
as Payment Type and the user will be redirected to Amazon Pay.
Recurring payments with Amazon Pay
If you want to perform recurring payments, by filling this field you obtain a token that you can use with callPagamS2S
.
Accepted values for amazonPayBillingAgreementDescription
:
Value | Description |
---|---|
Empty or missing | no token is returned. |
paynowandrecurring |
a payment is performed instantly and a token is generated for subsequent payments. |
onlyrecurring |
only a token is returned. |
WSS2S Example: Amazon Pay
Amazon Pay example via S2S:
<callPagamS2S>
<shopLogin>9000002</shopLogin>
<uicCode>242</uicCode><!-- euro -->
<amount>24.21</amount>
<shopTransactionId>MYSHOP-0001</shopTransactionId>
<paymentTypes>
<paymentType>AMAZONPAY</paymentType>
<paymentTypes>
<transKey>123456789sdfasdgdgf...</transkey>
</callPagamS2S>
If you implement AmazonPay in your shop by using Amazon widgets for address and cards, you can finalize the call by calling CallPagamS2S
.
Use AMAZONPAY
for the paymentType
and send the Amazon Order Reference ID in the transKey
field.
Encrypt Example: BancomatPay
BancomatPay example:
You must use BANCOMATPAY
as paymentType
.
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord20</shopTransactionId>
<paymentTypes>
<paymentType>BANCOMATPAY</paymentType>
</paymentTypes>
<paymentTypeDetail>
<BancomatPayPhoneNumber>+393454...</BancomatPayPhoneNumber>
</paymentTypeDetail>
</Encrypt>
Encrypt Example: Bizum
Bizum example:
You must use BIZUM
as paymentType
.
<Encrypt>
<shopLogin>9000001</shopLogin>
<apikey>dGVxxxxxxxxxxNToxMQ==</apikey>
<uicCode>242</uicCode>
<amount>1</amount>
<shopTransactionId>bizum_test</shopTransactionId>
<languageId>1</languageId>
<paymentTypes>
<paymentType>BIZUM</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<FirstName>Galileo</FirstName>
<Lastname>Galilei</Lastname>
<PrimaryEmail>mymail@mail.com</PrimaryEmail>
<PrimaryPhone>700000000</PrimaryPhone>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Encrypt Example: Consel
Consel example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>CONSEL</paymentType><!-- select CONSEL -->
</paymentTypes>
<Consel_MerchantPro>WIK</Consel_MerchantPro>
<Consel_CustomerInfo>
<Surname>Rossi</Surname>
<Name>Mario</Name>
<TaxationCode>RSSMRA70D23H501H</TaxationCode>
<Address>Via Torino</Address>
<City>Roma</City>
<StateCode>RM</StateCode>
<DateAddress>11/04/1999</DateAddress>
<Phone>0632...</Phone>
<MobilePhone>331...</MobilePhone>
</Consel_CustomerInfo>
</Encrypt>
More information about Consel (Sella Personal Credit) can be found in the documentation.
Name | max length | description |
---|---|---|
Consel_MerchantPro |
3 | Merchant Promotional Code (Mandatory to show Consel in the pagam’s Payment Method) |
Consel_CustomerInfo |
Wrapper for Consel tags) | |
Surname |
30 | Customer Surname |
NAme |
30 | Customer Name |
TaxationCode |
30 | Customer Taxation Code |
Address |
30 | Customer Address |
City |
30 | Customer City |
StateCode |
30 | Customer State Code |
DateAddress |
30 | Date since the customer lives in the declared address (dd/mm/yyyy) |
Phone |
30 | Customer Phone |
MobilePhone |
30 | Customer Mobile phone |
Encrypt Example: EPS
EPS example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PEPS</paymentType>
</paymentTypes>
</Encrypt>
EPS does not need mandatory parameters.
You must use S2PEPS
as paymentType
.
More informations about EPS are in the doc.
Encrypt Example: Giropay
Giropay example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PGIR</paymentType>
</paymentTypes>
</Encrypt>
Giropay does not need mandatory parameters.
You must use S2PGIR
as paymentType
.
More informations about Giropay are in the doc.
Encrypt Example: IDeal and MyBank
MyBank example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>MYBANK</paymentType>
</paymentTypes>
<paymentTypeDetail>
<MyBankBankCode>Code0000X</MyBankBankCode>
</paymentTypeDetail>
</Enrcypt>
IDeal example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>10</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>IDEAL</paymentType>
</paymentTypes>
<paymentTypeDetail>
<IdealBankCode>Code0000Y</IdealBankCode>
</paymentTypeDetail>
</Enrcypt>
If you choose let your users pay with MyBank or IDeal, you have to compile other two fileds.
More details can be found in at the MyBank and IDeal page.
Name | max length | description |
---|---|---|
paymentTypeDetail |
container of one of MyBankBankCode or IdealBankCode |
|
MyBankBankCode |
25 | Tag to set the Bank to show on payment page (the bank List is retrieved from WsS2S.CallMyBankListS2S ) |
IdealBankCode |
25 | Tag to set the Bank to show on payment page (the bank List is retrieved from WsS2S.CallIdealListS2S ) |
Encrypt Example: Klarna
Here is an example of how to enable Klarna with Axerve Ecommerce Solutions.
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>KLARNA</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<FirstName>Alfred</FirstName>
<Lastname>Nobel<Lastname>
<PrimaryEmail>alfred.nobel@dynamite.se</PrimaryEmail>
<PrimaryPhone>00491522113356</PrimaryPhone>
<SocialSecurityNumber>410321-9202</SocialSecurityNumber>
</CustomerDetail>
<BillingAddress>
<StreetNumber>14<StreetNumber>
<StreetName>Sturegatan</StreetName><!--mandatory-->
<City>Stockholm</City><!--mandatory-->
<ZipCode>SE-102</ZipCode><!--mandatory-->
<CountryCode>SE</CountryCode><!--mandatory-->
</BillingAddress>
<ProductDetails>
<ProductDetail><!-- mandatory -->
<ProductCode>1</ProductCode>
<SKU>AK-7</SKU>
<Name>TV2000</Name>
<Description>Television</Description>
<Quantity>1</Quantity>
<Price>100</Price>
<UnitPrice>100</UnitPrice>
<Type>1</Type>
<Vat>10</Vat>
<Discount>0</Discount>
</ProductDetail>
</ProductDetails>
</OrderDetails>
</Encrypt>
Klarna requires these parameters as mandatory, children of OrderDetails
:
Name | max length | description |
---|---|---|
BillingAddress.StreetName |
100 | Shipping street name. Accepts only alpha-numeric characters. |
BillingAddress.City |
50 | Shipping city name |
BillingAddress.ZipCode |
50 | Shipping zip code |
BillingAddress.CountryCode |
2 | one of [AT | DK | FI | DE | NL | NO | SE] |
ProductDetails.ProductDetail |
the list of ordered products |
We strongly suggest you to read these notes on BillingAddress
and ShippingAddress
.
If you send other fields, your customer will find them already filled:
CustomerDetail.FirstName |
65 | Customer First Name |
CustomerDetail.Lastname |
65 | the list of ordered products |
CustomerDetail.PrimaryEmail |
100 | Customer primary email |
CustomerDetail.PrimaryPhone |
100 | Customer’s phone including prefix. See below on how to use it. |
CustomerDetail.SocialSecurityNumber |
20 | Customer’s social or fiscal identifier (for Klarna Use) |
BillingAddress.StreetNumber |
5 | Shipping Street Number. Accepts only numbers. |
ProductDetails
can have one or more ProductDetail
. Here is a description of its fields:
ProductCode |
12 | Article’s product Code |
SKU |
50 | Article’s Stock Keeping Unit |
Name |
100 | Article’s name |
Description |
255 | Article’s description |
Quantity |
3 | The number of products |
Price |
12 | Article’s price |
UnitPrice |
12 | Article’s Unit Price |
Type |
2 | The type of article: visit the klarna page in the docs to set the right value |
Vat |
2 | Value-Added Tax (the value of the tax) |
Discount |
2 | The amount offered by you as discount, in percentage. 10 means 10% and it is subtracted to the price. |
More details about Klarna are in the documentation.
Encrypt Example: Konbini
Konbini example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PKON</paymentType>
</paymentTypes>
<!--optional, to skip authentication -->
<OrderDetails>
<CustomerDetail>
<PrimaryEmail>yamauchi.fusajiro@nintendo.jp</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Konbini does not need mandatory parameters.
You must use S2PKON
as paymentType
.
If you pass the PrimaryEmail
tag, the customer will be redirected directly to the payment page.
More informations about Konbini are in the doc.
Encrypt Example: MercadoPago
MercadoPago example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PMER</paymentType>
</paymentTypes>
<OrderDetails>
<BillingAddress>
<!-- mandatory: -->
<CountryCode>BR</CountryCode>
</BillingAddress>
</OrderDetails>
</Encrypt>
MercadoPago requires the parameter BillingAddress.CountryCode
, children of OrderDetails
:
Name | max length | description |
---|---|---|
BillingAddress.CountryCode |
2 | one of [ BR, MX, CO ] |
You must use S2PMER
as paymentType
.
More informations about MercadoPago are in the doc.
Encrypt Example: Multibanco
Multibanco example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PMUL</paymentType>
</paymentTypes>
</Encrypt>
Multibanco does not need mandatory parameters.
You must use S2PMUL
as paymentType
.
More informations about Multibanco are in the doc.
Encrypt example: Paypal
Enabling Paypal
If you only specify
PAYPAL
payment type, Axerve Ecommerce Solutions won’t show the payment page but will redirect directly to Paypal’s payment page:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>PAYPAL</paymentType>
</paymentTypes>
<Encrypt>
A detailed description of Axerve Ecommerce Solutions integration with Paypal is in the docs.
Paypal Seller Protection
Paypal Seller Protection example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<ppSellerProtection>1</ppSellerProtection>
<shippingDetails>
<shipToName>Marco Bianchi</shipToName>
<shipToStreet>Via Milano 1</shipToStreet>
<shipToCity>Torino</shipToCity>
<shipToState>TO</shipToState>
<shipToCountryCode>IT</shipToCountryCode>
<shipToZip>10100</shipToZip>
<shipToStreet2/>
</shippingDetails>
</Encrypt>
For more information, check out the Paypal Seller Protection section.
If you want to activate the Paypal Seller Protection you must:
- set
ppSellerProtection
to 1
Name | max length | description |
---|---|---|
ppSellerProtection |
1 | Parameter to set the use of a confirmed addresses |
- send all the shipment data in the
shippingDetails
tag.
Paypal recurring payments
In this way you can activate recurring payments on paypal. Note that no
paymentType
is needed.
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>985</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<payPalBillingAgreementDescription>
description of the agreement
</payPalBillingAgreementDescription>
<Encrypt>
A Buyer will be able to subscribe a Billing Agreement on PayPal website so authorizing the Merchant to debit his/her PayPal account in future transactions.
To use PayPal Reference Transaction it’s necessary to fill the tag PayPalBillingAgreementDescription
that can be present or not (in case of a normal PayPal payment it will be left empty or not passed at all).
Name | max length | description |
---|---|---|
payPalBillingAgreementDescription |
127 | Description of the goods, terms and conditions of the billing agreement |
The Encryption service, if field payPalBillingAgreementDescription
is present and not empty, assumes that the payment method is PayPal (so paymentType
field in this case is not mandatory: if present it must be valued PAYPAL
).
If this tag is passed to Encryption, Axerve Ecommerce Solutions bypasses the Pagam page in every case (even if other payment methods are enabled for the Merchant).
This tag has to be filled with description of the goods, terms and conditions of the billing agreement.
Encrypt Example: Paysafecard
Paysafecard example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PPSC</paymentType>
</paymentTypes>
</Encrypt>
Paysafecard does not need mandatory parameters.
You must use S2PPSC
as paymentType
.
More informations about Paysafecard are in the doc.
Encrypt Example: Przelewy24
Przelewy24 example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>PRZELEWY24</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<PrimaryEmail>fryderyk.chopin@pianolessons.pl</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Przelewy24 does not need mandatory parameters.
You must use S2PPSC
as paymentType
.
More informations about Przelewy24 are in the doc.
Encrypt Example: Satispay
Satispay example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>SATISPAY</paymentType>
</paymentTypes>
</Encrypt>
Satispay does not need mandatory parameters.
You must use SATISPAY
as paymentType
.
More informations about Satispay are in the doc.
Encrypt Example: SEPA
SEPA Direct Debit example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>10</amount><!-- mandatory, but not used -->
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>SEPADD</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<FirstName>Stephen</FirstName>
<Lastname>Hawk</Lastname>
<PrimaryEmail>stephen@hawk.com</PrimaryEmail>
<PrimaryPhone>+390123456789</PrimaryPhone>
</CustomerDetail>
<BillingAddress>
<StreetNumber>8</StreetNumber>
<StreetName>Piazza Martiri della Liberta</StreetName>
<City>Biella</City>
<ZipCode>13900</ZipCode>
<CountryCode>IT</CountryCode>
</BillingAddress>
</OrderDetails>
</Encrypt>
To get a pre-approval from SEPA you must specify the paymentType SEPADD
.
This payment method requires some other mandatory data, like customer details and billing address.
The amount used in the Encrypt is mandatory, but it is discarded since the Encrypt
call is used only to get a pre-approval token.
The effectively charged amount is passed to callPagamS2S
after the pre-approval token is received.
If you are using API REST integration, you can find more information in payment/submit
.
Encrypt Example: Sofort
SOFORT example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>10</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>S2PSOF</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<FirstName>Albert</FirstName>
<Lastname>Einstein</Lastname>
<PrimaryEmail>albert.einstein@princeton.edu</PrimaryEmail>
</CustomerDetail>
<BillingAddress>
<CountryCode>DE</CountryCode>
</BillingAddress>
</OrderDetails>
</Encrypt>
Sofort does not need mandatory parameters, but if you send the following parameters, you will jump straight to the SOFORT payment page without authenticating. All these fields are children of OrderDetails
.
Name | max length | description |
---|---|---|
CustomerDetail.FirstName |
65 | Customer First Name |
CustomerDetail.Lastname |
65 | Customer Last name |
CustomerDetail.PrimaryEmail |
100 | Customer primary email |
BillingAddress.CountryCode |
2 | Alpha-2 code. For example, use US for USA |
Encrypt Example: UnionPay
UnionPay example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode>
<amount>10</amount>
<shopTransactionId>SP_S2P_UnionPay_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PUNI</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<PrimaryPhone>+85211112222</PrimaryPhone>
<PrimaryEmail>yangchenning@physics.cn</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Unipay does not need mandatory parameters.
You must use S2PUNI
as paymentType
.
However, if you send the PrimaryEmail
and PrimaryPhone
fields in the OrderDetails
tag, you will jump straight to the UnionPay payment page; otherwise, an intermediary page asking for the email address is showed.
Encrypt Example: WebMoney
WebMoney example:
<Encrypt>
<shopLogin>90000001</shopLogin>
<uicCode>242</uicCode><!-- Euro -->
<amount>0.10</amount>
<shopTransactionId>MYSHOP_001</shopTransactionId>
<paymentTypes>
<paymentType>S2PWMO</paymentType>
</paymentTypes>
</Encrypt>
WebMoney does not need mandatory parameters.
You must use S2PWMO
as paymentType
.
More informations about WebMoney are in the doc.
Encrypt Example: WeChat
WeChat example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>144</uicCode>
<amount>100</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>WECHAT</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<PrimaryEmail>bruce.lee@jetkunedo.com</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
WeChat does not need mandatory parameters.
You must use WECHAT
as paymentType
.
More informations about WeChat are in the doc.
Encrypt Example: Yandex
Yandex Example:
<Encrypt>
<shopLogin>9000001</shopLogin>
<uicCode>242</uicCode>
<amount>10</amount>
<shopTransactionId>34az85ord19</shopTransactionId>
<paymentTypes>
<paymentType>S2PYAN</paymentType>
</paymentTypes>
<OrderDetails>
<CustomerDetail>
<PrimaryEmail>alfred.nobel@dynamite.se</PrimaryEmail>
</CustomerDetail>
</OrderDetails>
</Encrypt>
Yandex does not need mandatory parameters; but if you send CustomerDetail.PrimaryEmail
in the OrderDetails
tag you can have a frictionless call directly to the first screen of Yandex where authentication data are asked.
Name | max length | description |
---|---|---|
CustomerDetail.PrimaryEmail |
100 | Customer primary email |
This mean that no others values are asked to the buyer; if this field is not sent with the payment, a page will ask the necessary fields.
REST APIs
Welcome to Axerve Ecommerce Solutions REST APIs. With these APIs you’ll be able to perform a large set of operations.
To avoid integration errors, it is necessary to avoid using the following characters and strings for all Axerve Ecommerce Solutions parameters and custom parameters:
]
[
>
<
%
|
^
~
*P1*
For the shopTransactionId
parameter (identifier of the transaction designated by the merchant), in addition to the characters mentioned above, it is also necessary to avoid the following characters and strings:
&
(space)
§
(
)
*
,
;
:
/
?
=
--
°
URLs, endpoints and versions
Axerve Ecommerce Solutions provides two endpoints:
URL | |
---|---|
Sandbox | https://sandbox.gestpay.net/api/{version}/{object}/{method} |
Production | https://ecomms2s.sella.it/api/{version}/{object}/{method} |
Methods are versioned, for example v1
.
Methods marked with sandbox are available in sandbox only.
Handling Responses & Errors
Success response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
//Here you'll find the response
...
}
}
Client Error
400 Bad Request
{
"error":{
"code":"1105",
"description":"Invalid parameter value"
},
"payload":{}
}
Unauthorized request:
403 Forbidden Access
{
"error": {
"code": "1166",
"description": "Invalid ApiKey"
},
"payload": {}
}
General error:
500 System Error
{
"error": {
"code": "9999",
"description": "Technical error"
},
"payload": {}
}
Axerve Ecommerce Solutions uses HTTP status codes to indicate the result of an operations.
Axerve Ecommerce Solutions uses an HTTP status code that indicates the success (2xx
) or failure (4xx
, 5xx
) of the request.
Along with the status code, Axerve Ecommerce Solutions sends a json in the body of the response, to better explain the response.
The error code
is one of the error code list.
The error description
contains the error explanation in common language.
The payload
is eventually filled with the response, in case of success.
Payment token
paymentToken
is generated during the creation of a new payment with payment/create and it’s unique for every transaction. It can be insert in the headers for authenticate call for that payment.
The token is valid util the payment is not authorized (before the payment/submit).
Check API
With the Check REST APIs you’ll be able to syntactically check credit card numbers, emails, dates and CVV.
POST check/cvv
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/cvv/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/cvv/
Request body:
{
"shopLogin":"",
"creditcard":{
"cvv":""
}
}
Provides a formal validity check of the CVV.
Request
Headers:
To receive a valid response from Axerve Ecommerce Solutions you must use one of these headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
creditcard.cvv |
4 | A string composed of digits. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"result": "OK"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK of KO |
POST check/email
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/email/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/email/
Request body:
{
"shopLogin":"",
"email":""
}
Provides a formal validity check of the email address.
Request
Headers:
To receive a valid response from Axerve Ecommerce Solutions you must use one of these headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
email |
1000 | A string containing the email to validate. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"result": "OK"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK of KO |
POST check/expirydate
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/expirydate/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/expirydate/
Request body:
{
"shopLogin":"",
"creditcard":{
"expMonth":"",
"expYear":""
}
}
Provides a formal validity check of the Exipry Date.
Request
Headers:
To receive a valid response from Axerve Ecommerce Solutions you must use one of these headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
creditcard.expMonth |
2 | The credit card exiry month |
creditcard.expYear |
2 | The credit card exiry year |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"result": "OK"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK of KO |
POST check/pan
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/pan/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/pan/
Request body:
{
"shopLogin":"",
"creditcard": {
"number": ""
}
}
Provides a check of the digits of the PAN.
Request
Headers:
To receive a valid response from Axerve Ecommerce Solutions you must use one of these headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
creditcard.number |
50 | The credit card number to check. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"checkDigit":"{OK/KO}",
"company":"",
"logo":{
"large":"{url_logo_desktop_lage_PNG}",
"mobile":"{url_logo_mobile_lage_PNG}",
"vector":"{url_logo_svg}"
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
checkDigit |
OK of KO |
company |
the card issuer |
logo |
contains URLs for images in different formats: large , mobile , vector . |
POST check/DCC
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/DCC/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/DCC/
Request body:
{
"shopLogin" : "",
"creditcard":{
"number":""
},
"languageId":""
}
Checks if the card is elegible for Dynamic Currency Conversion.
Request
Header:
Header | Value | Description |
---|---|---|
paymentToken |
{paymentToken} |
A payment token received during the payment process |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
creditcard.number |
50 | The credit card number. |
languageId |
2 | A language ID. |
Response
Success response example:
200 OK
{
"DCC":{
"eligible":"TRUE",
"currency":"PLN",
"amount":"100",
"disclaimer":"https://{domain}/DCC/disclaimer.aspx?transkey=dsajklq31223",
"exchangeRate":"2%",
"source":""
},
"paymentID":"111213213"
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
eligible |
TRUE or FALSE |
currency |
The current currency of the card |
amount |
the amount of the transaction |
disclaimer |
A URL that points to a disclaimer, explaining DCC. |
exchangeRate |
a percentage indicating the commission on the money exchange |
paymentId |
the payment ID |
source |
In this field you’ll find the source from whom information is taken, like exchange rates, etc. |
POST check/creditCard
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/check/creditCard/
Production URL:
POST https://ecomms2s.sella.it/api/v1/check/creditCard/
Request body:
{
"shopLogin" : "",
"shopTransactionID" : "",
"withAuth":"",
"creditcard":{
"number":"",
"token":"",
"expMonth":"",
"expYear":"",
"CVV":""
}
}
Provides a formal validity check of the credit card.
Request
Headers:
To receive a valid response from Axerve Ecommerce Solutions you must use one of these headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
shopTransactionID |
50 | The shop transaction ID. |
withAuth |
TRUE or FALSE (default). Tries to authorize the card. |
|
creditcard.number |
25 | The number of the credit card. |
creditcard.token |
2 | If you have a token, Axerve Ecommerce Solutions can check it for validity. |
creditcard.expMonth |
2 | The expiry month. |
creditcard.expYear |
4 | The expiry year. |
creditcard.CVV |
The CVV. |
Response
Success response example:
200 OK
{
"transactionType":"CreditCard",
"transactionResult":"OK",
"authorizationResult":"OK",
"authorizationErrorCode":"0",
"authorizationCodeDescription":"Transaction correctly processed",
"country":"ITALIA",
"countryCode":"380",
"cvv":"OK",
"cvvDescription":"CVV VALID",
"issuerCountry":"ITALIA",
"issuerCountryCode:":"380",
"company":"MASTERCARD",
"companyCode":"3",
"commercial":"N",
"productDescription":"Standard MasterCard® Card",
"productType":"Credit",
"checkDigit":"OK",
"checkDigitDescription":"CheckDigit VALID",
"expiryDate":"OK",
"expiryDateDescription":"DATE VALID",
"3DS":"Y",
"3DSDescription":"ENROLLED",
"prepaid":"N"
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
transactionType |
CreditCard |
transactionResult |
OK or KO |
authorizationResult |
authorization result. It can be OK or KO or NULL |
authorizationErrorCode |
authorisation error code if an error occurred |
authorizationCodeDescription |
code description |
country |
nationality of the card |
countryCode |
nationality code of the card |
cvv |
result of the check CVV. It can be OK or KO or NULL |
cvvDescription |
description of CVV check results |
issuerCountry |
nationality of the card issuer |
issuerCountryCode |
nationality code of the card issuer |
company |
Description of the Card company |
companyCode |
Code of the Company |
commercial |
Flag that indicates if the Card is commercial or not. Y or N |
productDescription |
Description of the product linked to the card |
productType |
type of the product: Credit or Debit |
checkDigit |
OK or KO , acording to the check digit of the card |
checkDigitDescription |
description of the check digit response |
expiryDate |
OK or KO , acording to the check date of the card |
expiryDateDescription |
description of the check date response |
3DS |
3D Secure enabled:
|
3DSDescription |
enrolment description |
prepaid |
indicates if the card is prepaid of not (Y , N , or empty) |
POST check/token
Merchants can use this method to check the existence of a specific token value. If the token exists, the method provides all the token details (expiration, card details, card art if applicable, etc…)
Request details
Request example:
{
"shopLogin": "",
"token": ""
}
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request body details:
Name | Description | Data Type | max length |
---|---|---|---|
shopLogin |
shopLogin value | string | 30 |
token |
String containing the token value returned by Axerve Ecommerce Solutions. |
string | 25 |
Response details
Response example:
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"tokenValue": "",
"tokenExpiryMonth": "",
"tokenExpiryYear": "",
"tokenProvider": "",
"cardDetails": {
"cardSuffix": "",
"cardExpiryMonth": "",
"cardExpiryYear": "",
"cardHolderName": ""
},
"cardAssets": {
"cardArt": {
"type": "",
"mediaContents": "",
"height": "",
"width": ""
},
"brandLogo": {
"type": "",
"mediaContents": "",
"height": "",
"width": ""
}
}
}
}
payload
details:
Name | Description |
---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
tokenExpiryMonth |
The token expiration month. |
tokenExpiryYear |
The token expiration year. |
tokenProvider |
The entity providing the token. It can be: AXERVE , VISA , MASTERCARD , PAYPAL , AMAZON , APPLE , SEPADD . |
cardDetails.cardSuffix |
The last 4 digit of the card PAN. |
cardDetails.cardExpiryMonth |
The card expiry month. |
cardDetails.cardExpiryYear |
The card expiry Year. |
cardDetails.cardHolderName |
The cardholder name. |
cardAssets.cardArt.type |
The file format of the card art (card image) |
cardAssets.cardArt.mediaContents |
The card image (Base64) |
cardAssets.cardArt.height |
The card art (card image) height |
cardAssets.cardArt.width |
The card art (card image) width |
cardAssets.brandLogo.type |
The file format of the brand logo (e.g. Visa, Mastercard, etc..) |
cardAssets.brandLogo.mediaContents |
The brand logo (e.g. Visa, Mastercard, etc..) image (Base64) |
cardAssets.brandLogo.height |
The brand logo (e.g. Visa, Mastercard, etc..) height |
cardAssets.brandLogo.width |
The brand logo (e.g. Visa, Mastercard, etc..) width |
Dashboard API
With the dashboard REST APIs you’ll be able to query Axerve Ecommerce Solutions for dashboard services, like searching for transactions.
POST dashboard/search
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/dashboard/search
Production URL:
POST https://ecomms2s.sella.it/api/v1/dashboard/search
Example search:
{
"shopLogin": "",
"search": {
"name": "",
"searchID": ""
},
"dateFrom": "",
"dateTo": "",
"authorizedAmount": {
"from": "",
"to": ""
},
"capturedAmount": {
"from": "",
"to": ""
},
"lastNDays": "",
"invoiceID": "",
"currency": [],
"bankTransactionID": "",
"shopTransactionID": "",
"authorizationCode": "",
"transactonErrorCode": "",
"paymentID": "",
"authorizationResult": [],
"tdLevel": "",
"event": {
"type": "",
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"creditDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"debitDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"chargeback": {
"type": "",
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"transactionState": [],
"paymentMethod": [
{
"paymentType": "",
"name": [""]
}
],
"riskAlert": "",
"customFields": [
{
"customName": "customvalue"
}
],
"rangeResults": ""
}
Queries Axerve Ecommerce Solutions for transactions of the past, filtering by many fields.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Body data:
(Fields in bold are mandatory)
Field | Description | Example |
---|---|---|
shopLogin |
Your shop login | GESPAY12345 |
search.name |
The name of a saved search. | today_transactions |
search.searchID |
The searchID of a saved search. | 00001 |
dateFrom |
Search start date 01/01/2017 |
|
dateTo |
Search end date | 31/12/2017 |
authorizedAmount.from |
Search for transactions that have an authorized amount greater than authorizedAmount.from . |
100.01 |
authorizedAmount.to |
Search for transactions that have an authorized amount lower than authorizedAmount.to . |
300.00 |
capturedAmount.from |
Search for transactions that have a captured amount greater than capturedAmount.from . |
15.67 |
capturedAmount.to |
Search for transactions that have a captured amount lower than capturedAmount.to . |
100 |
lastNDays |
retrieve transactions for the last N days |
3 |
invoiceID |
an invoice ID to search | 00000353 |
currency |
an array containing the values to be checked against the transaction. They must be a valid ISO code. | [EUR, USD] |
bankTransactionID |
An ID assigned by the bank. | 33 |
shopTransactionID |
The shopTransactionID is the ID assigned by the shop. |
my_shop_id_42 |
authorizationCode |
The authorization code is a code released by the payment circuit. | 1123454 |
transactionErrorCode |
The transaction error code | 74 |
paymentID |
Assigned by Axerve Ecommerce Solutions, identifies the payment | 12365344752 |
authorizationResult |
select transactions whose authorizationResult is contained in the array. | UNSUBMITTED , WAITING , PENDING (or XX ), APPROVED (or OK ), DECLINED (or KO ) |
tdLevel |
3dSecure level | HALF , FULL |
event.type |
One of the event types | MOV |
event.from |
Search for events occurred after this date | 01/01/2018 |
event.to |
Search for events occurred before this date | 31/12/2018 |
event.lastNDays |
Search the last N days | 7 |
event.includeToday |
True or false | True |
creditDate |
Allows to search by credit date. Works very similarly to event seen before. |
|
debitDate |
Allows to search by debit date. Works very similarly to event seen before. |
|
chargeBack |
Allows to search by disputes. Works very similarly to event seen before. |
|
chargeBack.type |
You can search by a chargeback type, a value in the ALL , OPEN , CLOSE , CLOSE WITH CHARGE set. |
ALL |
transactionState |
the last state of the transaction. See event types for details | MOV |
paymentMethod.paymentType |
the paymentType for this transaction | e.g. CREDITCARD , PAYPAL … |
paymentMethod.name |
The common name of the payment method | VISA BVB |
riskAlert |
use true to select transactions associated with a high risk |
true or false |
customFields.customName |
You can even search by a custom parameter and its value. Just put the customName set as the key and use the value as the search field. |
{ "MY_CUSTOM_PARAM" : "customValue123" } |
rangeResults |
Specify which records you want to read. The first number is the starting point, the last number is the last element. | 11/20 |
Response
Success response:
200 OK
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"nResults": "30",
"rangeResults": "1/5",
"payments": [
{
"Date": "26/02/2018 12:22:29",
"transactionResult": "KO",
"transactionState": "AUT",
"bankTransactionID": "2304",
"shopTransactionID": "Cryptest2602201811",
"authorizationCode": "",
"transactionErrorCode": "",
"transactionErrorDescription": "",
"paymentID": "22131121123",
"amount": "0.10",
"currency": "EUR",
"paymentMethod": {
"paymentType": "CREDITCARD",
"name": "VISA VBV",
"logo": {
"large": "https://{domain}/logos/VisaVbv_Large.png",
"mobile": "https://{domain}/logos/VisaVbv_mobile.png",
"vector": "https://{domain}/logos/VisaVbv.svg"
}
},
"riskAlert": "",
"disputeState": {
"status": "",
"chargeback": ""
},
"tdLevel": "HALF",
"fraudAlert": "",
"guaranteePaymentResult": ""
},
{
"Date": "22/02/2018 10:20:09",
"transactionResult": "OK",
"transactionState": "AUT",
"bankTransactionID": "2303",
"shopTransactionID": "Cryptest2202201811",
"authorizationCode": "1123454",
"amount": "0.10",
"currency": "EUR",
"paymentMethod": {
"paymentType": "CREDITCARD",
"name": "VISA VBV",
"logo": {
"large": "https://{domain}/logos/VisaVbv_Large.png",
"mobile": "https://{domain}/logos/VisaVbv_mobile.png",
"vector": "https://{domain}/logos/VisaVbv.svg"
}
},
"riskAlert": "Y",
"disputeState": {
"status": "",
"chargeback": ""
},
"tdLevel": "FULL",
"fraudAlert": "",
"guaranteePaymentResult": ""
}
//...
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
In case of success the response is paginated. Use the rangeResults
property to retrieve more results.
error
details:
Field | Description |
---|---|
error.code |
0 means no error, otherwise check the error codes and error.description to debug the problem. |
error.description |
If error.code != 0 will contain a description of the error. |
payload
details:
Field | Description |
---|---|
nResults |
the number items returned by the search. |
rangeResults |
the range of items returned (of all items) |
payments |
an array of payment objects, see the next section for details. |
payments
details:
Field | Description |
---|---|
Date |
the transaction date |
transactionResult |
OK or KO |
transactionState |
the state of the transaction. |
bankTransactionID |
a transaction identifier assigned by the bank, guaranteed to be unique. |
shopTransactionID |
a transaction identifier assigned by the merchant. |
authorizationCode |
the authorization code given by the circuit |
transactionErrorCode |
The transaction error code |
transactionErrorDescription |
The transaction error description in common language |
paymentID |
the payment ID |
amount |
the amount of the transaction |
currency |
the ISO currency for the transaction |
paymentMethod.paymentType |
The payment type. |
paymentMethod.name |
The circuit name |
paymentMethod.logo |
a logo of the payment method, in several resolutions. |
riskAlert |
if the transaction is suspicious, riskAlert is marked with Y . |
disputeState.status |
Showm for transactions that have been disputed. Possible values: Open , Closed |
disputeState.chargeback |
Shown for transactions that have resulted in a chargeback. Possible values: True , False , Null |
tdLevel |
Level of authentication for 3D-Secure transactions. FULL or HALF |
fraudAlert |
True or False if the transaction is suspicious. |
guaranteedPaymentResult |
If you’re using Axerve Guaranteed Payment, you’ll receive the fraud risk associated with the transaction. |
POST dashboard/export/file
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/dashboard/export/file
Production URL:
POST https://ecomms2s.sella.it/api/v1/dashboard/export/file
Request Body:
{
"shopLogin":"",
"searchID":"",
"fileType":"",
"template":"",
"email":"",
"prefix":"",
"password":""
}
Creates an export file based on the given template name and returns a temporary URL to download it.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request Body:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
searchID |
The Search ID |
fileType |
The file type extension, one of txt , xls , csv |
template |
The template to use, referenced by name |
email |
The email where the file output will be sent |
prefix |
This value is put before the filename generated automatically by Axerve Ecommerce Solutions. |
password |
If you want to setup a password for the zip file, fill this field with a password value |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"href":"https://ecomm.sella.it/backoffice/export/12342141asadfsa.txt"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK ok KO |
href |
the url where the file can be downloaded |
POST dashboard/export/batch
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/dashboard/export/batch/
Production URL:
POST https://ecomms2s.sella.it/api/v1/dashboard/export/batch/
Example POST for a NEW batch
{
"shopLogin":"myShopLogin",
"name":"Batch No 1",
"ID":"",
"search":{
"ID":"11122121"
},
"fileType":"xls",
"template":{
"ID":"362"
},
"recipient":{
"email":{
"value":"myname@mydomain.co.in",
"enabled":"true"
},
"ftp":{
"value":"",
"enabled":""
}
},
"frequency":{
"ID":"1S"
},
"level": [
{"ID": ""}
{"ID": ""}
],
"prefix":"Su_",
"password":"myPWD"
}
Creates a new export batch or modify an existing one.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Body details:
(Fields in bold are mandatory)
Field | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
name |
The batch name |
ID |
If empty, creates a new batch. Otherwise it will update a previous one. Mandatory on update. |
sarch.ID |
The Search ID that originates the batch. |
template.ID |
The Template ID used by the export. |
fileType |
The output file type: txt , xls , csv |
recipient.email.value |
The email where the batch output will be sent |
recipient.email.enabled |
True if the email should be sent to this address. |
recipient.ftp.value |
The FTP address to upload the file |
recipient.ftp.enabled |
True if the batch should be uploaded via ftp. |
frequency.ID |
Determines the start day of the batch interval.See the related table. |
prefix |
This value is put before the filename generated automatically by Axerve Ecommerce Solutions. |
level |
Event level
|
At least one of recipient.email.enabled
and recipient.ftp.enabled
must be True
.
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"batch":{
"name":"Batch No 1",
"batchID":"1111"
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK ok KO |
batch.name |
The name of the batch |
batch.id |
The batch ID |
GET dasboard/export/batch
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/dashboard/export/batch/{shopLogin}/
Production URL:
GET https://ecomms2s.sella.it/api/v1/dashboard/export/batch/{shopLogin}/
This endpoint will return the list of batches saved in Axerve Ecommerce Solutions.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL params:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
Response
Success response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"batch":[
{
"name":"Batch No 1",
"ID":"1111",
"search":{
"ID":"127617",
"name":"MAESTRO"
},
"template":{
"ID":"1345",
"name":"My Template 1"
},
"fileType":"xls",
"recipient":{
"email":{
"value":"myname@mydomain.co.in",
"enabled":"true"
},
"ftp":{
"value":"ftp://ftp.mydomain.co.in",
"enabled":"false"
}
},
"frequency":{
"ID":"1S",
"name":"Sunday"
},
"prefix":"Su_",
"level": [
{"ID": "A", "name": "TRANSACTION"},
{"ID": "E", "name": "ALL EVENTS"}
]
},
{
"name":"Batch No 2",
"ID":"3112",
"search":{
"ID":"127618",
"name":"MAESTRO SC"
},
"template":{
"ID":"1345",
"name":"My Template 1"
},
"fileType":"xls",
"recipient":{
"email":{
"value":"",
"enabled":""
},
"ftp":{
"value":"ftp://ftp.mydomain.co.in",
"enabled":"true"
}
},
"frequency":{
"ID":"2S",
"name":"Monday"
},
"prefix":"Monthly1st",
"level": [
{"ID": "A", "name": "TRANSACTION"},
{"ID": "E", "name": "ALL EVENTS"}
]
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
batch |
An array of batches, see next table. |
batch
details:
Field | Description |
---|---|
name |
The batch name |
ID |
An ID assigned by Axerve Ecommerce Solutions |
sarch.ID |
The Search ID that originates the batch. |
sarch.name |
The Search Name that originates the batch. |
template.ID |
The Template ID used by the export. |
template.name |
The Template Name used by the export. |
fileType |
The output file type. |
recipient.email.value |
The email where the batch output will be sent |
recipient.email.enabled |
True if the email should be sent to this address. |
recipient.ftp.value |
The FTP address to upload the file |
recipient.ftp.enabled |
True if the batch should be uploaded via ftp. |
frequency.ID |
Determines the start day of the batch interval. See the related table. |
frequency.name |
Displays a description based on the frequency value . See the related table. |
prefix |
This value is put before the filename generated automatically by Axerve Ecommerce Solutions. |
level |
Event level
|
DELETE dashboard/export/batch
Sandbox URL:
DELETE https://sandbox.gestpay.net/api/v1/dashboard/export/batch/{shopLogin}/{batchID}
Production URL:
DELETE https://ecomms2s.sella.it/api/v1/dashboard/export/batch/{shopLogin}/{batchID}
Deletes a batch.
Request
Specify in the URL the shopLogin
and the batchID
.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL params:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
batchID |
the batch you want to delete |
Response
Success response payload:
200 OK
{
"result":"OK",
"batch":{
"name":"Batch No 1",
"batchID":"1111"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Field | Detail |
---|---|
result |
the result (OK /KO ) of the operation |
batch.name |
The deleted batch name |
batch.batchID |
The deleted batch ID |
GET dashboard/statistic
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/dashboard/statistic/{shopLogin}
Returns a bunch of statistics for your shop.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameters:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"statistics":[
{
"currency":"EUR",
"from":"04/04/2018",
"to":"10/04/2018",
"elapsed":"5D",
"totalNumber":"489",
"totalAmount":"82.118,61",
"transactions":{
"authorized":{
"number":"455",
"amount":"80.716,41",
},
"suspended":{
"number":"442",
"amount":"80.543,84"
},
"deleted":{
"number":"0",
"amount":"0,00"
},
"captured":{
"number":"12",
"amount":"66,71"
},
"reversed":{
"number":"1",
"amount":"105,86"
},
"declined":{
"number":"34",
"amount":"1.402,20"
}
},
"paymentTypes":[
{
"paymentType":"CREDITCARD",
"company":"MASTERCARD SECURECODE",
"number":"2",
"amount":"42,34"
},
{
"paymentType":"CREDITCARD",
"company":"MASTERCARD",
"number":"1",
"amount":"1,00"
},
{
"paymentType":"CREDITCARD",
"company":"VISA",
"number":"20",
"amount":"134,11"
},
{
"paymentType":"FidelityCARD",
"company":"",
"number":"9",
"amount":"0,09"
},
{
"paymentType":"MYBANK",
"company":"",
"number":"4",
"amount":"12,64"
},
{
"paymentType":"S2PALI",
"company":"",
"number":"390",
"amount":"68.521,46"
},
{
"paymentType":"S2PIDE",
"company":"",
"number":"3",
"amount":"227,03"
},
{
"paymentType":"KLARNA",
"company":"",
"number":"7",
"amount":"1.568.50"
},
{
"paymentType":"S2PMUL",
"company":"",
"number":"10",
"amount":"258,11"
},
{
"paymentType":"S2PSOF",
"company":"",
"number":"22",
"amount":"7.311,51"
},
{
"paymentType":"S2PUNI",
"company":"",
"number":"21",
"amount":"7.301,36"
}
]
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload.statistics
can contain zero or more items, each referring to a temporal frame.
For every statistic in payload.statistics
:
Field | Description |
---|---|
currency |
ISO currency code |
from |
the starting date for these statistics |
to |
the end date |
elapsed |
the amount of days elapsed |
totalNumber |
total number of transactions |
totalAmount |
the total amount of authorized, suspended, deleted, captured, reversed and declined transactions. |
transactions |
An object that contains the number, along with the amount, of transactions authorized, suspended, deleted, captured, reversed and declined. See the table below. |
paymentTypes |
a fine-grained statistic for every payment type. See the next table for details. |
transactions
details
Field | Description |
---|---|
authorized |
Statistics about authorized transactions. |
suspended |
Statistics about suspended transactions. |
deleted |
Statistics about deleted transactions. |
captured |
Statistics about captured transactions. |
reversed |
Statistics about reversed transactions. |
declined |
Statistics about declined transactions. |
For each category we have:
Field | Description |
---|---|
number |
The number of transactions for this category. |
amount |
The sum of all amounts for this category. |
paymentTypes
details
For every payment type, Axerve Ecommerce Solutions returns an object containing the number of transactions and the amount.
Field | Description |
---|---|
paymentType |
The payment type. |
company |
A company involved in this payment type. For example, if the payment type is CREDITCARD , the company is VISA , MASTERCARD , etc. |
number |
the number of transactions for this payment type and company. |
amount |
The amount collected for this payment type and company. |
POST dashboard/export/template
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/dashboard/export/template/
Production URL:
POST https://ecomms2s.sella.it/api/v1/dashboard/export/template/
Example request body:
{
"shopLogin":"myshoplogin",
"templateId":"",
"description":"New template 1",
"default":"True",
"columns":[
"Email compratore",
"ID Banca",
"Stato",
"Cardnumber",
...
]
}
Creates or modifies a template. If the templateId
is present, the template is updated.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Body parameters:
(Fields in bold are mandatory)
Field | Description |
---|---|
shopLogin |
The shop identifier. |
template.templateId |
Leave empty if you’re creating a new template. Otherwise, you must use an existing templateId to update one. |
template.description |
A description of the template in common language |
template.default |
True or False |
template.columns |
an array of strings, representing the name of the properties that compose a transaction. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"template":[
{
"templateId":"121212212",
"description":"New template 1",
"default":"True",
"columns":[
"date",
"shopTransactionID",
"bankTransactionID",
"transactionResult",
"authorizedAmount",
"capturedAmount",
"paymentID",
"currency"
]
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK or KO |
template |
An array containing one or more templates. |
template.templateID |
The template ID of the template created or updated |
template.description |
A description of the template in common language |
template.default |
True or False |
template.columns |
an array of strings, representing the name of the properties that compose a transaction. |
GET dashboard/export/template
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/dashboard/export/template/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/dashboard/export/template/{shopLogin}
Returns a list of all templates created for your shopLogin
.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameters:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"template":[
{
"templateId":"121212212",
"description":"New template 1",
"creationDate":"12/04/2018 11:23",
"default":"True",
"columns":[
"date",
"shopTransactionID",
"bankTransactionID",
"transactionResult",
"capturedAmount",
"paymentID",
"currency",
...
]
},
{
"templateId":"121214442",
"description":"Exporting Mov",
"creationDate":"12/04/2018 11:23",
"default":"False",
"columns":[
"date",
"shopTransactionID",
"bankTransactionID",
"transactionResult",
"capturedAmount",
"paymentID",
"currency",
...
]
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
template |
An array containing one or more templates. |
template.templateId |
The template ID. |
template.description |
A description of the template in common language |
template.creationDate |
The creation date for this template |
template.default |
True or False |
template.columns |
an array of strings, representing the name of the properties that compose a transaction. |
DELETE dashboard/export/template
Sandbox URL:
DELETE https://sandbox.gestpay.net/api/v1/dashboard/export/template/{shopLogin}/{templateID}
Production URL:
DELETE https://ecomms2s.sella.it/api/v1/dashboard/export/template/{shopLogin}/{templateID}
Deletes a template.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameters:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
The shop identifier. |
templateID |
The template you want to delete. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"template":{
"templateId":"121212212",
"description":"New template 1"
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK or KO |
template.templateId |
The deleted template ID. |
template.description |
The deleted template description. |
GET dasboard/search/saved
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/dashboard/search/saved/{shopLogin}/
Production URL:
GET https://ecomms2s.sella.it/api/v1/dashboard/search/saved/{shopLogin}/
Returns the list of saved searches in Axerve Ecommerce Solutions.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL params:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
Response
Success response:
200 OK
{
"search":[
{
"save":{
"name":"",
"searchID":""
},
"authorizedAmount":{
"from":"",
"to":""
},
"capturedAmount":{
"from":"",
"to":""
},
"currency":[
],
"bankTransactionID":"",
"shopTransactionID":"",
"authorizationCode":"",
"transactionErrorCode":"",
"transactionErrorDescription":"",
"paymentID":"",
"authorizationResult":"",
"tdLevel":"",
"event": {
"type":"",
"from":"",
"to":"",
"lastNDays":"",
"includeToday":""
},
"creditDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"debitDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"chargeback": {
"type": "",
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"transactionState":[],
"paymentMethod":[{
"paymentType":"",
"name":[]
}],
"riskAlert":"",
"customFields":[
{
"customName":"customvalue"
}
],
"invoiceID":""
}
]
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
search |
An array of search objects, see next table. |
search
details:
Field | Description |
---|---|
save.name |
The search name. |
save.searchID |
The ID assigned by Axerve Ecommerce Solutions for this search. |
authorizedAmount.from |
the from amount range. If 10 , only authorized amounts greater than 10 are returned. |
authorizedAmount.to |
The to amount range. If 20 , only authorized amounts lower than 20 are returned. |
capturedAmount.from |
the from amount range. If 10 , only captured amounts greater than 10 are returned. |
capturedAmount.to |
The to amount range. If 20 , only captured amounts lower than 20 are returned. |
currency |
An array of valid currencies to search for. |
bankTransactionID |
the bank transaction ID. |
shopTransactionID |
The shop transaction ID. |
authorizationCode |
The authorization code released by the payment circuits. |
transactionErrorCode |
A transaction error code. |
transactionErrorDescription |
A transaction error description, in common language. |
paymentID |
The payment ID |
authorizationResult |
The authorization result. |
tdLevel |
3D-Secure level |
event |
Accepted events. See below. |
creditDate |
Allows to search by credit date. Works very similarly to event seen before. |
debitDate |
Allows to search by debit date. |
chargeBack |
Allows to search by disputes. Works very similarly to event seen before. |
chargeBack.type |
You can search by a chargeback type, a value in the ALL , OPEN , CLOSE , CLOSE WITH CHARGE set. |
transactionState |
An array of transaction states. Follow the link for a detailed explanation of transaction statuses. |
paymentMethod |
an array containing payment types and payment names. |
riskAlert |
true to select transactions associated with a high risk |
customFields.customName |
You can even search by a custom parameter and its value. Just put the customName set as the key and use the value as the search field. |
invoiceID |
the invoice ID. |
search.event
details:
Name | Description |
---|---|
type |
One of the events defined in Event Types. |
from |
The from date for the specified event type. |
to |
The to date for the specified event type. |
lastNDays |
an integer defining if this event should be searched in the last N days. Alternative to from and to . |
includeToday |
If true , it includes today in the search. |
POST dashboard/search/saved
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/dashboard/search/saved/
Production URL:
POST https://ecomms2s.sella.it/api/v1/dashboard/search/saved/
Example request body:
{
"shopLogin":"",
"authorizedAmount":{
"from":"",
"to":""
},
"capturedAmount":{
"from":"",
"to":""
},
"currency":[
],
"bankTransactionID":"",
"shopTransactionID":"",
"authorizationCode":"",
"transactionErrorCode":"",
"paymentID":"",
"authorizationResult":[],
"tdLevel":"",
"event": {
"type":"",
"from":"",
"to":"",
"lastNDays":"",
"includeToday":""
},
"creditDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"debitDate": {
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"chargeback": {
"type": "",
"from": "",
"to": "",
"lastNDays": "",
"includeToday": ""
},
"transactionState":[],
"paymentMethod":[{
"paymentType":"",
"name":[]
}],
"riskAlert":"",
"customFields":[{
"customName":"customvalue"
}],
"save":{
"name":""
},
"invoiceID":""
}
Creates a saved search. If the templateId
is present, the template is updated.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Body parameters:
(Fields in bold are mandatory)
Field | Description |
---|---|
shopLogin |
The shop identifier. |
save.name |
A user friendly name of the custom search. |
capturedAmount.from |
the from amount range. If 10 , only captured amounts greater than 10 are returned. |
capturedAmount.to |
The to amount range. If 20 , only captured amounts lower than 20 are returned. |
authorizedAmount.from |
the from amount range. If 10 , only authorized amounts greater than 10 are returned. |
authorizedAmount.to |
The to amount range. If 20 , only authorized amounts lower than 20 are returned. |
currency |
An array of valid currencies to search for. |
bankTransactionID |
the bank transaction ID. |
shopTransactionID |
The shop transaction ID. |
authorizationCode |
The authorization code. |
transactionErrorCode |
A transaction error code. |
paymentID |
The payment ID |
authorizationResult |
The authorization result: can be one of OK , KO , XX , APPROVED , DECLINED , PENDING |
tdLevel |
3D-Secure level |
event |
An accepted event. See below. |
creditDate |
Allows to search by credit date. Works very similarly to event seen before. |
debitDate |
Allows to search by debit date. |
chargeBack |
Allows to search by disputes. Works very similarly to event seen before. |
chargeBack.type |
You can search by a chargeback type, a value in the ALL , OPEN , CLOSE , CLOSE WITH CHARGE set. |
transactionState |
An array of transaction states. Follow the link for a detailed explanation of transaction statuses. |
paymentMethod |
an array of payment types and payment names. |
riskAlert |
true to select transactions associated with a high risk |
customFields.customName |
You can even search by a custom parameter and its value. Just put the customName set as the key and use the value as the search field. |
invoiceID |
the invoice ID. |
event
details:
Name | Description |
---|---|
type |
One of the events defined in Event Types. |
from |
The from date for the specified event type. |
to |
The to date for the specified event type. |
lastNDays |
an integer defining if this event should be searched in the last N days. Alternative to from and to . |
includeToday |
If true , it includes today in the search. |
Response
Success response example:
200 OK
{
"result":"OK",
"search":{
"name":"mySavedSearch1",
"searchID":"12423785932",
"description": "My saved search"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK or KO |
search |
An array containing one or more templates. |
search.name |
The name you assigned in the request |
search.searchID |
An ID generated by Axerve Ecommerce Solutions |
search.description |
A textual dscription of the saved search. |
DELETE dasboard/search/saved
Sandbox URL:
DELETE https://sandbox.gestpay.net/api/v1/dashboard/search/saved/{shopLogin}/{searchID}
Production URL:
DELETE https://ecomms2s.sella.it/api/v1/dashboard/search/saved/{shopLogin}/{searchID}
Returns the list of saved searches in Axerve Ecommerce Solutions.
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL params:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
your Shop Login, e.g. GESPAY12345 or XX12345678 |
searchID |
an existing searchID |
Response
Success response:
200 OK
{
"result":"OK",
"search":{
"name":"mySavedSearch1",
"searchID":"12423785932",
"description":"My saved search"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
result |
OK or KO |
search |
an object with info on the deleted search object. |
search
details:
Field | Description |
---|---|
name |
The search name. |
searchID |
The ID assigned by Axerve Ecommerce Solutions for this search. |
description |
A textual description for the saved search. |
Payment API
With the Payment REST API you can automate every aspect of the payment process.
POST payment/create
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/create/
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/create/
Example request:
{
"shopLogin":"",
"amount":"",
"currency":"",
"shopTransactionID":"",
"buyerName":"",
"buyerEmail":"",
"languageId":"",
"customInfo":{
"{myCustomInfo1}":"{myCustomInfoValue1}",
"{myCustomInfo2}":"{myCustomInfoValue2}"
},
"paymentChannel":{
"channelType":["(EMAIL/QRCODE/LINK)"],
"validityPeriod":{
"validityStart":{
"minutesFromNow": 0,
"UTCDateTime": "" //yyyy-mm-ddThh24:mi:00 (ex. "2024-01-29T13:14:00")
},
"validityEnd":{
"minutesFromNow": 1440,
"UTCDateTime": "",
"validityMinutes": 0
}
},
},
"requestToken":"",
"clientIP":"",
"itemType":"",
"recurrent":"",
"paymentType":[],
"shippingDetails":{
"shipToName":"",
"shipToStreet":"",
"shipToState":"",
"shipToCountryCode":"",
"shipToZip":"",
"shipToStreet2":""
},
"payPalDescription": "",
"ppSellerProtection": "",
"orderDetails":{
"fraudPrevention":{
"submitForReview":"",
"orderDateTime":"",
"orderNote":"",
"submissionReason":"",
"beaconSessionID":"",
"vendorID":"",
"vendorName":"",
"source":""
},
"customerDetail":{
"profileID":"",
"merchantCustomerID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"primaryEmail":"",
"secondaryEmail":"",
"homePhone":"",
"mobilePhone":"",
"dateOfBirth":"",
"gender":"",
"socialSecurityNumber":"",
"company":"",
"createdAtDate":"",
"verifiedEmail":"",
"accountType":"",
"social":{
"network":"",
"publicUsername":"",
"communityScore":"",
"profilePicture":"",
"email":"",
"bio":"",
"accountUrl":"",
"following":"",
"followed":"",
"posts":"",
"id":"",
"authToken":"",
"socialData":""
}
},
"shippingAddress":{
"profileID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"streetName":"",
"streetname2":"",
"houseNumber":"",
"houseExtention":"",
"city":"",
"zipCode":"",
"state":"",
"countryCode":"",
"email":"",
"primaryPhone":"",
"secondaryPhone":"",
"company":"",
"stateCode":""
},
"billingAddress":{
"profileID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"streetName":"",
"streetname2":"",
"houseNumber":"",
"houseExtention":"",
"city":"",
"zipCode":"",
"state":"",
"countryCode":"",
"email":"",
"primaryPhone":"",
"secondaryPhone":"",
"company":"",
"stateCode":""
},
"ProductDetails": [{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-4",
"Name": "Porche Carrera scale model",
"Description": "Porche Carrera scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
},
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-5",
"Name": "Ferrari scale model",
"Description": "Ferrari scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
}
],
"discountCodes":[{
"Amount":"",
"Code":""
}],
"shippingLines":[{
"Price":"",
"Title":"",
"Code":""
}]
},
"transDetails": {
...
}
}
Initialize the payment
Request
Headers:
Header | Value | Description |
---|---|---|
Content-Type |
application/json |
|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Input Body:
(Fields in bold are mandatory)
Field | Max length | Description |
---|---|---|
shopLogin |
30 | Your shop login. |
amount |
9 | The amount to capture. |
currency |
3 | ISO currency code. |
shopTransactionID |
50 | the shop transaction ID. |
buyerName |
50 | buyer’s name. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)). |
buyerEmail |
50 | buyer’s e-mail address. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)). |
customInfo |
1000 | An object containing optional customised parameters. Use the customInfo parameter name as the key. |
paymentChannel |
Information about The payment channel for this payment. See the table below for a breakdown of all the fields. | |
requestToken |
25 | MASKEDPAN for a Standard Token; any other value for Custom Token. |
languageId |
2 | language to use for e-mails to the buyer. |
clientIP |
45 | For PayPal Billing Agreements it is required only in “one click” mode transaction. For AMEX transaction not in Euro, in this field the merchant could provide the client IP address to activate the Enhanced Authorization AAV. Mandatory if you use Axerve Guaranteed Payment with S2S. |
itemType |
250 | Item Category: digital /physical (If physical the ShippingDetails have to be filled). |
recurrent |
5 | True if it’s a recurrent payment, False if not. |
responseURLs |
where to redirect the user after the payment. | |
shippingDetails |
contains the shipping address. Used for paypal seller protection. | |
payPalDescription |
127 | Description of the goods, terms and conditions of the PayPal billing agreement. |
ppSellerProtection |
1 | Set to 1 to use Paypal Seller Protection. |
OrderDetails |
contains every other info needed to handle the payment. It is used by Axerve Guaranteed Payment. | |
transDetails |
Contains informations for 3DS 2.0 authentication |
- children of
paymentChannel
:
Field | Description |
---|---|
channelType |
The payment channel for this payment. Can be EMAIL , QRCODE or LINK , in any combination. |
validityPeriod |
structure to set the validity period of the link/QR code that will be created. If not specified, the validity will be set to the default value of 2880 minutes (48 hours). |
validityPeriod.validityStart.minutesFromNow |
the offset in minutes of the start of the validity of the link from the creation timestamp |
validityPeriod.validityStart.UTCDateTime |
the starting validity date of the link; must be a valid UTC date |
validityPeriod.validityEnd.minutesFromNow |
the offset in minutes of the end of the validity of the link from the creation timestamp |
validityPeriod.validityEnd.UTCDateTime |
the end validity date of the link; must be a valid UTC date |
validityPeriod.validityEnd.validityMinutes |
minutes from validity starting timestamp; can have a value only when minutesFromNow and UTCDateTime are not set |
- children of
ShippingDetails
:
Field | Max length | Description |
---|---|---|
shipToName |
32 | shipping name |
shipToStreet |
100 | shipping address |
shipToState |
40 | shipping state (see Paypal State Codes table) |
shipToCountryCode |
2 | shipping country code (see Paypal Country Codes table) |
shipToZip |
20 | the shipping Zip |
shipToStreet2 |
200 | an additional field for the shipping address |
- children of
transDetails
:
Name | Format/Max length | Description |
---|---|---|
type |
3 | Transaction type. Possible values:
|
authenticationAmount |
max 9 (see the amount field) |
3DS authentication amount. If not filled, the authentication amount used will be the amount of the transaction (amount field previously described). The authenticationAmount should be equal or higher than amount, otherwise it will be ignored and the authentication will be made using the amount value. If the authenticationAmount field is used and it is higher than the transaction amount, it is recommended to notify the buyer that the authentication amount will differ from the authorization amount. |
threeDSAuthResult |
object | Result of the 3DS authentication done with another provider (Axerve will manage the authorization request, considering the 3DS phase already completed) |
authenticationLevel |
2 | Transaction is successfully authenticated by 3DS:
|
authenticationStatus |
1 | Status of the authentication |
XID |
36 | Transaction unique id assigned by Directory Server |
AV |
28 | Cardholder Authentication Verification Value, proof of authentication done |
ECI |
2 | Electronic Commerce Indicator |
AVAlgorithm |
2 | Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 |
threeDsVersion |
8 | EMVco protocol version identifier |
threeDsContainer |
object | Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience |
recurringTransaction |
object | Contains informations necessary in case of recurring payment |
expiry |
8 | Required for Recurring Payments. Date after which no further transaction shall be performed. Format: YYYYMMDD |
frequency |
4 | Required for Recurring Payments. It indicates the minimum number of days between two transactions of the same plan |
previousTransDetails |
object | Contains the details of a previous authenticated transaction for the same cardholder on the same merchant. If present, it can help to increase the chances of a frictionless authentication |
authData |
string | Prior Transaction Authentication Data |
authMethod |
2 | Prior Transaction Authentication Method. Possible values:
|
authTimestamp |
12 | Prior Transaction Authentication Timestamp. Format: YYYYMMDDHHMM |
acsID |
36 | Prior Transaction Authentication Reference (ACS Transaction ID) |
paymentID |
Prior payment identifier ID (if it was managed by Axerve Ecommerce Solutions) | |
XID |
36 | Prior Transaction unique ID assigned by Directory Server |
Response URLs
With the REST Api you can set the redirect url for the success or failure case, along with the Server to server notification URL.
Field | Max length | Description |
---|---|---|
buyerOK |
100 | The URL where the user will be redirected in case of success. |
buyerKO |
100 | The URL where the user will be redirected in case of failure. |
serverNotificationURL |
100 | Axerve Ecommerce Solutions will try to reach this URL to notify the merchant of the payment result. |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"paymentToken":"Asjdlfad5543AA33a",
"paymentID":"0000000001",
"userRedirect": {
"href": ""
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
paymentToken |
A token related to this transaction. |
paymentID |
The ID of this transaction, assigned by Axerve Ecommerce Solutions. |
userRedirect.href |
The address to whom redirect the user. |
GET payment/dataForBuyer
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/payment/dataForBuyer/{paymentID}
Production URL:
GET https://ecomms2s.sella.it/api/v1/payment/dataForBuyer/{paymentID}
Retrieves the current payment data: amount, currency, Merchant Logo URL, Merchant Sign, addional fields sets by the merchant.
Before calling this method, you MUST have already called POST payment/create.
Request
Headers:
Header | Value | Description |
---|---|---|
paymentToken |
{paymentToken} |
The payment token returned by payment/create |
URL parameter:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
paymentID |
The payment identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"merchantLogo":"https://ecomms2s.sella.it/temp/MerchantLogo.SVG",
"sign":"MERCHANTSIGN",
"amount":"1.00",
"languageID":"ITA",
"currency":"EUR",
"visibleCustomFields": {
"myVisibleCustomField1":"myVisibleCustomField1",
"myVisibleCustomField2":"myVisibleCustomField2"
},
"paymentID":"121213231"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
merchantLogo |
The merchant logo image URL |
sign |
The merchant’s name. This can correspond to the business name. |
amount |
The transaction amount |
languageID |
The buyer’s language |
currency ` |
the payment currency ISO code |
visibleCustomFields |
An object with custom fields that are set as visible to the user. These fields are set by the merchant. For further information see sending custom parameters to Axerve Ecommerce Solutions. |
GET payment/methods
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/payment/methods/{paymentID}/{languageID}
Production URL:
GET https://ecomms2s.sella.it/api/v1/payment/methods/{paymentID}/{languageID}
Retrieves the list of the enabled and visible payment methods. For each method provides:
- Method name
- Logo url (.svg +.png) for Desktop and Mobile version
- PaymentType
- PaymentTypeDetail required (TRUE
/ FALSE
)
Before calling this method, you MUST have already called POST payment/create.
Request
Headers:
Header | Value | Description |
---|---|---|
paymentToken |
{paymentToken} |
The payment token returned by payment/create |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max Length | Description |
---|---|---|
paymentID |
The payment identifier. | |
languageID |
2 | The chosen language for this payment. See the language codes table. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"paymentMethod":[
{
"name":"PayPal",
"logo":{
"large":"https://{domain}/logos/PayPal_Large.png",
"mobile":"https://{domain}/logos/PayPal_mobile.png",
"vector":"https://{domain}/logos/PayPal.svg"
},
"paymentType":"PAYPAL",
"paymentTypeDetail":{
"href":""
},
"userRedirect":{
"href":"https://ecomm.sella.it/pagam/pagam.aspx?a=yourshoplogin&b=somePaymentToken&paymentType=PAYPAL"
}
},
{
"name":"VisaVbv",
"logo":{
"large":"https://{domain}/logos/VisaVbv_Large.png",
"mobile":"https://{domain}/logos/VisaVbv_mobile.png",
"vector":"https://{domain}/logos/VisaVbv.svg"
},
"paymentType":"CreditCard",
"paymentTypeDetail":{
"href":""
},
"userRedirect":{
"href":""
}
},
{
"name":"MyBank",
"logo":{
"large":"https://{domain}/logos/MyBank_Large.png",
"mobile":"https://{domain}/logos/MyBank_mobile.png",
"vector":"https://{domain}/logos/MyBank.svg"
},
"paymentType":"MyBank",
"paymentTypeDetail":{
"href":"/payment/method/detail/MyBank/{shopLogin}"
},
"userRedirect":{
"href":""
}
}
],
"paymentID":"111214124"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
paymentMethod |
an array of payment methods. See next table. |
paymentID |
The payment ID. |
Children of paymentMethod
:
Field | Description |
---|---|
name |
The payment method |
logo |
Logos for the payment method: desktop, mobile, vectorial are available. |
paymentType |
The corresponding payment type for this payment method |
paymentTypeDetail.href |
An url that points to more details for the current payment method. Empty if not applicable. |
userRedirect.href |
The URL to redirect the user to pay with this payment method. Empty if not applicable. |
GET payment/methods/detail
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/payment/methods/detail/{paymentID}/{paymentType}
Production URL:
GET https://ecomms2s.sella.it/api/v1/payment/methods/detail/{paymentID}/{paymentType}
Some payment methods need additional iformation to complete the payment process. For example, they might require to redirect the user to a specific page. With this method you can find the additional informations required.
Before calling this method, you MUST have already called POST payment/create.
Request
Headers:
Header | Value | Description |
---|---|---|
paymentToken |
{paymentToken} |
The payment token. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max Length | Description |
---|---|---|
paymentID |
The payment identifier | |
paymentType |
25 | The payment type |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"paymentTypeDetail":{
"bank":[
{
"bankCode":"001",
"bankName":"E-Corp",
"userRedirect":{
"href":"https://ecomm.sella.it/pagam/pagam.aspx?a=yourshoplogin&b=somePaymentToken&paymentType=thePaymentType&payment"
}
},
{
"bankCode":"002",
"bankName":"F-Corp",
"userRedirect":{
"href":"https://ecomm.sella.it/pagam/pagam.aspx?a=yourshoplogin&b=somePaymentToken&paymentType=thePaymentType&payment"
}
}
]
},
"paymentID":"11232131242314"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
paymentTypeDetail.bank |
An array containing informations about specific banks for this payment method. See next table |
paymentTypeDetail.paymentID |
the payment ID |
Details for bank
array:
Field | Description |
---|---|
bankCode |
A code that identifies the bank |
bankName |
The bank Name, useful to show the bank name to the user |
userRedirect.href |
The url to redirect the user to pay with the chosen bank |
POST payment/update
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/update
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/update
Request Body:
{
"shopLogin":"",
"amount":"",
"paymentID":"",
"shippingDetails":{
"shipToName":"",
"shipToStreet":"",
"shipToState":"",
"shipToCountryCode":"",
"shipToZip":"",
"shipToStreet2":""
},
"orderDetails":{
"fraudPrevention":{
"submitForReview":"",
"orderDateTime":"",
"orderNote":"",
"source":"",
"submissionReason":"",
"beaconSessionID":"",
"vendorID":"",
"vendorName":""
},
"customerDetail":{
"profileID":"",
"merchantCustomerID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"primaryEmail":"",
"secondaryEmail":"",
"homePhone":"",
"mobilePhone":"",
"dateOfBirth":"",
"gender":"",
"socialSecurityNumber":"",
"company":"",
"createdAtDate":"",
"verifiedEmail":"",
"accountType":"",
"social":{
"network":"",
"publicUsername":"",
"communityScore":"",
"profilePicture":"",
"email":"",
"bio":"",
"accountUrl":"",
"following":"",
"followed":"",
"posts":"",
"id":"",
"authToken":"",
"socialData":""
}
},
"shippingAddress":{
"profileID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"streetName":"",
"streetname2":"",
"houseNumber":"",
"houseExtention":"",
"city":"",
"zipCode":"",
"state":"",
"countryCode":"",
"email":"",
"primaryPhone":"",
"secondaryPhone":"",
"company":"",
"stateCode":""
},
"billingAddress":{
"profileID":"",
"firstName":"",
"middleName":"",
"lastname":"",
"streetName":"",
"streetname2":"",
"houseNumber":"",
"houseExtention":"",
"city":"",
"zipCode":"",
"state":"",
"countryCode":"",
"email":"",
"primaryPhone":"",
"secondaryPhone":"",
"company":"",
"stateCode":""
},
"productDetails":[
{
"productCode":"",
"SKU":"",
"name":"",
"description":"",
"quantity":"",
"price":"",
"unitPrice":"",
"type":"",
"vat":"",
"discount":"",
"requiresShipping":"",
"condition":"",
"seller":"",
"category":"",
"subCategory":"",
"brand":"",
"deliveryAt":""
}
],
"discountCodes":[
{
"Amount":"",
"Code":""
}
],
"shippingLines":[
{
"Price":"",
"Title":"",
"Code":""
}
]
}
}
Updates a payment with new information.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request Body:
(Fields in bold are mandatory)
Field | Max Length | Description |
---|---|---|
shopLogin |
30 | the merchant’s code |
amount |
9 | the updated amount |
paymentID |
The payment ID to update | |
shippingDetails |
if the payment method you’re using spports shippingDetails , you can pass updated fields. See shippingDetails for info. |
|
orderDetails |
if the payment method you’re using spports orderDetails , you can pass updated fields. See orderDetails for info. |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"transactionType":"update",
"transactionResult":"OK",
"paymentID":"1112312421"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
transactionType |
always update for this operation |
transactionResult |
OK ok KO |
paymentID |
The payment ID |
POST payment/submit
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/submit
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/submit
Request Body:
{
"shopLogin":"",
"paymentType":"",
"buyer":{
"name":"",
"email":""
},
"cof":"Y",
"paymentTypeDetails":{
"creditcard":{
"number":"",
"token":"",
"expMonth":"",
"expYear":"",
"CVV":"",
"requestToken":"",
"DCC": ""
},
"amazonPay":{
"amazonReferenceOrderId":"",
"requestToken":"",
"token":""
},
"applePay":{
"PKPaymentToken":"",
"onlinePaymentCryptogram":"",
"eciIndicator":"",
"requestToken":"",
"token":""
},
"bancomatPay": {
"phoneNumber": ""
},
"googlePay": {
"tokenizationData": {
"token": {}
}
},
"myBank":{
"bankCode":""
},
"iDeal":{
"bankCode":""
},
"payPal":{
"token":""
}
},
"responseURLs":{
"buyerOK":"",
"buyerKO":"",
"serverNotificationURL":""
},
// SEPA
"slimPay":{
"token":"SP7NYQTXYKG5CQFM",
"executionDate":"20201212"
},
}
Enables merchants to perform authorization requests for all the payment methods enabled for the merchant.
Before calling this method, you MUST have already called POST payment/create.
In case of a payment method that requires a widget (e.g. AmazonPay) it will provide the URL and the dimensions of the iFrame.
In case the payment method requires a selected redirect it will provide the URL to redirect the customer.
Note: Redirected url will require merchant return url and transkey.
This method will handle payment triangulations (e.g. 3DSecure, PayPal, S2Pay, etc.) through transkey and method related tokens in the 2nd calls.
In order to display transaction results to the user without requesting the server to retrieve it through paymentResult it should return it in the response payload.
Request
Headers:
Header | Value | Description |
---|---|---|
paymentToken |
{PaymentToken} |
The payment token, created via payment/create |
Request Body:
(Fields in bold are mandatory)
Field | Max Length | Description |
---|---|---|
shopLogin |
30 | The merchant’s code |
paymentType |
100 | The payment method chosen by the user |
buyer.name |
50 | The buyer’s name |
buyer.email |
1000 | The buyer’s email |
cof |
1 | Card On File flag, Y for “Card On File” transaction, null or other values for no “Card On File” transaction. See the Card On File section for more information. |
paymentTypeDetails |
Based on the chosen payment method, it will contain informations to complete the payment. See next sections. | |
responseURLs |
Where to redirect the user after the payment. | |
executionDate |
7 | Date of charge on the buyer’s banking account. (SEPA) |
executionDate
allows the merchant to define the date of charge on the buyer’s banking account. To follow SEPA rules, if the date it’s not on a working day, the charge will be postponed to the next working day. It must be in yyyymmdd
format
paymentTypeDetails
: Credit card
If the customer has chosen the credit card payment type, fill out these fields:
Field | Max Length | Description |
---|---|---|
number |
50 | The credit card number |
token |
25 | The credit card token |
expMonth |
2 | The expiry expMonth |
expYear |
2 | The expiry year |
CVV |
4 | The CVV code |
requestToken |
25 | MASKEDPAN for a Standard Token; any other value for Custom Token |
DCC |
5 | if the payment uses currency conversion. True or False |
paymentTypeDetails
: Amazon Pay
To pay with Amazon Pay, fill out the fields below:
Field | Max Length | Description |
---|---|---|
amazonReferenceOrderId |
The order reference identifier retrieved from the Amazon Button widget. | |
requestToken |
25 | MASKEDPAN for a Standard Token; any other value for Custom Token |
token |
25 | A token representing the AmazonPay token. |
paymentTypeDetails
: Apple Pay
If your customers choose Apple Pay, these are the parameters to pass:
Field | Max Length | Description |
---|---|---|
PKPaymentToken |
An object that contains the user’s payment credentials. | |
onlinePaymentCryptogram |
a unique, one time use cryptogram used by Axerve Ecommerce Solutions to decrypt the payment data | |
eciIndicator |
optional data used for 3D secure transactions | |
requestToken |
25 | MASKEDPAN for a Standard Token; any other value for Custom Token |
token |
25 | a token representing the ApplePay token |
paymentTypeDetails
: Bancomat Pay
If your customers choose Bancomat Pay, bancomatPay
must be added
paymentTypeDetails
: My Bank
Field | Max Length | Description |
---|---|---|
bankCode |
25 | A MyBank bank code |
paymentTypeDetails
: iDeal
Field | Max Length | Description |
---|---|---|
bankCode |
25 | An iDeal bank code |
paymentTypeDetails
: Paypal
Field | Max Length | Description |
---|---|---|
token |
25 | A token representing the Paypal token. |
Response URLs
With the REST Api you can set the redirect url for the success or failure case, along with the Server to server notification URL.
Field | Max Length | Description |
---|---|---|
buyerOK |
100 | The URL where the user will be redirected in case of success. |
buyerKO |
100 | The URL where the user will be redirected in case of failure. |
serverNotificationURL |
100 | Axerve Ecommerce Solutions will try to reach this URL to notify the merchant of the payment result. |
Response
Success response for a non 3D credit card:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"transactionType" : "submit",
"transactionResult" :"OK",
"transactionErrorCode" :"",
"transactionErrorDescription" :"",
"bankTransactionID" : "11111111",
"shopTransactionID":"myshoptransactionID",
"authorizationCode":"1223321",
"paymentID":"000000001",
"currency":"EUR",
"country":"ITALIA",
"company":"VISA",
"tdLevel":"NULL",
"buyer":{
"name":"buyerName Submitted",
"email":"buyer@SubmittedEmail.com"
},
"risk":{
"riskResponseCode":"",
"riskResponseDescription":""
}
"customInfo":{
"myCustomInfo1":"myCustomInfoValue1",
"myCustomInfo2":"myCustomInfoValue2"
},
"alertCode":"",
"alertDescription":"",
"cvvPresent":"",
"maskedPAN":"",
"paymentMethod":"",
"productType":"",
"token":"444444xxxxxx4448",
"tokenExpiryMonth":"01",
"tokenExpiryYear":"25",
"userRedirect":{
"href": "https://ecomm.sella.it/pagam/pagam3d.aspx?a={shopLogin}&b={paymentToken}"
}
}
}
Success response for a 3D credit card:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"transactionType":"submit",
"transactionResult":"",
"transactionErrorCode" :"8006",
"transactionErrorDescription" :"Verify By Visa",
"bankTransactionID":"",
"shopTransactionID":"myshoptransactionID",
"authorizationCode":"",
"paymentID":"00000000001",
"currency":"",
"country":"",
"company":"",
"tdLevel":"",
"buyer":{
"name":"",
"email":""
},
"risk":{
"riskResponseCode":"",
"riskResponseDescription":""
},
"customInfo":{
},
"alertCode":"",
"alertDescription":"",
"cvvPresent":"",
"maskedPAN":"",
"paymentMethod":"",
"productType":"",
"token":"",
"tokenExpiryMonth":"",
"tokenExpiryYear":"",
"userRedirect":{
"href":"https://ecomm.sella.it/pagam/pagam3d.aspx?a={shopLogin}&b={paymentToken}"
}
}
}
Success response for a redirect-based payment method (i.e. Paypal):
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"transactionType":"submit",
"transactionResult":"",
"transactionErrorCode" :"",
"transactionErrorDescription" :"",
"bankTransactionID":"",
"shopTransactionID":"myshoptransactionID",
"authorizationCode":"",
"currency":"",
"country":"",
"company":"",
"tdLevel":"",
"buyer":{
"name":"",
"email":""
},
"risk":{
"riskResponseCode":"",
"riskResponseDescription":""
},
"customInfo":{
},
"alertCode":"",
"alertDescription":"",
"cvvPresent":"",
"maskedPAN":"",
"paymentMethod":"PayPal",
"productType":"",
"token":"",
"tokenExpiryMonth":"",
"tokenExpiryYear":"",
"userRedirect":{
"href":"https://ecomm.sella.it/pagam/pagam3d.aspx?a={shopLogin}&b={paymentToken}&paymentType=S2PX"
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
transactionType |
Always submit for this method. |
transactionResult |
OK or KO |
transactionErrorCode |
The error code, in case of errors |
transactionErrorDescription |
A description in common language of the occurred error. |
bankTransactionID |
code assigned by Axerve Ecommerce Solutions this transaction. |
shopTransactionID |
shop transaction ID value |
authorizationCode |
authorisation code |
paymentID |
The payment ID |
currency |
The currency ISO code |
country |
nationality of the card issuer |
company |
Card issuer company |
tdLevel |
The level of 3D-Secure authentication: FULL or HALF . |
buyer |
Contains informations about the buyer. See the table below. |
risk |
A risk code, assigned by Axerve Guaranteed Payment. See the table below for more informations. |
customInfo |
An object containing optional customised parameters, created by the merchant in the form of key-value. |
alertCode |
Alert code. See Better Risk Management for an accurate description. |
alertDescription |
A textual description of the alertCode . |
cvvPresent |
Credit Card security code flag |
maskedPAN |
Masked Pan string |
paymentMethod |
Indicates the used Payment Method |
productType |
String containing Card Type |
token |
String containing the token value |
tokenExpiryMonth |
String containing the token expiry month |
TokenExpiryYear |
String containing the token expiry year |
userRedirect.href |
a URL to redirect the user for 3D-Secure authentication, or to pay on alternative payment systems. |
buyer
details
Field | Description |
---|---|
name |
The buyer’s name |
email |
The buyer’s email |
risk
details
Field | Description |
---|---|
riskResponseCode |
One of Axerve Guaranteed Payment response codes. |
riskResponseDescription |
A textual description of the risk analisys. |
GET payment/detail
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/payment/detail/{paymentID}
Production URL:
GET https://ecomms2s.sella.it/api/v1/payment/detail/{paymentID}
Retrieves the details of a payment.
Request
To authenticate, use one of the following headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
URL parameter:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
paymentID |
The payment identifier. |
Response
Success Response
200 OK
{
"error":{
"code": "0",
"description": "request correctly processed"
},
"payload":{
"transactionType": "detail",
"transactionResult": "",
"transactionState": "",
"transactionErrorCode": "",
"transactionErrorDescription": "",
"bankTransactionID": "",
"shopTransactionID": "",
"authorizationCode": "",
"paymentID": "",
"currency": "",
"country": "",
"company": "",
"tdLevel": "",
"events":[{
"event":{
"eventtype": "",
"eventamount": "",
"eventdate": "",
"eventARN": "",
"eventID": "",
"eventReferred": "",
}
}],
"buyer":{
"name": "",
"email": ""
},
"risk":{
"riskResponseCode": "",
"riskResponseDescription": ""
},
"customInfo":{
"{myCustomInfo1}": "{myCustomInfoValue1}",
"{myCustomInfo2}": "{myCustomInfoValue2}"
},
"alertCode": "",
"alertDescription": "",
"cvvPresent": "{TRUE/FALSE}",
"dcc":{
"eligible": "{TRUE/FALSE}",
"currency": ""
},
"maskedPAN": "",
"paymentMethod": "",
"productType": "",
"token": "",
"tokenExpiryMonth": "",
"tokenExpiryYear": "",
"tokenDetails": {
"tokenValue": "42V8ZN2BA0144011",
"tokenExpiryMonth": "02",
"tokenExpiryYear": "23",
"tokenProvider": {
"-self-closing": "true"
},
"cardDetails": {
"cardExpiryMonth": {
"-self-closing": "true"
},
"cardExpiryYear": {
"-self-closing": "true"
},
"cardHolderName": {
"-self-closing": "true"
},
"cardSuffix": {
"-self-closing": "true"
}
},
"cardAssets": {
"cardArt": {
"height": {
"-self-closing": "true"
},
"mediaContents": {
"-self-closing": "true"
},
"type": {
"-self-closing": "true"
},
"width": {
"-self-closing": "true"
}
},
"brandLogo": {
"height": {
"-self-closing": "true"
},
"mediaContents": {
"-self-closing": "true"
},
"type": {
"-self-closing": "true"
},
"width": {
"-self-closing": "true"
}
}
}
},
"vbv":{
"flag": "",
"buyer": ""
},
"payPalFee": "",
"fraudPrevention":{
"check": "{TRUE/FALSE}",
"state": "",
"description": "",
"order": ""
},
"automaticOperation":{
"type": "",
"date": "",
"amount": ""
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
transactionType |
detail |
TransactionResult |
UNSUBMITTED , WAITING , PENDING (or XX ), APPROVED (or OK ), DECLINED (or KO ) |
transactionState |
The last state of the transaction, as one of the states contained in event types. |
bankTransactionID |
A transaction ID assigned by the bank. |
shopTransactionID |
An ID assigned by the shop. |
authorizationCode |
A code released by the payment circuit. |
paymentID |
Assigned by Axerve Ecommerce Solutions, identifies the payment |
currency |
One of the ISO currencies. |
country |
The country originating the transaction |
company |
The credit card / payment circuit |
tdLevel |
FULL if the transaction is fully 3D-Secure protected, HALF . |
alertCode |
Alert code. See Better Risk Management for an accurate description. |
AlertDescription |
Alert description in chosen language. See Better Risk Management for an accurate description. |
buyer |
Contains informations about the buyer name, if available. See the able below. |
risk |
Contains informations about the risk score, assigned by Axerve Guaranteed Payment. See below. |
customInfo |
An object containing optional customised parameters. set your parameters as key-value pairs. |
events |
Contains informations about this payment history. See below. |
cvvPresent |
TRUE if the payment has been executed by using a CVV security code. |
dcc |
Stands for Dynamic Currency Conversion. See the table below. |
maskedPAN |
Masked PAN string. Will be populated only if the transaction was made using a token. |
paymentMethod |
the payment method used to perform the payment |
productType |
String containing card type |
token |
String containing the token value |
tokenExpiryMonth |
String containing the token expiry month |
TokenExpiryYear |
String containing the token expiry year |
vbv |
Informations about the 3DSecure status. |
payPalFee |
The fee owed to paypal. |
fraudPrevention |
informations about fraud prevention. Responses by Axerve Guaranteed Payment will show here. |
transactionErrorCode |
The error code for the transaction. See error codes page for details. |
transactionErrorDescription |
The error code description in common language. |
automaticOperation |
it refers to an automatic operation that has been programmed. |
threeDS sandbox |
Object with information about 3ds authentication (described below) |
events
details:
Field | Description |
---|---|
eventtype |
One of the event types |
eventamount |
the amount involved in this event |
eventdate |
The date of the event |
eventARN |
The acquirer reference number |
eventID |
Unique identifier of the event |
eventReferred |
Unique identifier of the original event it refers to (IE In case of STO it contains the MOV eventide it refers to) |
environment |
The environment that has generated the event: ONL (Online), BOF (Back Office), BAT (Batch) |
operator |
The user code that has performed the operation |
buyer
details:
Field | Description |
---|---|
name |
The buyer’s name |
email |
The buyer’s email |
riks
details:
Field | Description |
---|---|
RiskResponseCode |
Risk Fraud Score of the transaction, given by Axerve Guaranteed Payment. See here for a list of possible values. |
RiskResponseDescription |
Risk Description for the RiskResponseCode value |
dcc
details:
Field | Description |
---|---|
eligible |
TRUE if the payment is DCC eligible and is therefore converted at payment time; FALSE otherwise. |
currency |
The exchange rate. |
fraudPrevention
details:
Field | Description |
---|---|
check |
The kind of check applied. |
state |
The status of the transaction. |
description |
The status description |
order |
the order reference |
The threeDS sandbox object contains three objects:
authenticationResult
with these children
Name | max length | description |
---|---|---|
authenticationLevel |
2 | Transaction is successfully athenticated by 3DS:
|
authenticationStatus |
1 | Status of authentication |
authStatusReason |
2 | Provides information on why the Transaction Status field has the specified value |
XID |
36 | Transaction unique id assigned by Directory Server |
AV |
28 | Cardholder Authentication Verification Value, proof of authentication done |
ECI |
2 | Electronic Commerce Indicator |
AVAlgorithm |
2 | Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 |
threeDsVersion |
8 | EMVco protocol version identifier |
transDetails
with these children
Name | max length | description |
---|---|---|
authData |
string | Transaction Authentication Data |
authMethod |
2 | Transaction Authentication Method Possible values:
|
authTimestamp |
12 | Transaction Authentication Timestamp |
acsID |
36 | ACS Transaction ID |
InAppChallenge
(These fields are set and useful only in app integration)
Name | Description |
---|---|
threeDSServerTransID |
Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction. |
acsSignedContent |
Contains the JWS object (represented as a string) created by the ACS for the ARes message. |
acsTransID |
Universally Unique transaction identifier assigned by the ACS to identify a single transaction. |
acsURL |
Fully qualified URL of the ACS to be used for the challenge. |
cardholderInfo |
Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction. The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.” |
messageExtension |
Data necessary to support requirements not otherwise defined in the 3- D Secure message are carried in a Message Extension. |
sdkTransID |
Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction |
tokenDetails
details:
Name | Description |
---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
tokenExpiryMonth |
The token expiration month. |
tokenExpiryYear |
The token expiration year. |
tokenProvider |
The entity providing the token. It can be: AXERVE , VISA , MASTERCARD , PAYPAL , AMAZON , APPLE , SEPADD . |
cardDetails.cardSuffix |
The last 4 digit of the card PAN. |
cardDetails.cardExpiryMonth |
The card expiry month. |
cardDetails.cardExpiryYear |
The card expiry Year. |
cardDetails.cardHolderName |
The cardholder name. |
cardAssets.cardArt.type |
The file format of the card art (card image) |
cardAssets.cardArt.mediaContents |
The card image (Base64) |
cardAssets.cardArt.height |
The card art (card image) height |
cardAssets.cardArt.width |
The card art (card image) width |
cardAssets.brandLogo.type |
The file format of the brand logo (e.g. Visa, Mastercard, etc..) |
cardAssets.brandLogo.mediaContents |
The brand logo (e.g. Visa, Mastercard, etc..) image (Base64) |
cardAssets.brandLogo.height |
The brand logo (e.g. Visa, Mastercard, etc..) height |
cardAssets.brandLogo.width |
The brand logo (e.g. Visa, Mastercard, etc..) width |
POST payment/detail
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/detail
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/detail
Example request:
{
"shopLogin" : "",
"bankTransactionID": "",
"shopTransactionID" : "",
"paymentID":"",
"terminalID": ""
}
Retrieves the details of a payment.
Request
To authenticate, use one of the following headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
Input Body:
(Fields in bold are mandatory)
Field | Max Length | Description | Example |
---|---|---|---|
shopLogin |
30 | Your shop login | GESPAY12345 |
shopTransactionID |
50 | the shop transaction ID | MyShop_001 |
bankTransactionID |
18 | The bank transaction ID | 1111 |
paymentID |
The payment ID | 1638523579 |
|
terminalID |
20 | The terminal ID | 12340005 |
Note: you must provide at least one of shopTransactionID
, bankTransactionID
, paymentID
.
Response
Success Response
200 OK
{
"error":{
"code": "0",
"description": "request correctly processed"
},
"payload":{
"transactionType": "detail",
"transactionResult": "OK",
"transactionState": "MOV",
"bankTransactionID": "11111",
"shopTransactionID": "myShopTransactionID",
"authorizationCode": "0010202",
"paymentID": "00000000001",
"currency": "EUR",
"country": "ITALIA",
"company": "MASTERCARD SECURECODE",
"tdLevel": "FULL",
"events":[{
"eventtype": "AUT",
"eventamount": "0.10",
"eventdate": "19/08/16 16:13:14",
"eventARN": "",
"eventID": ""
}, {
"eventtype": "MOV",
"eventamount": "0.10",
"eventdate": "20/08/16 00:13:57",
"eventARN": "",
"eventID": ""
}],
"buyer":{
"name": "",
"email": ""
},
"risk":{
"riskResponseCode": "approved",
"riskResponseDescription": ""
},
"customInfo":{
"{myCustomInfo1}": "{myCustomInfoValue1}",
"{myCustomInfo2}": "{myCustomInfoValue2}"
},
"alertCode": "",
"alertDescription": "",
"cvvPresent": "{TRUE/FALSE}",
"dcc":{
"eligible": "{TRUE/FALSE}",
"currency": ""
},
"maskedPAN": "",
"paymentMethod": "",
"productType": "",
"token": "",
"tokenExpiryMonth": "",
"tokenExpiryYear": "",
"vbv":{
"flag": "",
"buyer": ""
},
"tokenDetails": {
"tokenValue": "42V8ZN2BA0144011",
"tokenExpiryMonth": "02",
"tokenExpiryYear": "23",
"tokenProvider": {
"-self-closing": "true"
},
"cardDetails": {
"cardExpiryMonth": {
"-self-closing": "true"
},
"cardExpiryYear": {
"-self-closing": "true"
},
"cardHolderName": {
"-self-closing": "true"
},
"cardSuffix": {
"-self-closing": "true"
}
},
"cardAssets": {
"cardArt": {
"height": {
"-self-closing": "true"
},
"mediaContents": {
"-self-closing": "true"
},
"type": {
"-self-closing": "true"
},
"width": {
"-self-closing": "true"
}
},
"brandLogo": {
"height": {
"-self-closing": "true"
},
"mediaContents": {
"-self-closing": "true"
},
"type": {
"-self-closing": "true"
},
"width": {
"-self-closing": "true"
}
}
}
},
"payPalFee": "",
"fraudPrevention":{
"check": "{TRUE/FALSE}",
"state": "",
"description": "",
"order": ""
},
"automaticOperation":{
"type": "",
"date": "",
"amount": ""
}
},
"threeDS":{
"authenticationResult":{
...
},
"InAppChallenge": {
...
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
error
details:
Field | Description |
---|---|
error.code |
0 means no error, otherwise check the error codes and error.description to debug the problem. |
error.description |
If error.code != 0 will contain a description of the error. |
payload
details:
Field | Description |
---|---|
transactionType |
detail |
TransactionResult |
UNSUBMITTED , WAITING , PENDING (or XX ), APPROVED (or OK ), DECLINED (or KO ) |
transactionState |
The last state of the transaction, as one of the states contained in event types. |
bankTransactionID |
A transaction ID assigned by the bank. |
shopTransactionID |
An ID assigned by the shop. |
authorizationCode |
A code released by the payment circuit. |
paymentID |
Assigned by Axerve Ecommerce Solutions, identifies the payment |
currency |
The original ISO currency code of the transaction. See ISO currencies for a list. |
country |
The country originating the transaction |
company |
The credit card / payment circuit |
tdLevel |
FULL if the transaction is fully 3D-Secure protected, HALF . |
alertCode |
Alert code. See Better Risk Management for an accurate description. |
AlertDescription |
Alert description in chosen language. See Better Risk Management for an accurate description. |
buyer |
Contains informations about the buyer name, if available. See the able below. |
risk |
Contains informations about the risk score, assigned by Axerve Guaranteed Payment. See below. |
customInfo |
An object containing optional customised parameters. set your parameters as key-value pairs. |
events |
Contains informations about this payment history. See below. |
cvvPresent |
TRUE if the payment has been executed by using a CVV security code. |
dcc |
Stands for Dynamic Currency Conversion. See the table below. |
maskedPAN |
Masked PAN string. Will be populated only if the transaction was made using a token. |
paymentMethod |
the payment method used to perform the payment. |
productType |
string containing Card Type. |
transactionErrorCode |
The error code for the transaction. See error codes page for details. |
transactionErrorDescription |
The error code description in common language. |
token |
String containing the token value |
tokenExpiryMonth |
String containing the token expiry month |
TokenExpiryYear |
String containing the token expiry year |
vbv |
Informations about the 3DSecure status. |
payPalFee |
The fee owed to paypal. |
fraudPrevention |
informations about fraud prevention. Responses by Axerve Guaranteed Payment will show here. |
automaticOperation |
it refers to an automatic operation that has been programmed. |
threeDS sandbox |
Object with information about 3ds authentication (described below) |
events
details:
Field | Description |
---|---|
eventtype |
One of the event types |
eventamount |
the amount involved in this event |
eventdate |
The date of the event |
eventARN |
The acquirer reference number |
eventID |
Unique identifier of the event |
environment |
The environment that has generated the event: ONL (Online), BOF (Back Office), BAT (Batch) |
operator |
The user code that has performed the operation |
buyer
details:
Field | Description |
---|---|
name |
The buyer’s name |
email |
The buyer’s email |
riks
details:
Field | Description |
---|---|
RiskResponseCode |
Risk Fraud Score of the transaction, given by Axerve Guaranteed Payment. See here for a list of possible values. |
RiskResponseDescription |
Risk Description for the RiskResponseCode value |
dcc
details:
Field | Description |
---|---|
eligible |
TRUE if the payment is DCC eligible and is therefore converted at payment time; FALSE otherwise. |
currency |
The exchange rate. |
fraudPrevention
details:
Field | Description |
---|---|
check |
The kind of check applied. |
state |
The status of the transaction. |
description |
The status description |
order |
the order reference |
The threeDS sandbox object contains three object:
authenticationResult
with these children
Name | max length | description |
---|---|---|
authenticationLevel |
2 | Transaction is successfully athenticated by 3DS:
|
authenticationStatus |
1 | Status of authentication |
authStatusReason |
2 | Provides information on why the Transaction Status field has the specified value |
XID |
36 | Transaction unique id assigned by Directory Server |
AV |
28 | Cardholder Authentication Verification Value, proof of authentication done |
ECI |
2 | Electronic Commerce Indicator |
AVAlgorithm |
2 | Cardholder Authentication Verification Algoritm, valorized only with 3DS 1.0 |
threeDsVersion |
8 | EMVco protocol version identifier |
transDetails
with these children
Name | max length | description |
---|---|---|
authData |
string | Transaction Authentication Data |
authMethod |
2 | Transaction Authentication Method Possible values:
|
authTimestamp |
12 | Transaction Authentication Timestamp |
acsID |
36 | ACS Transaction ID |
InAppChallenge
(These fields are set and useful only in app integration)
Name | Description |
---|---|
threeDSServerTransID |
Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction. |
acsSignedContent |
Contains the JWS object (represented as a string) created by the ACS for the ARes message. |
acsTransID |
Universally Unique transaction identifier assigned by the ACS to identify a single transaction. |
acsURL |
Fully qualified URL of the ACS to be used for the challenge. |
cardholderInfo |
Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction. The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.” |
messageExtension |
Data necessary to support requirements not otherwise defined in the 3- D Secure message are carried in a Message Extension. |
sdkTransID |
Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction |
tokenDetails
details:
Name | Description |
---|---|
tokenValue |
String containing the token value returned by Axerve Ecommerce Solutions. |
tokenExpiryMonth |
The token expiration month. |
tokenExpiryYear |
The token expiration year. |
tokenProvider |
The entity providing the token. It can be: AXERVE , VISA , MASTERCARD , PAYPAL , AMAZON , APPLE , SEPADD . |
cardDetails.cardSuffix |
The last 4 digit of the card PAN. |
cardDetails.cardExpiryMonth |
The card expiry month. |
cardDetails.cardExpiryYear |
The card expiry Year. |
cardDetails.cardHolderName |
The cardholder name. |
cardAssets.cardArt.type |
The file format of the card art (card image) |
cardAssets.cardArt.mediaContents |
The card image (Base64) |
cardAssets.cardArt.height |
The card art (card image) height |
cardAssets.cardArt.width |
The card art (card image) width |
cardAssets.brandLogo.type |
The file format of the brand logo (e.g. Visa, Mastercard, etc..) |
cardAssets.brandLogo.mediaContents |
The brand logo (e.g. Visa, Mastercard, etc..) image (Base64) |
cardAssets.brandLogo.height |
The brand logo (e.g. Visa, Mastercard, etc..) height |
cardAssets.brandLogo.width |
The brand logo (e.g. Visa, Mastercard, etc..) width |
POST payment/capture
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/capture/
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/capture/
Example request:
{
"shopLogin":"",
"amount":"",
"currency":"",
"bankTransactionID":"",
"shopTransactionID":"",
"paymentID":"",
"settlementID":"",
"fullFillment":{
"fullFillmentlst":[{
"status":"",
"trackingCompany":"",
"trackingNumbers":"",
"trackingUrls":"",
"message":"",
"receipt":"",
"productDetails":[{
"productCode":"",
"SKU":"",
"name":"",
"description":"",
"quantity":"",
"price":"",
"unitPrice":"",
"type":"",
"vat":"",
"discount":"",
"requiresShipping":"",
"condition":"",
"seller":"",
"category":"",
"subCategory":"",
"brand":"",
"deliveryAt":""
}
]
}]
}
}
Settle fully or partially an authorized transaction.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Input Body:
(Fields in bold are mandatory)
Field | Max Length | Description |
---|---|---|
shopLogin |
30 | Your shop login |
amount |
9 | The amount to capture |
currency |
3 | ISO currency code |
bankTransactionID |
18 | The bank transaction ID |
shopTransactionID |
50 | the shop transaction ID |
paymentID |
The payment ID | |
settlementID |
20 | Optional identifier of the settlement (max 20 characters) |
FullFillment |
describes the items related to this capture. |
Note: you must provide at least one of shopTransactionID
, bankTransactionID
, paymentID
.
FillFillment
contains a FullFillmentlst
whose fields are:
parameter name | description |
---|---|
status |
|
trackingCompany |
the name of the shipping company |
trackingNumbers |
A list of shipping numbers, provided by the shipping company. |
trackingUrls |
The URLs to track the fulfillment. |
message |
Additional textual description regarding the fulfillment status. |
receipt |
Information about the Receipt |
productDetails |
container object that contains info about the fulfilled item. |
Here is a description of the children of productDetails
:
parameter name | description |
---|---|
productCode |
Article’s product Code |
SKU |
Article’s Stock Keeping Unit |
name |
Article’s name |
description |
Article’s description |
quantity |
The number of products |
price |
Article’s price |
unitPrice |
Article’s Unit price |
type |
The type of article: digital , downloadable , physical ,composite , event , travel |
vat |
Value-Added Tax (the value of the tax) |
discount |
|
requiresShipping |
boolean, States whether or not the fulfillment requires shipping. This field is important for merchants dealing with digital goods. |
condition |
Description of the physical condition of the item, mostly relevant for used items. |
seller |
Details about the seller of the item, relevant for marketplace orders. |
category |
The category of the item. For event tickets: the category of the event. |
subCategory |
The sub-category of the item. For event tickets: the sub-category of the event. |
brand |
The brand name of the item. |
deliveryAt |
The planned delivery date of the product or item. |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"transactionType":"capture",
"transactionResult":"OK",
"bankTransactionID":"{bankTransactionID}",
"shopTransactionID":"{shopTransactionID}",
"paymentID":"{paymentID}"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
payload
details:
Field | Description |
---|---|
transactionType |
Identifies the type of the transaction. For this method it will always be capture . |
transactionResult |
OK for success, KO otherwise. |
bankTransactionID |
A transaction ID assigned by the bank. |
shopTransactionID |
An ID assigned by the shop. |
paymentID |
Assigned by Axerve Ecommerce Solutions, identifies the payment. |
POST payment/cancel
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/cancel/
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/cancel/
Example request:
{
"shopLogin" : "",
"bankTransactionID":"",
"shopTransactionID":"",
"paymentID":"",
"cancelReason": ""
}
Deletes an authorized transaction.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request Body:
(Fields in bold are mandatory)
Field | Max Length | Description |
---|---|---|
shopLogin |
30 | Your shop login |
bankTransactionID |
18 | The bank transaction ID |
shopTransactionID |
50 | the shop transaction ID |
paymentID |
The payment ID | |
cancelReason |
A description of the cancel reason |
Note: you must provide at least one of shopTransactionID
, bankTransactionID
, paymentID
.
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"transactionType" : "cancel",
"transactionResult" :"OK",
"bankTransactionID" : "{bankTransactionID}",
"shopTransactionID": "{shopTransactionID}",
"paymentID" : "{paymentID}"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload details:
Field | Description |
---|---|
transactionType |
It will always be cancel |
transactionResult |
OK or KO |
bankTransactionID |
The bank transaction ID |
shopTransactionID |
the shop transaction ID |
paymentID |
The payment ID |
POST payment/refund
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/payment/refund/
Production URL:
POST https://ecomms2s.sella.it/api/v1/payment/refund/
Request Body:
{
"shopLogin":"",
"bankTransactionID":"",
"shopTransactionID":"",
"paymentID":"",
"settlementID":"",
"amount":"",
"currency":"",
"chargeBackFraud":"",
"refundReason":"",
"orderDetails":{
"ProductDetails": [
{
"productCode":"",
"SKU":"",
"name":"",
"description":"",
"quantity":"",
"price":"",
"unitPrice":"",
"type":"",
"vat":"",
"discount":"",
"requiresShipping":"",
"condition":"",
"seller":"",
"category":"",
"subCategory":"",
"brand":"",
"deliveryAt":""
}
]
}
}
Deletes, fully or partially, a settled transaction.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request Body:
(Fields in bold are mandatory)
Field | Max Length | Description |
---|---|---|
shopLogin |
30 | the merchant’s code |
amount |
9 | the amount to refund |
currency |
3 | currency ISO code |
bankTransactionID |
18 | ID of the transaction assigned by Axerve Ecommerce Solutions |
shopTransactionID |
50 | shop transaction ID value |
paymentID |
The payment ID | |
settlementID |
20 | Optional identifier of the settlement (max 20 characters) |
refundReason |
a free-text reason for the refund. Used with fraud protection. | |
chargeBackFraud |
Flag for risk:
|
|
orderDetail.productDetails |
in case you are using Klarna, fill this fields with info about the products that are refunded. A description of this field is in OrderDetails. |
Note: you must provide at least one of shopTransactionID
, bankTransactionID
, paymentID
.
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"transactionType":"refund",
"transactionResult":"OK",
"bankTransactionID":"{bankTransactionID}",
"shopTransactionID":"{shopTransactionID}",
"paymentID":"{paymentID}"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
transactionType |
always refund for this operation |
transactionResult |
OK ok KO |
bankTransactionID |
ID of the transaction assigned by Axerve Ecommerce Solutions |
shopTransactionID |
shop transaction ID value |
paymentID |
The payment ID |
Shop API
With this endpoint the merchant is able to modify many settings regarding his account.
GET shop/environment
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/environment/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/environment/{shopLogin}
Retrieves the current enviroment (SANDBOX / LIVE).
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"environment":"SANDBOX"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
environment |
LIVE or SANDBOX |
GET shop/language
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/language/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/language/{shopLogin}
Retrieves the current language.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"language": "Italian"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
language |
One of Italian , English |
POST shop/language
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/shop/language
Production URL:
POST https://ecomms2s.sella.it/api/v1/shop/language
Request body:
{
"shopLogin":"",
"language":"{Italian/English}"
}
Sets the language used by Axerve Ecommerce Solutions.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
language |
The language to set. Currently accepted values are Italian and English . |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result": "OK"
"language": "Italian"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
result |
The outcome of the operation: OK of KO |
language |
the language just set |
GET shop/moto
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/moto/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/moto/{shopLogin}
Returns the MOTO setting for the shopLogin
.
Read more about MOTO settings in Axerve Ecommerce Solutions.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"moto":[
{
"paymentType":"CREDITCARD",
"capture":"separated",
"automaticBehaviour":{
"type":"capture",
"days":"25"
}
},
{
"paymentType":"PAYPAL",
"capture":"unified",
"automaticBehaviour":{
"type":"",
"days":""
}
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response can contain zero or more items in the moto
array.
Response payload.moto
details:
Field | Description |
---|---|
paymentType |
the payment type for wich a MOTO property is set |
capture |
separated or unified |
automaticBehaviour.type |
capture or delete . |
automaticBehaviour.days |
the number of days set. |
POST shop/moto
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/shop/moto
Production URL:
POST https://ecomms2s.sella.it/api/v1/shop/moto
Request Body:
{
"shopLogin":"",
"paymentType":"",
"capture":"{separated/unified}",
"automaticBehaviour":{
"type":"{capture/delete}",
"days":""
}
}
Modifies the MOTO setting.
Read more about MOTO settings in Axerve Ecommerce Solutions.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
Request Body:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop login code. |
paymentType |
25 | One of the enabled payment types for your shop. A list of all payment types is available here. |
capture |
separated if you want to only authorize a transaction and later capture; unified if you want to authorize and capture at the same time. |
|
automaticBehaviour.type |
If the capture is set to separated , this field defines what happens after X days: capture the amount or delete the transaction. |
|
automaticBehaviour.days |
the number of days after which the transaction will be captured or deleted, based on the previous setting. |
Response
Success Response:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
{
"paymentType":"CREDITCARD",
"capture":"unified",
"automaticBehaviour":{
"type":"",
"days":""
}
}
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK ok KO |
paymentType |
the payment type updated |
capture |
separated or unified |
if capture
is set to separated
:
Field | Description |
---|---|
automaticBehaviour.type |
capture or delete . |
automaticBehaviour.days |
the number of days set. |
GET shop/paymentMethods
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/methods/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/methods/{shopLogin}
Retrieves a list of payment methods enabled indicating name, payment type, related logo (URL), related mobile logo (URL), if the method is visible/hidden in the payment page.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"paymentMethod":[
{
"name":"VISA VBV",
"logo":{
"large":"https://{domain}/logos/VisaVBV_Large.png",
"mobile":"https://{domain}/logos/VisaVBV_mobile.png",
"vector":"https://{domain}/logos/VisaVBV.svg"
},
"paymentType":"CREDITCARD",
"paymentPage":"visible"
},
{
"name":"MASTERCARD SECURECODE",
"logo":{
"large":"https://{domain}/logos/MastercardSecurecode_Large.png",
"mobile":"https://{domain}/logos/MastercardSecurecode_mobile.png",
"vector":"https://{domain}/logos/MastercardSecurecode.svg"
},
"paymentType":"CREDITCARD",
"paymentPage":"visible"
},
{
"name":"PayPal",
"logo":{
"large":"https://{domain}/logos/PayPal_Large.png",
"mobile":"https://{domain}/logos/PayPal_mobile.png",
"vector":"https://{domain}/logos/PayPal.svg"
},
"paymentType":"PAYPAL",
"paymentPage":"visible"
}
]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
paymentMethod |
An array of payment methods |
paymentMethod.name |
The name of the payment method |
paymentMethod.logo |
Contains URLs for the payment method’s logo in three formats: large, mobile, vector |
paymentMethod.paymentType |
The payment method code. |
paymentMethod.paymentPage |
returns visibile if the paymentType is shown on the payment page; hidden otherwise. |
POST shop/paymentMethods
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/shop/methods/
Production URL:
POST https://ecomms2s.sella.it/api/v1/shop/methods/
Request body:
{
"shopLogin":"",
"paymentType":"{paymentType}",
"paymentPage":"{visible/hidden}"
}
Allows to show/hide the payment method on payment page.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
request body details:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
paymentType |
25 | One of the payment types supported by Axerve Ecommerce Solutions. |
paymentPage |
set to visible to show the payment type on the payment page; hidden to hide. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"paymentType":"CREDITCARD",
"paymentPage":"visible"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
result |
The outcome of the operation: OK of KO |
paymentType |
The payment type selected |
paymentPage |
The value set for the payment page: visible or hidden |
GET shop/paymentPage
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/paymentPage/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/paymentPage/{shopLogin}
Retrieves the current text or URL for the Logo, the default language, and the URL that will display the preview of the payment page.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"logo": [{
"language": "ITALIAN",
"imageURL": {
"href": "http://yourdomain/img/yourlogo.png"
},
"altText": ""
},{
"language": "ENGLISH",
"imageURL": {
"href": "http://yourdomain/img/yourlogo.png"
},
"altText": ""
},{
"language": "SPANISH",
"imageURL": {
"href": "http://yourdomain/img/yourlogo.png"
},
"altText": ""
},{
"language": "GERMAN",
"imageURL": {
"href": "http://yourdomain/img/yourlogo.png"
},
"altText": "YOUR TEXT"
},{
"language": "FRENCH",
"imageURL": {
"href": "http://yourdomain/img/yourlogo.png"
},
"altText": "YOUR TEXT"
}],
"defaultLang": "ENGLISH"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
logo |
an array of logo objects, one per language. |
logo.language |
The language for this particular logo |
logo.imageURL.href |
A URL for the logo |
logo.altText |
The text to show for alternative readers, textual browsers, etc. |
defaultLang |
the default language for the payment page |
POST shop/paymentPage
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/shop/paymentPage/
Production URL:
POST https://ecomms2s.sella.it/api/v1/shop/paymentPage/
Request body:
{
"shoplogin":"",
"logo":[
{
"language":"",
"imageURL":{
"href":""
},
"altText":""
}
],
"defaultLang":""
}
Sets a new Logo URL or Text and a default language.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
request body details:
(Fields in bold are mandatory)
Field | Description |
---|---|
shopLogin |
The shop login code. |
logo |
an array of logo objects, one per language. |
logo.language |
The language for this particular logo |
logo.imageURL.href |
A URL for the logo |
logo.altText |
The text to show for alternative readers, textual browsers, etc. |
defaultLang |
the default language for the payment page |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"logo":[
{
"language":"ITALIAN",
"imageURL":{
"href":"http://yourdomain/img/yourlogo.png"
},
"altText":""
},
{
"language":"ENGLISH",
"imageURL":{
"href":"http://yourdomain/img/yourlogo.png"
},
"altText":""
},
{
"language":"SPANISH",
"imageURL":{
"href":"http://yourdomain/img/yourlogo.png"
},
"altText":""
},
{
"language":"GERMAN",
"imageURL":{
"href":""
},
"altText":"your NEW TEXT"
},
{
"language":"FRENCH",
"imageURL":{
"href":""
},
"altText":"YOUR New TEXT"
}
],
"defaultLang":"ENGLISH"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the language set for Axerve Ecommerce Solutions.
Response payload
details:
Field | Description |
---|---|
result |
OK for success, KO for error. |
logo |
an array of logo objects, one per language. |
logo.language |
The language for this particular logo |
logo.imageURL.href |
A URL for the logo |
logo.altText |
The text to show for alternative readers, textual browsers, etc. |
defaultLang |
the default language for the payment page |
POST shop/token
Sandbox URL:
POST https://sandbox.gestpay.net/api/v1/shop/token/
Production URL:
POST https://ecomms2s.sella.it/api/v1/shop/token/
Request Body:
{
"shopLogin":"",
"requestToken": "{MASKEDPAN/Customtoken}",
"creditCard": {
"number": "",
"token": "",
"expMonth": "",
"expYear": "",
"CVV": ""
},
"withAuth": "{True/False}"
}
Requests a Credit Card Token or update an existing Credit Card Token.
Request
Use one of the following headers to authenticate:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
paymentToken |
{paymentToken} |
A payment token received during the payment process |
Request Body:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
requestToken |
MASKEDPAN for a Standard Token; any other value for Custom Token |
|
creditCard.number |
50 | The credit card number |
creditCard.token |
25 | A token representation of the card. Set a value to modify an existing token. Mandatory to update an existing token. |
creditCard.expMonth |
2 | The expiry month |
creditCard.expYear |
2 | The exipry year |
creditCard.CVV |
4 | The CVV code |
withAuth |
tries to verify the authenticity of the card with the circuit; does NOT authorize the token. Only working in production environment. True or False (default) |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload": {
"transactionType":"{REQUESTTOKEN/UPDATETOKEN}",
"transactionResult":"OK",
"authorizationResult":"OK",
"authorizationErrorCode":"0",
"authorizationCodeDescription":"Transaction correctly processed",
"country":"ITALIA",
"countryCode":"380",
"cvv":"OK",
"cvvDescription":"CVV VALID",
"issuerCountry":"ITALIA",
"issuerCountryCode:":"380",
"company":"MASTERCARD",
"companyCode":"3",
"commercial":"N",
"productDescription":"Standard MasterCard® Card",
"productType":"Credit",
"checkDigit":"OK",
"checkDigitDescription":"CheckDigit VALID",
"expiryDate":"OK",
"expiryDateDescription":"DATE VALID",
"3DS":"Y",
"3DSdDescription":"ENROLLED",
"prepaid":"N",
"cardBIN": "541238",
"token":"541238AFAGHA1118",
"tokenExpiryMonth":"01",
"tokenExpiryYear":"21"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
transactionType |
REQUESTTOKEN if creating, UPDATETOKEN on updating |
transactionResult |
OK or KO |
authorizationErrorCode |
authorisation error code if an error occurred |
authorizationResult |
Authorization result. It can be OK or KO |
authorizationCodeDescription |
code description |
country |
nationality of the card |
countryCode |
nationality code of the card |
cvv |
result of the check CVV. It can be OK or KO or NULL |
cvvDescription |
description of CVV check results |
issuerCountry |
nationality of the card issuer |
issuerCountryCode |
nationality code of the card issuer |
company |
Description of the Card company |
companyCode |
Code of the Company |
commercial |
Flag that indicates if the Card is commercial or not. Y or N |
productDescription |
Description of the product linked to the card |
productType |
type of the product: Credit or Debit |
checkDigit |
OK or KO , acording to the check digit of the card |
checkDigitDescription |
description of the check digit response |
expiryDate |
OK if it’s valid; KO otherwise |
expiryDateDescription |
A textual description of the expiryDate field |
3DS |
3D Secure enabled:
|
3DSdDescription |
enrolment description |
prepaid |
indicates if the card is prepaid of not (Y , N , or empty) |
cardBIN |
first 6 numbers of the credit card, that identify the credit card issuer bank. |
token |
the token value |
tokenExpiryMonth |
the token expiry month |
tokenExpiryYear |
the token expiry year |
GET shop/version
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/version/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/version/{shopLogin}
Retrieves the current merchant version: Starter
, Professional
, Unlimited
.
Request
Headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"version": "Unlimited"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
The response contains the Axerve Ecommerce Solutions version for this shop.
Response payload
details:
Field | Description |
---|---|
version |
One of Starter , Professional , Unlimited . |
GET shop/token
Sandbox URL:
GET https://sandbox.gestpay.net/api/v1/shop/token/{shopLogin}
Production URL:
GET https://ecomms2s.sella.it/api/v1/shop/token/{shopLogin}
Retrieves the token list
Request
To authorize, use one of the followng headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Max length | Description |
---|---|---|
shopLogin |
30 | The shop identifier. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"tokens":["444445GFDRBH4448","444425GFSRBH4448"]
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
tokens |
An array containing all the tokens created for this shop. |
DELETE shop/token
Sandbox URL:
DELETE https://sandbox.gestpay.net/api/v1/shop/token/{shopLogin}/{token}
Production URL:
DELETE https://ecomms2s.sella.it/api/v1/shop/token/{shopLogin}/{token}
Deletes a Token for this shop.
Request
To authorize, use one of the followng headers:
Header | Value | Description |
---|---|---|
Authorization |
apikey {merchant Api Key} |
The merchant API key can be found in Axerve Merchant Back-Office. |
URL parameter:
(Fields in bold are mandatory)
Parameter | Description |
---|---|
shopLogin |
The shop identifier. |
token |
the token you want to delete. |
Response
Success response example:
200 OK
{
"error":{
"code":"0",
"description":"request correctly processed"
},
"payload":{
"result":"OK",
"token":"444445DHGSJA1111"
}
}
See the section Handling responses & errors to learn how Axerve Ecommerce Solutions reports errors.
Response payload
details:
Field | Description |
---|---|
result |
OK or KO |
token |
The just deleted token |
Alternative Payments Examples
Example: Alipay
Alipay example - POST payment/create:
{
"shopLogin":"{{shopLogin}}",
"amount":"1",
"currency":"EUR",
"shopTransactionID":"TEST",
"languageId":"",
"paymentType":["S2PALI"],
"orderDetails":{
"customerDetail":{
"primaryEmail":""
},
"ProductDetails": [{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-4",
"Name": "Porche Carrera scale model",
"Description": "Porche Carrera scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
},
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-5",
"Name": "Ferrari scale model",
"Description": "Ferrari scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
}
]
}
}
Alipay does not need any mandatory parameters. Just specify the PaymentType S2PALI
and the payment page will show to your user.
If you specify the PrimaryEmail
in the OrderDetails
tag, you will redirect your user to Alipay payment page where some fields are already filled.
January 2019 breaking changes
If you are using Alipay via Ecommerce you need to update your integration because from 21/01/2019 more mandatory fields will be required from Alipay.
The new mandatory fields are ProductDetail
: you need to add one field for each item in the cart with the product name and the quantity. All these fields must me wrapped inside a ProductDetails
tag.
Other product information like the product code and its price are optional. Keep in mind that the total must be exactly the sum of all items’ prices.
Example: Amazon Pay
Amazon Pay example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "AMAZONPAY",
"buyer": {
"name": "test",
"email": "+test@test.com"
}
}
Recurring payments with Amazon Pay
Amazon Pay Recurring Payments example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "0.01",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["AMAZONPAY"],
"amazonDescription":"paynowandrecurring"
}
If you want to perform recurring payments, by filling this field in payment/create you obtain a token that you can use with payment/submit.
Accepted values for amazonDescription
:
Value | Description |
---|---|
Empty or missing | no token is returned. |
paynowandrecurring |
a payment is performed instantly and a token is generated for subsequent payments. |
onlyrecurring |
only a token is returned. |
Amazon Pay Submit example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "AMAZONPAY",
"buyer": {
"name": "test",
"email": "+test@test.com"
},
"paymentTypeDetails": {
"amazonPay":{
"token":"AZRPHAIL0YEFTDQ7"
}
}
}
If you implement AmazonPay in your shop by using Amazon widgets for address and cards, you can finalize the call by calling payment/submit
Use AMAZONPAY
for the paymentType
and send the Amazon Order Reference ID in the amazonReferenceOrderId
field.
Amazon Pay Submit example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "AMAZONPAY",
"buyer": {
"name": "test",
"email": "+test@test.com"
},
"paymentTypeDetails": {
"amazonPay":{
"amazonReferenceOrderId":"S02-6393286-1135021"
}
}
}
The shopTransactionId
in payment/create must be unique.
Example: Apple Pay
Apple Pay example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "APPLEPAY",
"paymentTypeDetails": {
"applePay": {
"PKPaymentToken": {
"paymentData": {
"data": "Q0tfx6QzXdxMndMiDSJWxs...",
"signature": "MIAGCSqGSIb3DQEHAqCAMIACA...",
"header": {
"publicKeyHash": "b9OHKov...",
"ephemeralPublicKey": "MFkwE...",
"transactionId": "840cefb..."
},
"version": "EC_v1"
},
"transactionIdentifier": "3220840CFB...",
"paymentMethod": {
"network": "Visa",
"type": "debit",
"displayName": "Visa 0492"
}
}
}
}
}
Please read the detailed setup process for Apple Pay in the docs.
Once you have received a Payment Token Package, you can call callPagamS2S
with the relevant data.
Note that, if using Apple Pay, no Credit Card or Token data are needed.
For a real example of Payment Token Package, contained in PKPaymentToken
, click here.
The most important field in this process is PKPaymentToken
. Here is a description:
Name | Type | Description |
---|---|---|
PKPaymentToken |
string | Contains a UTF-8 serialization of a plain-text JSON dictionary.. |
Once you have submitted payment/submit, Axerve Ecommerce Solutions will behave exactly as usual and your payment will be processed.
Example: BancomatPay
BancomatPay example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "",
"paymentType": ["BANCOMATPAY"],
"paymentTypeDetail": {
"BancomatPay":{
"phoneNumber":"+3935......"
}
}
}
You must use BANCOMATPAY
as paymentType
.
Example: Consel
Consel example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "2500",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": [
"CONSEL"
],
"ConselMerchantPro": "WIN",
"ConselCustomerInfo": {
"Surname": "Rossi",
"Name": "Mario",
"TaxationCode": "RSSMRA70D23H501H",
"Address": "Via Torino",
"City": "Roma",
"StateCode": "RM",
"DateAddress": "",
"Phone": "06321111",
"MobilePhone": "3313333333"
}
}
More information about Consel (Sella Personal Credit) can be found in the documentation.
Name | Max Length | Description |
---|---|---|
ConselMerchantPro |
3 | Merchant Promotional Code, mandatory to display Consel in the Payment Method list. |
ConselCustomerInfo |
Wrapper for Consel tags. | |
Surname |
30 | Customer Surname. |
Name |
30 | Customer Name. |
TaxationCode |
30 | Customer Taxation Code. |
Address |
30 | Customer Address. |
City |
30 | Customer City. |
StateCode |
30 | Customer State Code. |
DateAddress |
30 | Date since the customer has lived in the declared address (dd/mm/yyyy). |
Phone |
30 | Customer Phone. |
MobilePhone |
30 | Customer Mobile phone. |
Example: EPS
EPS example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PEPS"]
}
EPS does not need mandatory parameters. You must use S2PEPS
as paymentType
.
More information about EPS can be found in the documentation.
Example: Giropay
Giropay example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PGIR"]
}
Giropay does not need mandatory parameters. You must use S2PGIR
as paymentType
.
More information about Giropay can be found in the documentation.
Example: Klarna
Klarna example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "10",
"currency": "EUR",
"shopTransactionID": "TEST",
"paymentType": [
"KLARNA"
],
"OrderDetails": {
"CustomerDetail": {
"ProfileID": "",
"MerchantCustomerID": "",
"FirstName": "Joel",
"MiddleName": "",
"Lastname": "Kinnaman",
"PrimaryEmail": "jkinnaman@axerve.com",
"SecondaryEmail": "",
"HomePhone": "+443333333333",
"SecondaryPhone": "",
"DateOfBirth": "",
"Gender": "",
"SocialSecurityNumber": "410321-9202",
"Company": ""
},
"BillingAddress": {
"ProfileID": "",
"FirstName": "",
"MiddleName": "",
"Lastname": "",
"StreetNumber": "1",
"StreetName": "Stargatan",
"Streetname2": "",
"HouseNumber": "1",
"HouseExtention": "A",
"City": "Regensburg",
"ZipCode": "93053",
"State": "",
"CountryCode": "DE",
"Email": "",
"PrimaryPhone": "",
"SecondaryPhone": ""
},
"ProductDetails": [
{
"ProductCode": "5",
"Name": "Phone",
"Quantity": "1",
"Price": "5",
"Type": "5",
"Vat": "0",
"Discount": "0"
},
{
"ProductCode": "8",
"Name": "Shirt",
"Quantity": "1",
"Price": "5",
"Type": "5",
"Vat": "0",
"Discount": "0"
}
]
}
}
Klarna requires these parameters as mandatory, children of OrderDetails:
Name | Max Length | Description |
---|---|---|
BillingAddress.StreetName |
100 | Shipping street name. Accepts only alpha-numeric characters. |
BillingAddress.City |
50 | Shipping city name. |
BillingAddress.ZipCode |
50 | Shipping zip code. |
BillingAddress.CountryCode |
2 | One of: AT , BE , CH , DK , FI , DE , IT , ES , NL , NO , SE . |
ProductDetails.ProductDetail |
The list of ordered products. |
We strongly suggest you read these notes on BillingAddress
and ShippingAddress
.
StreetName
and StreetNumber
, either in BillingAddress
or ShippingAddress
, must contain only alphanumeric characters.
If you send the following fields, your customer will find them already filled:
Name | Max Length | Description |
---|---|---|
CustomerDetail.FirstName |
65 | Customer First Name. |
CustomerDetail.Lastname |
65 | The list of ordered products. |
CustomerDetail.PrimaryEmail |
100 | Customer primary email. |
CustomerDetail.PrimaryPhone |
100 | Customer’s phone including prefix. See below on how to use it. |
CustomerDetail.SocialSecurityNumber |
20 | Customer’s social or fiscal identifier (for Klarna Use) |
BillingAddress.StreetNumber |
5 | Shipping Street Number. Accepts only numbers. |
PrimaryPhone
must follow these rules:
- it must contain only numbers.
- if the number does not contain a country code, it must be preceeded by 0 followed by the phone number; for example, 01522113356.
- If the number contains a country code, it must be set to CountryCode + phone number, without the 0 prefix; for example 00491522113356.
ProductDetails
can have one or more ProductDetail
. Here is a description of its fields:
Name | Max Length | Description |
---|---|---|
ProductCode |
12 | The article’s product Code. |
SKU |
50 | The article’s Stock Keeping Unit. |
Name |
100 | The article’s name. |
Description |
255 | The article’s description. |
Quantity |
3 | The number of products. |
Price |
12 | The article’s price. |
UnitPrice |
12 | The article’s Unit Price. |
Type |
2 | The type of article: visit the klarna page in the docs to set the right value. |
Vat |
2 | Value-Added Tax (the value of the tax). |
Discount |
2 | The amount offered by you as discount, in percentage. For example, 10 means 10% and it is subtracted to the price. |
Please note:
- The total value for the
ProductDetails
needs to be the same as the total amount sent, otherwise the transaction will fail. - The Discount is a percentage and must be considered in the Total Amount Value.
- For example if the Quantity is 1, the Price is 10 and the Discount is 10(%), then the Total Amount of the transaction must be 9, otherwise the transaction is refused.
More details about Klarna are in the documentation.
Example: Konbini
Konbini example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PKON"]
}
Konbini does not need mandatory parameters.
You must use S2PKON
as paymentType
.
If you pass the PrimaryEmail
tag, the customer will be redirected directly to the payment page.
More information about Konbini can be found in the documentation.
Example: MercadoPago
MercadoPago example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": [
"S2PMER"
],
"orderDetails": {
"customerDetail": {
"primaryEmail": ""
},
"billingAddress": {
"profileID": "",
"firstName": "Vercinge",
"lastname": "Torige",
"streetName": "via",
"streetname2": "",
"houseNumber": "",
"houseExtention": "",
"city": "mexico city",
"zipCode": "11111",
"state": "MX",
"countryCode": "MX",
"email": "torige@email.com",
"primaryPhone": "01111111111",
"secondaryPhone": "",
"company": "",
"stateCode": ""
},
"ProductDetails": [
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-4",
"Name": "Porche Carrera scale model",
"Description": "Porche Carrera scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
},
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-5",
"Name": "Ferrari scale model",
"Description": "Ferrari scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
}
]
}
}
MercadoPago requires the parameter BillingAddress.CountryCode
, children of OrderDetails
:
Name | Max Length | Description |
---|---|---|
BillingAddress.CountryCode |
2 | One of: BR , MX , CO . |
You must use S2PMER
as paymentType
.
More information about MercadoPago can be found in the documentation.
Example: Multibanco
Multibanco example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PMUL"]
}
Multibanco does not need mandatory parameters. You must use S2PMUL
as paymentType
.
More information about Giropay can be found in the documentation.
Example: MyBank
MyBank example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "MYBANK",
"buyer": {
"name": "test",
"email": "test@test.com"
},
"paymentTypeDetails": {
"myBank":{
"bankCode": "CT000026"
}
}
}
If you choose to let your users pay with MyBank, you have to compile two other fields.
More details can be found in the MyBank page.
Name | Max Length | Description |
---|---|---|
paymentTypeDetail |
container of myBank section | |
bankCode |
25 | Tag to set the Bank to show on payment page (the bank List is retrieved from WsS2S.CallMyBankListS2S ) |
Example: Paypal
Paypal example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "PAYPAL"
}
Enabling Paypal
If you only specify PAYPAL
payment type, Axerve Ecommerce Solutions won’t show the payment page but will redirect directly to Paypal’s payment page.
A detailed description of Axerve Ecommerce Solutions’ integration with Paypal can be found in the documentation.
Paypal Seller Protection
Paypal Seller Protection example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "0.01",
"currency": "EUR",
"shopTransactionID": "TEST",
"buyerName": "Test",
"buyerEmail": "test@test.com",
"languageId": "1",
"ppSellerProtection": "1",
"paymentType": [
""
],
"shippingDetails": {
"shipToName": "leo",
"shipToStreet": "via milano 1",
"shipToState": "BI",
"shipToCountryCode": "IT",
"shipToZip": "19199",
"shipToCity": "TORINO",
"shipToStreet2": ""
}
}
For more information, check out the “PayPal Seller Protection” section of the Paypal Docs.
If you want to activate Paypal Seller Protection you must:
- Send all the shipment data in the shippingDetails tag.
- Set
ppSellerProtection
to 1:
Name | Max Length | Description |
---|---|---|
ppSellerProtection |
1 | Parameter to set the use of a confirmed addresses. |
Paypal recurring payments
In this way you can activate recurring payments on Paypal. Note that no paymentType
is needed.
Paypal Recurring Payments example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "0.01",
"currency": "EUR",
"shopTransactionID": "TEST",
"buyerName": "Test",
"buyerEmail": "test@test.com",
"languageId": "1",
"payPalDescription": "testppfulvio",
"paymentType": [""],
"shippingDetails": {
"shipToName": "marco",
"shipToStreet": "via milano 1",
"shipToState": "BI",
"shipToCountryCode": "IT",
"shipToZip": "19199",
"shipToCity": "TORINO",
"shipToStreet2": ""
}
}
A Buyer will be able to subscribe a Billing Agreement on PayPal0s website so authorizing the Merchant to debit his/her PayPal account in future transactions.
To use PayPal Reference Transaction it’s necessary to fill the PayPalBillingAgreementDescription
tag that can be present or not (in case of a normal PayPal payment it will be left empty or not passed at all).
Name | Max Length | Description |
---|---|---|
payPalDescription |
127 | Description of the goods, terms and conditions of the billing agreement. |
The Encryption service, if the payPalDescription
field is present and not empty, assumes that the payment method is PayPal (so the paymentType
field in this case is not mandatory: if present it must be valued PAYPAL
).
This tag has to be filled with description of the goods, terms and conditions of the billing agreement.
When using PayPal Billing Agreement, you will get a Token to use later with the payment/submit service.
Using a Paypal token
Paypal Using a Token example - POST payment/submit:
{
"shopLogin": "{{shopLogin}}",
"paymentType": "PAYPAL",
"paymentTypeDetails": {
"payPal": {
"token": "PPT2PDODGBPO4H3U"
}
}
}
See the “Using a Token” example on the right side of this page.
Example: Paysafecard
Paysafecard example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PPSC"]
}
Paysafecard does not need mandatory parameters.
You must use S2PPSC
as paymentType
.
More information about Paysafecard can be found in the documentation.
Example: Przelewy24
Przelewy24 example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST_OK",
"languageId": "",
"paymentType": [
"PRZELEWY24"
],
"orderDetails": {
"customerDetail": {
"primaryEmail": ""
},
"billingAddress": {
"profileID": "",
"firstName": "Vercinge",
"lastname": "Torige",
"streetName": "via",
"streetname2": "",
"houseNumber": "",
"houseExtention": "",
"city": "Cracovia",
"zipCode": "11111",
"state": "PL",
"countryCode": "PL",
"email": "torige@email.com",
"primaryPhone": "01111111111",
"secondaryPhone": "",
"company": "",
"stateCode": ""
},
"ProductDetails": [
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-4",
"Name": "Porche Carrera scale model",
"Description": "Porche Carrera scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
},
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-5",
"Name": "Ferrari scale model",
"Description": "Ferrari scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
}
]
}
}
Przelewy24 does not need mandatory parameters.
You must use PRZELEWY24
as paymentType
.
More information about Przelewy24 can be found in the documentation.
Example: Satispay
Satispay example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["SATISPAY"]
}
Satispay does not need mandatory parameters.
You must use SATISPAY
as paymentType
.
More information about Satispay can be found in the documentation.
Example: Sofort
Sofort example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PSOF"]
}
You must use S2PSOF
as paymentType
.
Sofort does not need mandatory parameters, but if you send the following parameters, you will jump straight to the Sofort payment page without authenticating. All these fields are children of OrderDetails
.
Name | Max Length | Description |
---|---|---|
CustomerDetail.FirstName |
65 | Customer First Name. |
CustomerDetail.Lastname |
65 | Customer Last name. |
CustomerDetail.PrimaryEmail |
100 | Customer primary email. |
BillingAddress.CountryCode |
2 | Alpha-2 code. For example, use US for USA. |
Example: UnionPay
UnionPay example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "",
"paymentType": [
"S2PUNI"
],
"orderDetails": {
"customerDetail": {
"primaryEmail": "test@test.com"
}
}
}
You must use S2PUNI
as paymentType
.
UnionPay does not need mandatory parameters.
However, if you send the PrimaryEmail
and PrimaryPhone
fields in the OrderDetails
tag, you will jump straight to the UnionPay payment page; otherwise, an intermediary page asking for the email address is shown.
Example: WebMoney
WebMoney example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["S2PWMO"]
}
WebMoney does not need mandatory parameters.
You must use S2PWMO
as paymentType
.
More information about WebMoney can be found in the documentation.
Example: WeChat
WeChat example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "1",
"paymentType": ["WECHAT"]
}
WeChat does not need mandatory parameters.
You must use WECHAT
as paymentType
.
More information about WeChat can be found in the documentation.
Example: Yandex
Yandex example - POST payment/create:
{
"shopLogin": "{{shopLogin}}",
"amount": "1",
"currency": "EUR",
"shopTransactionID": "TEST",
"languageId": "",
"paymentType": [
"S2PYAN"
],
"orderDetails": {
"customerDetail": {
"primaryEmail": "test@test.com"
}
}
}
Yandex does not need mandatory parameters; but if you send CustomerDetail.PrimaryEmail
in the OrderDetails
tag you can have a frictionless call directly to the first screen of Yandex where authentication data are asked.
Name | Max Length | Description |
---|---|---|
CustomerDetail.PrimaryEmail |
100 | Customer primary email. |
This mean that no others values are asked to the buyer; if this field is not sent with the payment, a page will ask the necessary fields.
Axerve Guaranteed Payment
Axerve Guaranteed Payment is a fraud detection service, offered in partnership with Riskified. To get more info, visit Axerve Guaranteed Payment documentation.
Axerve Guaranteed Payment can be used both in Encrypt
and in S2S webservices (like callPagamS2S and others).
All Axerve Guaranteed Payment data goes inside the tag <OrderDetails>
. There you will find a detailed description of every field.
Risk response codes
Code | Description |
---|---|
created |
transaction has been received by Axerve Guaranteed Payment |
submitted |
transaction is under review |
approved |
transaction approved by Axerve Guaranteed Payment |
declined |
transaction not approved by Axerve Guaranteed Payment |
captured |
For Select&Submit plan, captured is returned for transactions that are not marked for review. |
any other value | error returned by Axerve Guaranteed Payment |
Models
In this section we’ll discuss shared objects used in the API.
OrderDetails
OrderDetails
tag example:
<OrderDetails>
<FraudPrevention>
<SubmitForReview>1</SubmitForReview>
<OrderDateTime>2017-12-26</OrderDateTime>
<OrderNote>Please send me the blue version</OrderNote>
<Source>website</Source>
<SubmissionReason>rule_decision</SubmissionReason>
<BeaconSessionID>ff1db05b-81db-4ca0-a728-4797bfe796ff</BeaconSessionID>
<VendorID>9000002</VendorID>
<VendorName>www.yourdomain.it</VendorName>
</FraudPrevention>
<CustomerDetail>
<ProfileID />
<MerchantCustomerID/>
<FirstName>Michael</FirstName>
<MiddleName>J.</MiddleName>
<Lastname>Fox</Lastname>
<PrimaryEmail>martymcfly@backtothefuture.com</PrimaryEmail>
<SecondaryEmail />
<PrimaryPhone>+390298987643</PrimaryPhone>
<SecondaryPhone>+393351029384</SecondaryPhone>
<DateOfBirth>29/09/1932</DateOfBirth>
<SocialSecurityNumber>BRLSLV36P29F205W</SocialSecurityNumber>
<Company />
<CreatedAtDate>2017-05-16 15:28</CreatedAtDate>
<VerifiedEmail>true</VerifiedEmail>
<AccountType>premium</AccountType>
</CustomerDetail>
<CustomerSocial>
<Network>Facebook</Network>
<PublicUserName>Marty McFly</PublicUserName>
<CommunityScore>100</CommunityScore>
<ProfilePicture>https://external-mxp1-1.xx.fbcdn.net/safe_image.php?d=AQCSnRebJp1o3AR9&w=264&h=264&url=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fit%2Fthumb%2F1%2F1d%2FMartyMcFly.JPG%2F720px-MartyMcFly.JPG&colorbox&f</ProfilePicture>
<Email>martymcfly@backtothefuture.com</Email>
<Bio>Martin Seamus "Marty" McFly is a fictional character in the Back to the Future trilogy. He is portrayed by actor Michael J. Fox.</Bio>
<AccountUrl>https://www.facebook.com/pages/Marty-McFly/103151259725141?fref=ts&rf=105623692803833</AccountUrl>
<Following>0</Following>
<Followed>1157</Followed>
<Id>103151259725141</Id>
<AuthToken>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...</AuthToken>
<SocialData />
</CustomerSocial>
<ShippingAddress>
<ProfileID />
<FirstName>Michael</FirstName>
<MiddleName>J.</MiddleName>
<Lastname>Fox</Lastname>
<Company>Universal Studios</Company>
<StreetName>Hollywood Boulevard</StreetName>
<StreetName2 />
<HouseNumber>1432</HouseNumber>
<HouseExtention />
<City>Los Angeles</City>
<ZipCode>90213</ZipCode>
<State>California</State>
<CountryCode>US</CountryCode>
<Email>martymcfly@backtothefuture.com</Email>
<PrimaryPhone>+0199332285321</PrimaryPhone>
<SecondaryPhone />
</ShippingAddress>
<BillingAddress>
<ProfileID />
<FirstName>Michael</FirstName>
<MiddleName>J.</MiddleName>
<Lastname>Fox</Lastname>
<Company>Universal Studios</Company>
<StreetName>Hollywood Boulevard</StreetName>
<StreetName2 />
<HouseNumber>1432</HouseNumber>
<HouseExtention />
<City>Los Angeles</City>
<ZipCode>90213</ZipCode>
<State>California</State>
<CountryCode>US</CountryCode>
<Email>martymcfly@backtothefuture.com</Email>
<PrimaryPhone>+0199332285321</PrimaryPhone>
<SecondaryPhone />
</BillingAddress>
<ProductDetails>
<ProductDetail><!-- first of 1...N products -->
<ProductCode>135798642</ProductCode>
<SKU>AB-333222-WFG-4</SKU>
<Name>Porche Carrera scale model</Name>
<Description>Porche Carrera scale model</Description>
<Quantity>1</Quantity>
<Price>50.5</Price>
<UnitPrice>50.5</UnitPrice>
<Type>1</Type><!-- 1: product -->
<Vat>22</Vat>
<Discount />
<Category>Scale Models</Category>
<Subcategory>cars</Subcategory>
<Brand>LittleCars</Brand>
<RequiresShipping>true</RequiresShipping>
<DeliveryAt>2017-12-29</DeliveryAt>
<Condition>new</Condition>
<Seller /><!-- relevant for marketplace orders -->
</ProductDetail>
<ProductDetail>
<ProductCode>135798642</ProductCode>
<SKU>AB-333222-WFG-5</SKU>
<Name>Ferrari scale model</Name>
<Description>Ferrari scale model</Description>
<Quantity>1</Quantity>
<Price>50.5</Price>
<UnitPrice>50.5</UnitPrice>
<Type>1</Type><!-- 1: product -->
<Vat>22</Vat>
<Discount />
<Category>Scale Models</Category>
<Subcategory>cars</Subcategory>
<Brand>LittleCars</Brand>
<RequiresShipping>true</RequiresShipping>
<DeliveryAt>2017-12-29</DeliveryAt>
<Condition>new</Condition>
<Seller /><!-- relevant for marketplace orders -->
</ProductDetail><!-- last of 1...N products -->
</ProductDetails>
<DiscountCodes>
<DiscountCode><!-- one or more -->
<Amount>10</Amount>
<Code>53232</Code>
</DiscountCode>
</DiscountCodes>
<ShippingLines>
<ShippingLine>
<Price>20</Price>
<Title>FedEx</Title>
<Code>72-B03</Code>
</ShippingLine>
</ShippingLines>
<AccommodationDetails>
<!-- First accomodation -->
<AccommodationDetail>
<City>Eindhoven</City>
<CountryCode>NL</CountryCode>
<Title>Tulip Inn Eindhoven Airport</Title>
<CheckInDate>2018-01-20T00:00+0000</CheckInDate>
<CheckOutDate>2018-01-22T00:00+0000</CheckOutDate>
<ProductId>NL2133</ProductId>
<Rating>3</Rating>
<NumberOfGuests>3</NumberOfGuests>
<AccommodationType>Hotel</AccommodationType>
<RoomType>Deluxe Triple</RoomType>
<Price>370</Price>
<Quantity>1</Quantity>
<CancellationPolicy>Non-Refundable</CancellationPolicy>
</AccommodationDetail>
<!-- Second accomodation -->
<AccommodationDetail>
...
</AccommodationDetail>
</AccommodationDetails>
<PassengerDetails>
<!-- First passenger -->
<PassengerDetail>
<FirstName>Antonio</FirstName>
<LastName>Esposito</LastName>
<DateOfBirth>1970-05-03</DateOfBirth>
<NationalityCode>IT</NationalityCode>
<InsuranceType>ERV</InsuranceType>
<InsurancePrice>17</InsurancePrice>
<DocumentNumber>AO1234567</DocumentNumber>
<DocumentType>Identity Card</DocumentType>
<DocumentIssueDate>Comune di Salerno</DocumentIssueDate>
<DocumentExpirationDate>2020-10-02</DocumentExpirationDate>
<PassengerType>adult</PassengerType>
</PassengerDetail>
<!-- Second passenger -->
<PassengerDetail>
...
</PassengerDetail>
</PassengerDetails>
</OrderDetails>
JSON version of the same data structure
{
"OrderDetails": {
"FraudPrevention": {
"SubmitForReview": "1",
"OrderDateTime": "2017-12-26",
"OrderNote": "Please send me the blue version",
"Source": "website",
"SubmissionReason": "rule_decision",
"BeaconSessionID": "ff1db05b-81db-4ca0-a728-4797bfe796ff",
"VendorID": "9000002",
"VendorName": "www.yourdomain.it"
},
"CustomerDetail": {
"FirstName": "Michael",
"MiddleName": "J.",
"Lastname": "Fox",
"PrimaryEmail": "martymcfly@backtothefuture.com",
"PrimaryPhone": "+390298987643",
"SecondaryPhone": "+393351029384",
"DateOfBirth": "29/09/1932",
"SocialSecurityNumber": "BRLSLV36P29F205W",
"CreatedAtDate": "2017-05-16 15:28",
"VerifiedEmail": "true",
"AccountType": "premium"
},
"CustomerSocial": {
"Network": "Facebook",
"PublicUserName": "Marty McFly",
"CommunityScore": "100",
"ProfilePicture": "https://martymcfly.com/image.jpg",
"Email": "martymcfly@backtothefuture.com",
"Bio": "Martin Seamus \"Marty\" McFly is a fictional character in the Back to the Future trilogy. He is portrayed by actor Michael J. Fox.",
"AccountUrl": "https://www.facebook.com/pages/Marty-McFly/103151259725141",
"Following": "0",
"Followed": "1157",
"Id": "103151259725141",
"AuthToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
"ShippingAddress": {
"FirstName": "Michael",
"MiddleName": "J.",
"Lastname": "Fox",
"Company": "Universal Studios",
"StreetName": "Hollywood Boulevard",
"HouseNumber": "1432",
"City": "Los Angeles",
"ZipCode": "90213",
"State": "California",
"CountryCode": "US",
"Email": "martymcfly@backtothefuture.com",
"PrimaryPhone": "+0199332285321"
},
"BillingAddress": {
"FirstName": "Michael",
"MiddleName": "J.",
"Lastname": "Fox",
"Company": "Universal Studios",
"StreetName": "Hollywood Boulevard",
"HouseNumber": "1432",
"City": "Los Angeles",
"ZipCode": "90213",
"State": "California",
"CountryCode": "US",
"Email": "martymcfly@backtothefuture.com",
"PrimaryPhone": "+0199332285321"
},
"ProductDetails": [{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-4",
"Name": "Porche Carrera scale model",
"Description": "Porche Carrera scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
},
{
"ProductCode": "135798642",
"SKU": "AB-333222-WFG-5",
"Name": "Ferrari scale model",
"Description": "Ferrari scale model",
"Quantity": "1",
"Price": "50.5",
"UnitPrice": "50.5",
"Type": "1",
"Vat": "22",
"Category": "Scale Models",
"Subcategory": "cars",
"Brand": "LittleCars",
"RequiresShipping": "true",
"DeliveryAt": "2017-12-29",
"Condition": "new"
}
],
"DiscountCodes": {
"DiscountCode": {
"Amount": "10",
"Code": "53232"
}
},
"ShippingLines": {
"ShippingLine": {
"Price": "20",
"Title": "FedEx",
"Code": "72-B03"
}
},
"AccommodationDetails": {
"AccommodationDetail": [
{
"City": "Eindhoven",
"CountryCode": "NL",
"Title": "Tulip Inn Eindhoven Airport",
"CheckInDate": "2018-01-20T00:00+0000",
"CheckOutDate": "2018-01-22T00:00+0000",
"ProductId": "NL2133",
"Rating": "3",
"NumberOfGuests": "3",
"AccommodationType": "Hotel",
"RoomType": "Deluxe Triple",
"Price": "370",
"Quantity": "1",
"CancellationPolicy": "Non-Refundable"
},
"
...
"
]
},
"PassengerDetails": {
"PassengerDetail": [
{
"FirstName": "Antonio",
"LastName": "Esposito",
"DateOfBirth": "1970-05-03",
"NationalityCode": "IT",
"InsuranceType": "ERV",
"InsurancePrice": "17",
"DocumentNumber": "AO1234567",
"DocumentType": "Identity Card",
"DocumentIssueDate": "Comune di Salerno",
"DocumentExpirationDate": "2020-10-02",
"PassengerType": "adult"
},
"
...
"
]
}
}
}
The OrderDetails
tag contains all the info that can be sent together with a transaction. The more data is sent, the easier it is for Axerve Ecommerce Solutions to analyze your request.
Many external systems, like the one presented in the next sections, use OrderDetails
fields to work. Axerve Guaranteed Payment (an antifraud system) massively uses OrderDetails
to get the job done.
In this section we will analyze indipendently all the fields.
After the XML example there’s the corresponding JSON version. Click to directly jump to the JSON example.
Field | Max Size | Type | Description |
---|---|---|---|
FraudPrevention |
container | Contains fields related to fraud prevention. | |
CustomerDetail Required |
container | Contains customer data. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)) | |
CustomerSocial |
container | if you have access to a customer’ social profile, you can also send this data . | |
ShippingAddress Required |
container | Contains shipping address. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)) | |
BillingAddress Required |
container | contains the billing address. Mandatory for Banca Sella customers (see Risk Based Authentication (RBA)) | |
ProductDetails |
container | contains one or more ProductDetail s items buyed. |
|
DiscountCodes |
container | contains one or more DiscountCode s, if discounts are applicable. |
|
ShippingLines |
container | contains one or more ShippingLine s, that contain the price and the shipping courier. |
Children of FraudPrevention
Field | Type | Max Size | Description |
---|---|---|---|
SubmitForReview Required |
string | 1 | Flag to activate review over Axerve Guaranteed Payment.
1 . With Shop Protection all transactions are submitted for review by default. |
OrderDateTime Optional |
string | 10 | Order date time. Format: YYYY-MM-DD. |
OrderNote Optional |
string | 50 | Buyer’s order note . |
Source Required |
string | 50 |
|
SubmissionReason Recommended |
string | 20 | the underlying reason for submitting the order to review. It must be one of the following values:
rule_decision . |
BeaconSessionID Required |
string | 100 | Session ID of the Beacon for this transaction. This value must be collected when the user first connects to your website and be sent to Axerve Guaranteed Payment to analyze it. With this field, Axerve Guaranteed Payment knows what actions the user did on your website. |
VendorID Recommended |
string | 10 | A unique ID representing the selling vendor; commonly the Axerve Ecommerce Solutions shopLogin . Mandatory in case of different domain use. |
VendorName Recommended |
string | 100 | In case of multiple selling domains, this is the name of the selling vendor. Mandatory in case of different domain use. |
Children of CustomerDetail
Field | Type | Max Size | Description |
---|---|---|---|
MerchantCustomerID Required Required |
string | 50 | The customer’s ID in the merchant’s system. |
FirstName Required Required |
string | 65 | Customer First Name . |
Lastname Required Required |
string | 65 | Customer Last name. |
PrimaryEmail Required Required |
string | 100 | Customer primary email. |
PrimaryPhone Required |
string | 20 | Customer’s phone including prefix. |
DateOfBirth Required |
string | 10 | Customer Date of Birth (dd/mm/yyyy). |
Gender Required |
string | 1 | Customer Gender (0 =Male 1 =Female). |
SocialSecurityNumber Required |
string | 20 | Customer’s social or fiscal identifier (KlarnaUse). |
Company Required |
string | 255 | Customer Company. |
CreatedAtDate Required |
string | 10 | Date of Customer creation on merchant site. Example: 2017-05-16 15:28 (year-month-day hour:minute). |
VerifiedEmail Required |
string | 5 | Email is verified? true /false . |
AccountType Optional |
string | 20 | free /premium etc. |
Children of CustomerSocial
If you have access to social data of your customers, you can send them along with the other data.
Field | Type | Max Size | Description |
---|---|---|---|
Network Optional |
string | 12 | The name of the social network. |
PublicUserName Optional |
string | 50 | The customer’s public username. |
CommunityScore Optional |
string | 65 | holds the score for networks where it’s relevant. |
ProfilePicture Optional |
string | 65 | URL of the customer’s profile picture. |
Email Optional |
string | 65 | Customer’s email address registered on the social network. |
Bio Optional |
string | 100 | Short biography of the customer on the social network. |
AccountUrl Optional |
string | 100 | Direct URL to the customer’s profile page on the social network. |
Following Optional |
string | 20 | Direct URL to the customer’s profile page on the social network. |
Followed Optional |
string | 20 | Number of users followed by the customer on the social network. |
Id Optional |
string | 10 | The customer’s profile id. |
AuthToken Optional |
string | 10 | The authentication token of the user. |
SocialData Optional |
string | 20 | Open field for additional data from the social network. |
ShippingAddress
and BillingAddress
field
Field | Type | Max Size | Description |
---|---|---|---|
FirstName Required |
string | 65 | First Name. |
Lastname Required |
string | 65 | Last name. |
StreetName Required Required |
string | 100 | The street address of the shipping address. |
Streetname2 Optional |
string | 100 | The street address of the shipping address, second line. |
HouseNumber Required |
string | 5 | House Number. |
HouseExtention Required |
string | 5 | House Extension. |
City Required Required |
string | 50 | Shipping City. |
ZipCode Required Required |
string | 50 | The zip or postal code of the shipping address. |
State Required Required |
string | 50 | The name of the state or province of the shipping address. |
CountryCode Required Required |
string | 2 | Alpha-2 code; for example, United States is “US”. |
PrimaryPhone Required |
string | 20 | Shipping Primary Phone. |
Company Optional |
string | 255 | Company Name. |
StateCode Required |
string | 2 | Two-letter abbreviation of the state or province of the address. |
ProductDetails
and ProductDetail
field
ProductDetails
will contain one or more ProductDetail
.
ProductDetail
describes a bought item.
Field | Type | Max Size | Description |
---|---|---|---|
ProductCode Required Required |
string | 12 | Article’s product Code. |
SKU Recommended |
string | 50 | Article’s Stock Keeping Unit. |
Name Required Required |
string | 100 | Article’s name. |
Quantity Required Required |
string | 3 | The number of products. |
Price Required Required |
string | 12 | Article’s price (dot as decimal separator). |
Type *Required Required |
string | 8 | The type of article:
|
Vat Required |
string | 2 | Value-Added Tax (the value of the tax as an integer). |
Discount Required |
string | 2 | The percentage on the original price offered by you as discount, e.g. 10 -> 10% of the amount in “Price”. |
RequiresShipping Required |
string | 5 | true /false States whether or not the fulfillment requires shipping. This field is important for merchants dealing with digital goods. |
Condition Optional |
string | 100 | Description of the physical condition of the item, mostly relevant for used items. |
Category Recommended |
string | 255 | Product Category. |
Subcategory Recommended |
string | 255 | Product Sub Category. |
Brand Recommended |
string | 255 | Product Brand. |
DigitalGiftCardDetails Required |
object | An object containing the details about digital goods. The structure of this object is outlined in the next section. Object required only if the product is a digital good / giftcard — In any other case, it is optional. |
*Type
has a different meaning based on the type of active integration (for example klarna /riskified)
Children of ProductDetail.DigitalGiftCardDetails
Field | Type | Max Size | Description |
---|---|---|---|
SenderName Required |
string | 65 | The sender name (Required only for Digital goods). |
DisplayName Optional |
string | 65 | The display name. |
GreetingMessage Optional |
string | 255 | The greeting message. |
Recipient Optional |
object | An object containing information about the recipient of digital goods. The structure of this object is outlined in the next section. |
Children of ProductDetail.DigitalGiftCardDetails.Recipient
Field | Type | Max Size | Description |
---|---|---|---|
Email Optional |
string | 100 | The recipient’s email address. |
Phone Optional |
string | 20 | The recipient’s phone number. |
DiscountCodes
and DiscountCode
fields
If you apply discounts for your products you should add discount info.
in DiscountCodes
you may have one or more DiscountCode
, that contain these fields:
Field | Type | Max Size | Description |
---|---|---|---|
Amount Required |
string | 12 | The amount of the discount (dot as decimal separator). |
Code Required |
string | 50 | The code of the discount. |
ShippingLines
and ShippingLine
fields
With this fields you can define the price and the kind of shipping that you use for your products, if applicable.
Field | Type | Max Size | Description |
---|---|---|---|
Price Required |
string | 12 | The price of the shipping method (dot as decimal separator). |
Title Required |
string | 100 | The title of the shipping method. |
Code Recommended |
string | 50 | Code of the shipping method. |
AccomodationDetails
and AccomodationDetail
fields
These tags are useful for Hotel and Accomodation companies. You can put as many AccomodationDetail
you need inside one AccomodationDetails
group tag.
Field | Type | Max Size | Description |
---|---|---|---|
City Required |
string | 50 | Accomodation City. |
CountryCode Required |
string | 2 | The 2 letter country code (ISO 3166-1 alpha-2) of the country where the accommodation is located. |
Title Required |
string | 255 | Accomodation name. |
CheckInDate Required |
string | 50 | Date-Time of arrival in ISO standard. |
CheckOutDate Optional |
string | 50 | Date-Time of departure in ISO standard. |
ProductId Required |
string | 255 | Booking.com unique identifier of the offer, skip if irrelevant. |
Rating Optional |
string | 5 | Star rating of the accomodation. |
NumberOfGuests Optional |
string | 3 | Number of guests. |
AccommodationType Optional |
string | 255 | Accomodation type: Hotel, Room, B&B, etc. |
RoomType Optional |
string | 255 | The room type, such as single, double, suite, etc. |
Price Required |
string | 12 | Price of one room of this kind for the period (dot as decimal separator). |
Quantity Required |
string | 5 | How many rooms of this kind are in the order. |
CancellationPolicy Optional |
string | 255 | Write here your cancellation policy, e.g. Non-Refundable . |
TravelTicketDetails
and TravelTicketDetail
fields
These tags are useful for Traveling companies. You can put as many PassengerDetail
you need inside one PassengerDetails
group tag.
Field | Type | Max Size | Description |
---|---|---|---|
ArrivalCity Required |
string | 50 | The name of the city of arrival for the current leg. |
ArrivalCountryCode Required |
string | 2 | The 2 letter country code (ISO 3166-1 alpha-2) for the arrival country of the current leg. |
ArrivalDate Optional |
string | 50 | Date and time of arrival for the current leg. Add corresponding timezone indication or ensure correct UTC standardization (ISO8601) e.g. 2019-07-24T22:30:00-3:00 |
ArrivalPortCode Optional |
string | 3 | Arrival port code for the current leg. For flights: the 3 letter IATA airport code. |
CarrierCode Required |
string | 2 | A publicly agreed code describing the carrier/company conducting the current leg. For Flights: The IATA 2 letter carrier code. |
CarrierName Optional |
string | 255 | The name of the carrier/company conducting the current leg. |
DepartureCity Required |
string | 50 | The name of the city of departure for the current leg. |
DepartureCountryCode Required |
string | 2 | The 2 letter country code (ISO 3166-1 alpha-2) for the departure country of the current leg. |
DepartureDate Required |
string | 50 | Date and time of departure for the current leg. Add corresponding timezone indication or ensure correct UTC standardization (ISO8601) e.g. 2019-07-24T20:55:00+2:00 |
DeparturePortCode Optional |
string | 3 | Departure port code for the current leg. For flights: the 3 letter IATA airport code. |
LegId Required |
string | 255 | The current leg id. For flight tickets, the flight number (e.g. ‘101’). For bus tickets, the bus number (e.g: 'A7’). |
LegIndex Required |
string | 5 | A running index (starts with 1), describing the order of legs in the same route. For more details, see route_index field. |
RouteIndex Required |
string | 5 | A running index (starts with 1), describing the order of routes by time. E.g: If an order contains the 2 following Routes:
|
TicketClass Optional |
string | 255 | The class for this leg’s ticket (e.g. business, economy, first) |
Price Required |
string | 12 | The price of the item (dot as decimal separator). |
Quantity Required |
string | 12 | The number of items that were ordered. |
Title Required |
string | 255 | The title of the item. |
PassengerDetails
and PassengerDetail
fields
These tags are useful for travel agencies - flights, ships, etc. You can put as many PassengerDetail
you need inside one PassengerDetails
group tag.
Field | Type | Max Size | Description |
---|---|---|---|
FirstName Required |
string | 255 | Name of the passenger. |
LastName Required |
string | 255 | Last name of the passenger. |
DateOfBirth Required |
string | 10 | Date of birth of the passenger. Date part only (ISO8601). |
NationalityCode Required |
string | 2 | The 2 letter country code (ISO 3166-1 alpha-2) matching the passenger’s nationality country. |
InsuranceType Optional |
string | 255 | Insurance title if was chosen by the end customer. |
InsurancePrice Optional |
string | 12 | Insurance price if was chosen by the end customer (dot as decimal separator). |
DocumentNumber Optional |
string | 255 | A valid identification document number. |
DocumentType Optional |
string | 255 | The type of the identification document. |
DocumentIssueDate Optional |
string | 50 | The identification document issue date. |
DocumentExpirationDate Optional |
string | 50 | The identification document expiration date. |
PassengerType Recommended |
string | 255 | adult or child . |
ShippingDetails
shippingDetails
tag example:
<shippingDetails>
<shipToName>Marco Bianchi</shipToName>
<shipToStreet>Via Milano 1</shipToStreet>
<shipToCity>Torino</shipToCity>
<shipToState>TO</shipToState>
<shipToCountryCode>IT</shipToCountryCode>
<shipToZip>10100</shipToZip>
<shipToStreet2/>
</shippingDetails>
shippingDetails
used for example in Paypal seller protection, contains the shipping address.
Name | max length | description |
---|---|---|
shipToName |
32 | String containing the shipping name |
shipToStreet |
100 | String containing the shipping address |
shipToCity |
40 | String containing the shipping city |
shipToState |
40 | String containing the shipping state (see Paypal State Codes table) |
shipToCountryCode |
2 | String containing the shipping country code (see Paypal Country Codes table) |
shipToZip |
20 | String containing the shipping zip |
shipToStreet2 |
100 | String containing an additional shipping address field |
3ds 2.0 fields sandbox
threeDsContainer
xml example:
<threeDsContainer>
<transTypeReq></transTypeReq>
<acquirerBIN></acquirerBIN>
<acquirerMerchantID></acquirerMerchantID>
<exemption></exemption>
<buyerDetails>
<profileDetails>
<cardholderID></cardholderID>
<authData></authData>
<authMethod></authMethod>
<authTimeStamp></authTimeStamp>
</profileDetails>
<billingAddress>
<city></city>
<country></country>
<line1></line1>
<line2></line2>
<line3></line3>
<postCode></postCode>
<state></state>
</billingAddress>
<shippingAddress>
<city></city>
<country></country>
<line1></line1>
<line2></line2>
<line3></line3>
<postCode></postCode>
<state></state>
</shippingAddress>
<addrMatch></addrMatch>
<cardHolder>
<name></name>
<email></email>
<homePhone_cc></homePhone_cc>
<homePhone_num></homePhone_num>
<mobilePhone_cc></mobilePhone_cc>
<mobilePhone_num></mobilePhone_num>
<workPhone_cc></workPhone_cc>
<workPhone_num></workPhone_num>
</cardHolder>
<accInfo>
<chAccAgeInd></chAccAgeInd>
<chAccChange></chAccChange>
<chAccChangeInd></chAccChangeInd>
<chAccDate></chAccDate>
<chAccPwChange></chAccPwChange>
<chAccPwChangeInd></chAccPwChangeInd>
<nbPurchaseAccount></nbPurchaseAccount>
<provisionAttemptsDay></provisionAttemptsDay>
<txnActivityDay></txnActivityDay>
<txnActivityYear></txnActivityYear>
<paymentAccAge></paymentAccAge>
<paymentAccInd></paymentAccInd>
<shipAddressUsage></shipAddressUsage>
<shipAddressUsageInd></shipAddressUsageInd>
<shipNameIndicator></shipNameIndicator>
<suspiciousAccActivity></suspiciousAccActivity>
</accInfo>
</buyerDetails>
<merchantRiskIndicator>
<deliveryEmailAddress></deliveryEmailAddress>
<deliveryTimeframe></deliveryTimeframe>
<giftCardAmount></giftCardAmount>
<giftCardCount></giftCardCount>
<giftCardCurr></giftCardCurr>
<preOrderDate></preOrderDate>
<preOrderPurchaseInd></preOrderPurchaseInd>
<reorderItemsInd></reorderItemsInd>
<shipIndicator></shipIndicator>
</merchantRiskIndicator>
<SDKDetails></SDKDetails>
</threeDsContainer>
threeDsContainer
’s fields are used from 3ds server to establish if the transaction could be a fraud and require or not the SCA.
Name | max length | description |
---|---|---|
transTypeReq |
1 | Type of transaction required to Axerve Ecommerce Solutions: complete payment process or only authentication (in case of third party Acquirer).
|
acquirerBIN |
11 | This field are required if transTypeReq value is A . Acquiring institution identification code as assigned by the DS receiving the AReq message.Reserved field for future developments. |
acquirerMerchantID |
35 | This field are required if transTypeReq value is A . Acquirer-assigned Merchant identifier. This may be the same value that is used in authorisation requests sent on behalf of the 3DS Requestor and is represented in ISO 8583 formatting requirements.Reserved field for future developments. |
exemption |
string | Challenge management exemption. Possible values:
|
buyerDetails |
object | |
profileDetails |
object | Contains option information about the merchant authenticated the cardholder before or during the transaction. |
cardholderID |
64 | Additional information about the account optionally provided by the 3DS Requestor. |
authData |
string | Transaction authenticated data |
authMethod |
2 | Transaction authenticated method
|
authTimestamp |
12 | Transaction authenticated timestamp. Format: YYYYMMDDHHMM |
billingAddress |
object | Cardholder billing address associated with the card used for this purchase. |
city |
50 | The city of the Cardholder billing address associated with the card used for this purchase. |
country |
2 | The country of the Cardholder billing address associated with the card used for this purchase. See Paypal Country Codes table |
line1 |
50 | First line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase. |
line2 |
50 | Second line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase. |
line3 |
50 | Third line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase. |
postCode |
16 | ZIP or other postal code of the Cardholder billing address associated with the card used for this purchase. |
state |
32 | The state or province of the Cardholder billing address associated with the card used for this purchase. Should be the state, province or regional code (country subdivision code, see Paypal State and province codes table) |
shippingAddress |
object | Shipping address |
city |
50 | City portion of the shipping address requested by the Cardholder. |
country |
2 | Country of the shipping address requested by the Cardholder. See Paypal Country Codes table |
line1 |
50 | First line of the street address or equivalent local portion of the shipping address requested by the Cardholder. |
line2 |
50 | Second line of the street address or equivalent local portion of the shipping address requested by the Cardholder. |
line3 |
50 | Thrid line of the street address or equivalent local portion of the shipping address requested by the Cardholder. |
postCode |
16 | The ZIP or other postal code of the shipping address requested by the Cardholder. |
state |
32 | The state or province of the shipping address associated with the card being used for this purchase. Should be the state, province or regional code (country subdivision code, see Paypal State and province codes table) |
addrMatch |
1 | Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are the same. Y for yes and N for no |
cardholder |
object | Cardholder information. |
name |
45 | Name of the Cardholder. |
Email |
254 | The email address associated with the account that is either entered by the Cardholder, or is on file with the 3DS Requestor. The value should meet requirements of Section 3.4 of IETF RFC 5322 |
homePhone_cc |
3 | The countryCode of the home phone number provided by the Cardholder. Refer to ITU-E.164. Must be provided if you send a value for homePhone_num . |
homePhone_num |
15 | The home phone number provided by the Cardholder (without the countryCode). |
mobilePhone_cc |
3 | The countryCode of the home phone number provided by the Cardholder. Refer to ITU-E.164. Must be provided if you send a value for homePhone_num . |
mobilePhone_num |
15 | The mobile phone number provided by the Cardholder (without the countryCode). |
workPhone_cc |
3 | The countryCode of the work phone number provided by the Cardholder. Refer to ITU-E.164. Must be provided if you send a value for workPhone_num . |
workPhone_num |
15 | The work phone number provided by the Cardholder (without the countryCode). |
accInfo |
object | Additional information about the Cardholder’s account provided by the 3DS Requestor. |
chAccAgeInd |
2 | Length of time that the cardholder has had the account with the 3DS Requestor.
|
chAccChange |
8 | Date that the cardholder’s account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Date format = YYYYMMDD |
chAccChangeInd |
2 | Length of time since the cardholder’s account information with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added.
|
chAccDate |
8 | Date that the cardholder opened the account with the 3DS Requestor. Date format = YYYYMMDD |
chAccPwChange |
8 | Date that cardholder’s account with the 3DS Requestor had a password change or account reset. Date format = YYYYMMDD |
chAccPwChangeInd |
2 | Indicates the length of time since the cardholder’s account with the 3DS Requestor had a password change or account reset.
|
nbPurchaseAccount |
4 | Number of purchases with this cardholder account during the previous six months. |
provisionAttemptsDay |
3 | Number of Add Card attempts in the last 24 hours. Example values:
|
txnActivityDay |
3 | Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours. Example values:
|
txnActivityYear |
3 | Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year. Example values:
|
paymentAccAge |
8 | Date that the payment account was enrolled in the cardholder’s account with the 3DS Requestor. Date format = YYYYMMDD |
paymentAccInd |
2 | Indicates the length of time that the payment account was enrolled in the cardholder’s account with the 3DS Requestor.
|
shipAddressUsage |
8 | Date when the shipping address used for this transaction was first used with the 3DS Requestor. Date format = YYYYMMDD |
shipAddressUsageInd |
2 | Indicates when the shipping address used for this transaction was first used with the 3DS Requestor.
|
shipNameIndicator |
2 | Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction.
|
suspiciousAccActivity |
2 | Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account.
|
merchantRiskIndicator |
object | Merchant’s assessment of the level of fraud risk for the specific authentication for both the cardholder and the authentication being conducted. |
deliveryEmailAddress |
254 | For Electronic delivery, the email address to which the merchandise was delivered. |
deliveryTimeframe |
2 | Indicates the merchandise delivery timeframe.
|
giftCardAmount |
15 | For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in major units (for example, USD 123.45 is 123). Example: gift card amount is USD 123.45: Values accepted:
|
giftCardCount |
2 | For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased. Field is defined as being exactly 2 characters long |
giftCardCurr |
3 | For prepaid or gift card purchase, uicCode currency code. |
preOrderDate |
8 | For a pre-ordered purchase, the expected date that the merchandise will be available. Date format = YYYYMMDD |
preOrderPurchaseInd |
2 | Indicates whether Cardholder is placing an order for merchandise with a future availability or release date.
|
reorderItemsInd |
2 | Indicates whether the cardholder is reordering previously purchased merchandise.
|
shipIndicator |
2 | Indicates shipping method chosen for the transaction. Merchants must choose the Shipping Indicator code that most accurately describes the cardholder’s specific transaction, not their general business. If one or more items are included in the sale, use the Shipping Indicator code for the physical goods, or if all digital goods, use the Shipping Indicator code that describes the most expensive item.
|
SDKDetails |
string | Contains SDK data to be sent to ACS as base64-encoded string. Include:
|
Errors
Code | Description |
---|---|
0 | Transaction correctly processed |
10 | Payment page correctly loaded |
57 | Blocked credit card |
58 | Confirmed amount exceeds authorized amount |
63 | Demand for settlement of one nonexistent transaction |
64 | Expired preauthorization |
65 | Wrong currency |
66 | Preauthorization already notified |
74 | Authorization denied |
97 | Authorization denied |
100 | Transaction interrupted by bank authorizative system |
150 | Wrong merchant configuration in bank authorizative system |
208 | Wrong expiry date |
212 | Bank authorizative system not available |
251 | Insufficient credit |
401 | Call credit card company |
402 | Call credit card company |
403 | Technical error |
404 | Collect card |
405 | Authorization refused by credit card companies |
406 | Technical error |
409 | Technical error |
412 | Technical error |
413 | Technical error |
414 | Card not recognized |
415 | Technical error in connection with Credit Card Company network |
416 | Pin errato |
417 | Authorization denied |
418 | Network not available |
419 | Wrong transaction date |
420 | Wrong card date |
430 | Technical error |
431 | Technical error in connection with Credit Card Company network |
433 | Card expired |
434 | Authorization refused by credit card companies |
435 | Authorization refused by credit card companies |
436 | Card not qualified |
437 | Operation not allowed |
438 | Operation not allowed |
439 | Card not recognized |
441 | Blocked credit card |
443 | Blocked credit card |
451 | Amount not available |
454 | Card expired |
455 | Operation not performed |
456 | Card not recognized |
457 | Authorization refused by credit card companies |
458 | Wrong merchant configuration in bank authorizative system |
461 | Amount not available |
462 | Blocked credit card |
468 | Bank authorizative system not available |
475 | Operation not allowed |
490 | Technical error |
491 | Technical error in connection with Credit Card Company network |
492 | Technical error in connection with Credit Card Company network |
494 | Technical error |
552 | MyBank payment not completed |
553 | MyBank payment abbandoned by buyer |
600 | Technical error |
613 | Technical error |
614 | Technical error |
615 | Technical error |
651 | Invalid card number |
652 | Invalid expiry year |
653 | Invalid expiry month |
810 | Bank authorizative system not available |
811 | Wrong merchant configuration in bank authorizative system |
901 | Authorization denied |
902 | Authorization denied |
903 | Authorization denied |
904 | Authorization denied |
905 | Authorization denied |
906 | Authorization denied |
907 | Authorization denied |
908 | Authorization denied |
910 | Authorization denied |
911 | Authorization denied |
913 | Authorization denied |
914 | Authorization denied |
915 | Authorization denied |
916 | Authorization denied |
917 | Authorization denied |
918 | Authorization denied |
919 | Authorization denied |
920 | Authorization denied |
950 | Not qualified credit card |
951 | Wrong merchant configuration in bank authorizative system |
998 | Credit card with wrong check-digit |
999 | Operation not performed |
1100 | Empty parameter string |
1101 | Invalid format of parameter string |
1102 | No parameter name precedes = symbol |
1103 | Parameter string ending with a separator |
1104 | Invalid parameter name |
1105 | Invalid parameter value |
1106 | Repeated parameter name |
1107 | Unexpected parameter name. Please double check Fields and Parameters configuration in Back Office. |
1108 | Compulsory parameter not set |
1109 | Missing parameter |
1110 | Missing PAY1_UICCODE parameter |
1111 | Invalid currency code |
1112 | Missing PAY1_AMOUNT parameter |
1113 | Not numeric amount |
1114 | Amount with a wrong number of decimal digits |
1115 | Missing P A Y1_SHOPTRANSACTIONID parameter |
1116 | Too long P A Y1_SHOPTRANSACTIONID parameter |
1117 | Invalid language identifier |
1118 | Not numeric characters in credit card number |
1119 | Credit card number with wrong length |
1120 | Credit card with wrong check-digit |
1121 | Credit card belongs to a Company not enabled |
1122 | Expiry year without expiry month |
1123 | Expiry month without expiry year |
1124 | Invalid expiry month |
1125 | Invalid expiry year |
1126 | Expired expiry date |
1127 | Invalid cardholder email address |
1128 | Too long parameter string |
1129 | Too long parameter value |
1130 | Not accepted call: missing parameter A |
1131 | Not accepted call: Shop not recognized |
1132 | Not accepted call: shop is not in active state |
1133 | Not accepted call: missing parameter B |
1134 | Not accepted call: empty parameter B |
1135 | Not accepted call: other parameters beside A and B are present |
1136 | Not accepted call: transaction did not begin with a call to server-server cryptography system |
1137 | Not accepted call: transaction already processed before |
1138 | Not accepted call: card number or expiry date are missing |
1139 | Not accepted call: missing published payment page |
1140 | Transaction cancelled by buyer |
1141 | Not accepted call: input parameter string not acceptable |
1142 | Not accepted call: invalid IP Address |
1143 | Transaction abandoned by buyer |
1144 | Compulsory field not set |
1145 | Invalid OTP |
1146 | Too small amount |
1147 | Too big amount |
1148 | Invalid cardholder name |
1149 | Missing or wrong CVV2 |
1150 | IPIN must be set |
1151 | Parameters error |
1153 | Axerve Ecommerce Solutions failed to verify if the card is enrolled to VBV service |
1154 | Not accepterd call: missing parameter TransKey |
1160 | Wrong CustomToken length |
1161 | Wrong CustomToken digits number |
1162 | CustomToken with illegal characters |
1163 | CustomToken used for another card |
1164 | Expired Token |
1165 | Token not found |
1169 | Not accepted call: invalid Merchant APIKEY |
1170 | invalid paymentToken |
1171 | missing authentication header |
1172 | Invalid call: check/DCC call missing |
1173 | Input data is not in the correct format, Please check your input |
1187 | The “previousTransDetails” parameter is mandatory for “01N” or “02N” or “03N” transactions |
1200 | No match between ABI code and BankPass Banks |
1201 | BankPass Transaction abandoned by buyer |
1202 | BankPass - Buyer login failed |
1203 | BankPass - no payment methods available |
1204 | BankPass - technical error |
1205 | BankPass Server-Server: URL Return must be set |
1206 | BankPass Server-Server: too long URL Return (max 250 char) |
1207 | BankPass Server-Server: invalid URL Return (it must begin with http:// or https://) |
1208 | BankPass Server-Server: URL Return parameter missing |
1209 | BankPass Server-Server: IDBankPass must be set |
1210 | BankPass Server-Server: invalid IDBankPass |
1300 | Shipping Address Country Error |
1301 | Shipping Address1 Empty |
1302 | Shipping Address City Empty |
1303 | Shipping Address State Empty |
1304 | Shipping Address Postal Code Empty |
1305 | Shipping Address Country Empty |
1306 | Shipping Address Invalid City State Postal Code |
1307 | Event type is missing |
1400 | Element not found |
1401 | No data found |
1402 | Ambiguous search name |
1403 | Wrong paymentType |
1404 | Authentication method not allowed |
1405 | SearchID not found |
1406 | Column not found |
1407 | Not accepted call: invalid Master APIKEY |
1408 | Missing or wrong UserID |
1409 | Wrong searchID: it must be a numeric value |
1410 | Wrong date format: it must be DD/MM/YYYY |
1411 | Wrong lastNDays value: it must be a numeric value |
1412 | Wrong transaction error code value |
1413 | Wrong paymentID |
1414 | Wrong authorization result value |
1415 | Wrong tdLevel value |
1416 | Wrong eventType value |
1417 | Wrong includeToday value: true/false |
1418 | Wrong transaction state value |
1419 | Wrong chargeback.type value |
1420 | Event type is missing |
1421 | Chargeback type is missing |
1422 | Wrong paymentMethod.name |
1423 | Wrong riskAlert value: true/false |
1424 | Wrong value in customFields/Info parameter |
1425 | Wrong rangeResult value: it must be a numeric value with n/n format |
1426 | Batch name is missing |
1427 | Existing batch with the same name |
1428 | Missing or wrong batchID |
1429 | Missing or wrong searchID |
1430 | Missing or wrong fyleType |
1431 | Wrong templateID |
1432 | Invalid email address |
1433 | Wrong ‘email.enabled’ value: true/false |
1434 | Email value is missing |
1435 | Wrong ftp value |
1436 | Ftp value is missing |
1437 | Email or ftp: at least one of the two valued must be filled |
1438 | Wrong or missing frequencyID |
1439 | Wrong template |
1440 | Wrong default value: true/false |
1441 | Missing CURRENCY parameter |
1442 | Wrong channelType: EMAIL/QRCODE |
1443 | Existing filter with the same name |
1444 | Missing filter name (save.name) |
1445 | The amount cannot be updated |
1446 | Wrong or missing 'withAuth’: true/false |
1447 | Wrong language: ITALIAN/ENGLISH |
1448 | Wrong 'capture’ value: SEPARATED/UNIFIED |
1449 | Wrong 'automaticBehaviour.type’ value: CAPTURE/DELETE |
1450 | AuthomaticBehaviour days: not numeric parameter value |
1451 | Creditcard: number of days higher than the max allowed |
1452 | PAYPAL: 'automaticBehaviour.days’ can be max 25 |
1453 | KLARNA: 'automaticBehaviour.days’ can be max 14 |
1454 | AMAZONPAY: 'automaticBehaviour.days’ can be max 25 |
1455 | InvoiceID not found |
1456 | Amount with wrong deciman separator |
1457 | Expired paymentToken |
1458 | Wrong paymentPage value: VISIBLE/HIDDEN |
1459 | Wrong language: ITALIANO/ENGLISH/ESPANOL/FRANCAIS/GERMAN |
1460 | Wrong DCC value: true/false |
1461 | Creditcard data missing |
1462 | Ideal bankCode missing |
1463 | MyBank bankCode missing |
1464 | Wrong 'level’ value |
1999 | Technical error in connection with Credit Card Company network |
2000 | Transaction exceeds maximum operations number in time period |
2001 | Transaction exceeds maximum number of operations performed by the same buyer in time period |
2002 | Transaction exceeds maximum amount in time period |
2003 | Transaction exceeds maximum amount payable by same buyer in time period |
2004 | Transaction contains a field value that had been declared not acceptable |
2005 | Buyer abandoned the transaction because it was double |
2006 | Wrong line length |
2007 | Wrong value in SHOPTRANSACTIONID field |
2008 | Wrong value in CURRENCY field |
2009 | Wrong value in AMOUNT field |
2010 | Wrong value in AUTHORIZATION DATE field |
2011 | Transaction not found |
2012 | Transaction ambiguous |
2013 | Text file contains more rows related to the same transaction |
2014 | You requested a refund operation with an amount exceeding transaction balance |
2015 | Wrong value in BANKTRANSACTIONID field |
2016 | Fields BANKTRANSACTIONID and SHOPTRANSACTIONID are empty |
2017 | Transaction can not be deleted |
2018 | Transaction can not be refunded |
2019 | Transaction can not be settled |
2020 | Transaction can not be renounced |
2030 | Due to RED configuration, transaction is sent to credit card companies, even if 3d-Secure authentication is failed |
2500 | payment abbandoned by buyer |
2501 | payment not completed |
2502 | Smart2Pay: data wrong or missing |
2521 | SEPADD Error - AC01 - Account Identifier incorrect (i.e. invalid IBAN of the Debtor) |
2522 | SEPADD Error - AC04 - Account closed. |
2523 | SEPADD Error - AC06 - Account blocked. |
2524 | SEPADD Error - AC13 - Debtor account is a consumer account. |
2525 | SEPADD Error - AG01 - Direct Debit forbidden on this account for regulatory reasons. |
2526 | SEPADD Error - AG02 - Operation code/transaction code/sequence type incorrect., invalid file format. |
2527 | SEPADD Error - AM04 - Insufficient funds. |
2528 | SEPADD Error - AM05 - Duplicate collection. |
2529 | SEPADD Error - BE05 - Identifier of the Creditor Incorrect. |
2530 | SEPADD Error - CNOR - Creditor Bank is not registered under this BIC in the CSM. |
2531 | SEPADD Error - DNOR - Debtor Bank is not registered under this BIC in the CSM. |
2532 | SEPADD Error - FF01 - File Format incomplete or invalid. |
2533 | SEPADD Error - MD01 - No mandate. |
2534 | SEPADD Error - MD02 - Mandate data missing or incorrect. |
2535 | SEPADD Error - MD06 - Disputed authorized transaction. |
2536 | SEPADD Error - MD07 - Debtor Deceased. |
2537 | SEPADD Error - MS02 - Refusal by the Debtor. |
2538 | SEPADD Error - MS03 - Reason not specified. |
2539 | SEPADD Error - RC01 - Bank Identifier (BIC) Incorrect. |
2540 | SEPADD Error - RR01 - Regulatory Reason. |
2544 | SEPADD Error - SL01 - Specific Service offered by the Debtor Bank. |
2546 | SEPADD Mandate Error - Preapproval cancelled by consumer |
2547 | SEPADD Mandate Error - Session timeout |
2548 | SEPADD Mandate Error - Invalid creditor |
2549 | SEPADD Mandate Error - Duplicate mandate reference |
2550 | SEPADD Mandate Error - No documents to sign |
2551 | SEPADD Mandate Error - Forbidden IBAN |
2552 | SEPADD Mandate Error - Invalid account owner |
2553 | SEPADD Mandate Error - Mandate signature failed |
2554 | SEPADD Mandate Error - Invalid user approval (OTP) code |
2555 | SEPADD Mandate Error - Inconsistent client data during signature. |
2556 | SEPADD Mandate Error - Card operation refused by operator |
2557 | SEPADD Mandate Error - Card operation bank refusal |
2558 | SEPADD Mandate Error - Card operation access failure |
2559 | SEPADD Mandate Error - Card operation invalid transaction reference |
2560 | SEPADD Mandate Error - Card lost |
2561 | SEPADD Mandate Error - Card stolen |
2562 | SEPADD Mandate Error - Card suspect |
2563 | SEPADD Mandate Error - Duplicate order |
2564 | SEPADD Mandate Error - Resource not found |
2565 | SEPADD Mandate Error - Incomplete request data |
2566 | SEPADD Mandate Error - Invalid BIC |
2567 | SEPADD Mandate Error - Invalid IBAN |
2568 | SEPADD Mandate Error - Multiple requests to provider with the same mandate |
2569 | SEPADD Mandate Error - Subscriber reached the monthly mandates limit with the same IBAN |
2570 | SEPADD Mandate Error - Subscriber reached the limit of mandates created with the same phone number |
4001 | Unexpected parameter value |
4002 | Not numeric parameter value |
4100 | Operation not allowed |
4101 | Credit card number with wrong length |
4102 | Amount not available |
4103 | Technical error |
4104 | Technical error |
4105 | Technical |
4106 | Technical |
4108 | Technical error in connection with Credit Card Company network error |
4109 | Technical error |
4200 | Technical error |
4201 | Technical error |
4202 | Technical error |
4203 | Call credit card company |
4204 | Operation not allowed |
4205 | Operation not allowed |
4206 | Credit card with wrong check-digit. Please double-check the credit card number typed in. |
4207 | Technical error |
4208 | Operation not allowed |
4209 | Technical error |
4300 | Technical error |
4301 | Too big amount |
4302 | Technical error |
4303 | Operation not allowed |
4304 | Technical error |
4305 | Authorization refused by credit card companies |
4306 | Operation not allowed |
4307 | Technical error |
4308 | Operation not allowed |
4309 | Too big amount |
4400 | Wrong transaction date |
4401 | Wrong expiry date |
4402 | Technical error in connection with Credit Card Company network |
4403 | Technical error |
4404 | Technical error |
4405 | Operation not allowed |
4406 | Operation not allowed |
4407 | Amount not available |
4408 | Operation not allowed |
4409 | Operation not allowed |
4500 | Technical error |
4501 | Technical error |
4502 | Technical error |
4503 | Operation not allowed |
4504 | Operation not allowed |
4505 | Operation not allowed |
4506 | Technical error |
4507 | Technical error |
4508 | Operation not allowed |
4604 | Technical error |
4701 | Operation not allowed |
4702 | Wrong expiry date |
4703 | Card not qualified |
4704 | Amount not available |
4705 | Technical error in connection with Credit Card Company network |
4706 | Technical error in connection with Credit Card Company network |
4707 | Transaction already processed |
4708 | MyBank: communication with the buyer’s Bank failed |
4709 | Ideal: communication with the buyer’s Bank failed |
4710 | PayPal Error |
4711 | MyBank error: payment type or bank code missing |
4720 | Rate in Rete: communication with Consel failed |
4730 | C-pay: communication with Compass failed |
4731 | Not authorized transaction by Compass |
4732 | Transazione non autorizzata da Consel |
4733 | Apple Pay: unable to decrypt the PKPaymentToken - please check the Payment Processing Certificate |
4734 | Apple Pay: PKPaymentToken expired |
4735 | GooglePay error: unable to decrypt token |
4800 | Expired session |
4801 | Invalid ShopTransactionID value |
4802 | Currency or Amount don’t match the original transaction |
5001 | AmazonPay error: Payment Method not allowed. Let the buyer choose a different payment method. |
5002 | AmazonPay error: Payment Plan not set. Let the buyer choose a payment plan. |
5003 | AmazonPay error: Shipping address not set. Let the buyer set a shipping address. |
7400 | Authorization denied |
7401 | Authorization refused by credit card companies |
7402 | Card not qualified |
7403 | Card not recognized |
7404 | Card expired |
7405 | Call credit card company |
7406 | Wrong card date |
7407 | Wrong transaction date |
7408 | System error |
7409 | Merchant not recognized |
7410 | Invalid format |
7411 | Amount not available |
7412 | Not settled |
7413 | Operation not allowed |
7414 | Network not available |
7415 | Collect card |
7416 | PIN attempts exhausted |
7417 | Blocked terminal |
7418 | Forcedly Closed terminal |
7419 | Not permitted transaction |
7420 | Not authorized transaction |
7421 | Service interrupted at 01/01/2002 |
7500 | Authorization denied |
7600 | Authorization denied |
8000 | File correctly processed |
8001 | Header/bottom record not found |
8002 | Merchant code not set |
8003 | Incorrect row number |
8004 | Incorrect file format |
8005 | Merchant not enabled |
8006 | Verify By Visa |
8007 | Feature disabled for VISA credit card |
8008 | Feature disabled |
8009 | Payment interrupted |
8010 | Wrong credit card number for this transaction |
8011 | Transaction correctly received |
8012 | Authorization not found |
8013 | Settlement not found |
8014 | Settlement amount > Authorization amount |
8015 | Refund amount > balance |
8016 | Transaction without settlement |
8017 | File waiting to be processed |
8018 | File correctly processed |
8021 | Feature disable for MASTERCARD credit card |
8022 | Feature disable for JCB credit card |
8023 | Feature disabled for MAESTRO cards |
8026 | Soft decline - Cardholder authentication required |
8027 | Failed authentication |
8028 | Failed authentication - Issuer is rejecting authentication |
8029 | Failed authentication - ACS Technical or other problem |
8030 | Not Authenticated - Card authentication failed |
8031 | Not Authenticated - Invalid card number |
8032 | Not Authenticated - No Card record |
8033 | Not Authenticated - Suspected fraud |
8034 | Not Authenticated - Transaction not permitted to cardholder |
8035 | Not Authenticated - Exceeds ACS maximum challenges |
8036 | Not Authenticated - Reserved for DS use |
8037 | Not Authenticated - Invalid transaction |
8038 | Not Authenticated - Transaction timed out at the ACS |
8888 | UP Mobile Payment |
9991 | Browser not supported |
9992 | Error creating iFrame |
9997 | Phase with error |
9998 | Phase correctly ended |
9999 | System Error |
Payment Type Codes
Description | PaymentType |
---|---|
ALIPAY | S2PALI |
APPLEPAY | APPLEPAY |
BANCOMAT PAY | BANCOMATPAY |
BANCONTACT | BANCONTACT |
COMPASS C-PAY | COMPASS |
CONSEL RATE IN RETE | CONSEL |
CREDIT CARDS | CREDITCARD |
EPS | S2PEPS |
GIROPAY | S2PGIR |
HYPE | HYPE |
IDEAL | S2PIDE |
IDEAL (Direct) | IDEAL |
KLARNA | KLARNA |
KONBINI | S2PKON |
MERCADOPAGO | S2PMER |
MULTIBANCO | S2PMUL |
MYBANK | MYBANK |
ONECARD | ONECARD |
PAYPAL | PAYPAL |
PAYSAFECARD | S2PPSC |
SATISPAY | SATISPAY |
SOFORT | S2PSOF |
SOFORT (Direct) | SOFORT |
TRUSTPAY | TRUSTPAY |
UNIONPAY | S2PUNI |
WEBMONEY | S2PWMO |
YANDEX | S2PYAN |
For more informations about payment types, read the docs.
Currency Codes
Currency codes are handled by Axerve Ecommerce Solutions using the currency attribute.
UIC code | ISO code | ISO number | Description |
---|---|---|---|
187 | AED | 784 | United Arab Emirates dirham |
216 | ARS | 32 | Peso Argentina |
109 | AUD | 36 | Australian dollar |
262 | BGN | 975 | Bulgarian lev |
74 | BOB | 068 | Boliviano |
234 | BRL | 986 | Brazilian real |
12 | CAD | 124 | Canadian dollar |
3 | CHF | 756 | Swiss franc |
29 | CLP | 152 | Chilean Peso |
144 | CNY | 156 | Chinese yuan |
40 | COP | 170 | Peso Colombia |
77 | CRC | 188 | Costa Rican Colon |
223 | CZK | 203 | Czech koruna |
7 | DKK | 208 | Danish krone |
116 | DOP | 214 | Dominican Peso |
2 | GBP | 826 | Pound sterling |
78 | GTQ | 320 | Quetzal |
103 | HKD | 344 | Hong Kong dollar |
118 | HNL | 340 | Lempira |
153 | HUF | 348 | Hungarian forint |
203 | ILS | 376 | Israeli new shekel |
31 | INR | 356 | Indian rupee |
62 | ISK | 352 | Icelandic króna |
71 | JPY | 392 | Japanese yen |
119 | KRW | 410 | South Korean won |
55 | MYR | 458 | Malaysian ringgit |
222 | MXN | 484 | Mexican Peso |
120 | NIO | 558 | Cordoba |
8 | NOK | 578 | Norwegian krone |
113 | NZD | 554 | New Zealand dollar |
201 | PEN | 604 | Nuevo Sol |
237 | PLN | 985 | Polish złoty |
101 | PYG | 600 | Paraguayan Guarani |
189 | QAR | 634 | Qatar Riyal |
270 | RON | 946 | Romanian leu |
244 | RUB | 643 | Russian ruble |
75 | SAR | 682 | Saudi riyal |
9 | SEK | 752 | Swedish krona/kronor |
124 | SGD | 702 | Singapore dollar |
267 | TRY | 949 | Turkish lira |
143 | TWD | 901 | New Taiwan dollar |
241 | UAH | 980 | Ukrainian hryvnia |
1 | USD | 840 | United States dollar |
Paypal Country Codes
You can find all the Country Codes that are supported by Paypal at this link and are also reported here for simplicity.
Country or Region Supported | Country or Region Code |
---|---|
ALBANIA | AL |
ALGERIA | DZ |
ANDORRA | AD |
ANGOLA | AO |
ANGUILLA | AI |
ANTIGUA & BARBUDA | AG |
ARGENTINA | AR |
ARMENIA | AM |
ARUBA | AW |
AUSTRALIA | AU |
AUSTRIA | AT |
AZERBAIJAN | AZ |
BAHAMAS | BS |
BAHRAIN | BH |
BARBADOS | BB |
BELARUS | BY |
BELGIUM | BE |
BELIZE | BZ |
BENIN | BJ |
BERMUDA | BM |
BHUTAN | BT |
BOLIVIA | BO |
BOSNIA & HERZEGOVINA | BA |
BOTSWANA | BW |
BRAZIL | BR |
BRITISH VIRGIN ISLANDS | VG |
BRUNEI | BN |
BULGARIA | BG |
BURKINA FASO | BF |
BURUNDI | BI |
CAMBODIA | KH |
CAMEROON | CM |
CANADA | CA |
CAPE VERDE | CV |
CAYMAN ISLANDS | KY |
CHAD | TD |
CHILE | CL |
CHINA | CN (For domestic Chinese bank transactions only) |
CHINA WORLDWIDE | C2 (For CUP, bank card and cross-border transactions) |
COLOMBIA | CO |
COMOROS | KM |
CONGO - BRAZZAVILLE | CG |
CONGO - KINSHASA | CD |
COOK ISLANDS | CK |
COSTA RICA | CR |
CÔTE D’IVOIRE | CI |
CROATIA | HR |
CYPRUS | CY |
CZECH REPUBLIC | CZ |
DENMARK | DK |
DJIBOUTI | DJ |
DOMINICA | DM |
DOMINICAN REPUBLIC | DO |
ECUADOR | EC |
EGYPT | EG |
EL SALVADOR | SV |
ERITREA | ER |
ESTONIA | EE |
ETHIOPIA | ET |
FALKLAND ISLANDS | FK |
FAROE ISLANDS | FO |
FIJI | FJ |
FINLAND | FI |
FRANCE | FR |
FRENCH GUIANA | GF |
FRENCH POLYNESIA | PF |
GABON | GA |
GAMBIA | GM |
GEORGIA | GE |
GERMANY | DE |
GIBRALTAR | GI |
GREECE | GR |
GREENLAND | GL |
GRENADA | GD |
GUADELOUPE | GP |
GUATEMALA | GT |
GUINEA | GN |
GUINEA-BISSAU | GW |
GUYANA | GY |
HONDURAS | HN |
HONG KONG SAR CHINA | HK |
HUNGARY | HU |
ICELAND | IS |
INDIA | IN |
INDONESIA | ID |
IRELAND | IE |
ISRAEL | IL |
ITALY | IT |
JAMAICA | JM |
JAPAN | JP |
JORDAN | JO |
KAZAKHSTAN | KZ |
KENYA | KE |
KIRIBATI | KI |
KUWAIT | KW |
KYRGYZSTAN | KG |
LAOS | LA |
LATVIA | LV |
LESOTHO | LS |
LIECHTENSTEIN | LI |
LITHUANIA | LT |
LUXEMBOURG | LU |
MACEDONIA | MK |
MADAGASCAR | MG |
MALAWI | MW |
MALAYSIA | MY |
MALDIVES | MV |
MALI | ML |
MALTA | MT |
MARSHALL ISLANDS | MH |
MARTINIQUE | MQ |
MAURITANIA | MR |
MAURITIUS | MU |
MAYOTTE | YT |
MEXICO | MX |
MICRONESIA | FM |
MOLDOVA | MD |
MONACO | MC |
MONGOLIA | MN |
MONTENEGRO | ME |
MONTSERRAT | MS |
MOROCCO | MA |
MOZAMBIQUE | MZ |
NAMIBIA | NA |
NAURU | NR |
NEPAL | NP |
NETHERLANDS | NL |
NEW CALEDONIA | NC |
NEW ZEALAND | NZ |
NICARAGUA | NI |
NIGER | NE |
NIGERIA | NG |
NIUE | NU |
NORFOLK ISLAND | NF |
NORWAY | NO |
OMAN | OM |
PALAU | PW |
PANAMA | PA |
PAPUA NEW GUINEA | PG |
PARAGUAY | PY |
PERU | PE |
PHILIPPINES | PH |
PITCAIRN ISLANDS | PN |
POLAND | PL |
PORTUGAL | PT |
QATAR | QA |
RÉUNION | RE |
ROMANIA | RO |
RUSSIA | RU |
RWANDA | RW |
SAMOA | WS |
SAN MARINO | SM |
SÃO TOMÉ & PRÍNCIPE | ST |
SAUDI ARABIA | SA |
SENEGAL | SN |
SERBIA | RS |
SEYCHELLES | SC |
SIERRA LEONE | SL |
SINGAPORE | SG |
SLOVAKIA | SK |
SLOVENIA | SI |
SOLOMON ISLANDS | SB |
SOMALIA | SO |
SOUTH AFRICA | ZA |
SOUTH KOREA | KR |
SPAIN | ES |
SRI LANKA | LK |
ST. HELENA | SH |
ST. KITTS & NEVIS | KN |
ST. LUCIA | LC |
ST. PIERRE & MIQUELON | PM |
ST. VINCENT & GRENADINES | VC |
SURINAME | SR |
SVALBARD & JAN MAYEN | SJ |
SWAZILAND | SZ |
SWEDEN | SE |
SWITZERLAND | CH |
TAIWAN | TW |
TAJIKISTAN | TJ |
TANZANIA | TZ |
THAILAND | TH |
TOGO | TG |
TONGA | TO |
TRINIDAD & TOBAGO | TT |
TUNISIA | TN |
TURKMENISTAN | TM |
TURKS & CAICOS ISLANDS | TC |
TUVALU | TV |
UGANDA | UG |
UKRAINE | UA |
UNITED ARAB EMIRATES | AE |
UNITED KINGDOM | GB |
UNITED STATES | US |
URUGUAY | UY |
VANUATU | VU |
VATICAN CITY | VA |
VENEZUELA | VE |
VIETNAM | VN |
WALLIS & FUTUNA | WF |
YEMEN | YE |
ZAMBIA | ZM |
ZIMBABWE | ZW |
Paypal State & Province Codes
Paypal state codes can be found at this link.
Here are reported for simplicity.
Note: Some of the following tables list only the State or Province name and do not include a
State
orProvince
code. For these countries, use the spelling of the State or Province name exactly as it is written in the table.
Countries that use State Codes:
Argentina
Province Name | Province Code |
---|---|
Buenos Aires (Ciudad) | CIUDAD AUTÓNOMA DE BUENOS AIRES |
Buenos Aires (Provincia) | BUENOS AIRES |
Catamarca | CATAMARCA |
Chaco | CHACO |
Chubut | CHUBUT |
Corrientes | CORRIENTES |
Córdoba | CÓRDOBA |
Entre Ríos | ENTRE RÍOS |
Formosa | FORMOSA |
Jujuy | JUJUY |
La Pampa | LA PAMPA |
La Rioja | LA RIOJA |
Mendoza | MENDOZA |
Misiones | MISIONES |
Neuquén | NEUQUÉN |
Río Negro | RÍO NEGRO |
Salta | SALTA |
San Juan | SAN JUAN |
San Luis | SAN LUIS |
Santa Cruz | SANTA CRUZ |
Santa Fe | SANTA FE |
Santiago del Estero | SANTIAGO DEL ESTERO |
Tierra del Fuego | TIERRA DEL FUEGO |
Tucumán | TUCUMÁN |
Brazil
State Name | State Code |
---|---|
Acre | AC |
Alagoas | AL |
Amapá | AP |
Amazonas | AM |
Bahia | BA |
Ceará | CE |
Distrito Federal | DF |
Espírito Santo | ES |
Goiás | GO |
Maranhão | MA |
Mato Grosso | MT |
Mato Grosso do Sul | MS |
Minas Gerais | MG |
Paraná | PR |
Paraíba | PB |
Pará | PA |
Pernambuco | PE |
Piauí | PI |
Rio Grande do Norte | RN |
Rio Grande do Sul | RS |
Rio de Janeiro | RJ |
Rondônia | RO |
Roraima | RR |
Santa Catarina | SC |
Sergipe | SE |
São Paulo | SP |
Tocantins | TO |
Canada
Province Name | Province Code |
---|---|
Alberta | AB |
British Columbia | BC |
Manitoba | MB |
New Brunswick | NB |
Newfoundland and Labrador | NL |
Northwest Territories | NT |
Nova Scotia | NS |
Nunavut | NU |
Ontario | ON |
Prince Edward Island | PE |
Quebec | QC |
Saskatchewan | SK |
Yukon | YT |
India
State Name | State Code |
---|---|
Andaman and Nicobar Islands | Andaman and Nicobar Islands |
Andhra Pradesh | Andhra Pradesh |
Army Post Office | APO |
Arunachal Pradesh | Arunachal Pradesh |
Assam | Assam |
Bihar | Bihar |
Chandigarh | Chandigarh |
Chhattisgarh | Chhattisgarh |
Dadra and Nagar Haveli | Dadra and Nagar Haveli |
Daman and Diu | Daman and Diu |
Goa | Goa |
Gujarat | Gujarat |
Haryana | Haryana |
Himachal Pradesh | Himachal Pradesh |
Jammu and Kashmir | Jammu and Kashmir |
Jharkhand | Jharkhand |
Karnataka | Karnataka |
Kerala | Kerala |
Lakshadweep | Lakshadweep |
Madhya Pradesh | Madhya Pradesh |
Maharashtra | Maharashtra |
Manipur | Manipur |
Meghalaya | Meghalaya |
Mizoram | Mizoram |
Nagaland | Nagaland |
National Capital Territory of Delhi | Delhi (NCT) |
Odisha | Odisha |
Puducherry | Puducherry |
Punjab | Punjab |
Rajasthan | Rajasthan |
Sikkim | Sikkim |
Tamil Nadu | Tamil Nadu |
Telangana | Telangana |
Tripura | Tripura |
Uttar Pradesh | Uttar Pradesh |
Uttarakhand | Uttarakhand |
West Bengal | West Bengal |
Italy
Province Name | Province Code |
---|---|
Agrigento | AG |
Alessandria | AL |
Ancona | AN |
Aosta | AO |
Arezzo | AR |
Ascoli Piceno | AP |
Asti | AT |
Avellino | AV |
Bari | BA |
Barletta-Andria-Trani | BT |
Belluno | BL |
Benevento | BN |
Bergamo | BG |
Biella | BI |
Bologna | BO |
Bolzano | BZ |
Brescia | BS |
Brindisi | BR |
Cagliari | CA |
Caltanissetta | CL |
Campobasso | CB |
Carbonia-Iglesias | CI |
Caserta | CE |
Catania | CT |
Catanzaro | CZ |
Chieti | CH |
Como | CO |
Cosenza | CS |
Cremona | CR |
Crotone | KR |
Cuneo | CN |
Enna | EN |
Fermo | FM |
Ferrara | FE |
Firenze | FI |
Foggia | FG |
Forlì-Cesena | FC |
Frosinone | FR |
Genova | GE |
Gorizia | GO |
Grosseto | GR |
Imperia | IM |
Isernia | IS |
L'Aquila | AQ |
La Spezia | SP |
Latina | LT |
Lecce | LE |
Lecco | LC |
Livorno | LI |
Lodi | LO |
Lucca | LU |
Macerata | MC |
Mantova | MN |
Massa-Carrara | MS |
Matera | MT |
Medio Campidano | VS |
Messina | ME |
Milano | MI |
Modena | MO |
Monza e della Brianza | MB |
Napoli | NA |
Novara | NO |
Nuoro | NU |
Ogliastra | OG |
Olbia-Tempio | OT |
Oristano | OR |
Padova | PD |
Palermo | PA |
Parma | PR |
Pavia | PV |
Perugia | PG |
Pesaro e Urbino | PU |
Pescara | PE |
Piacenza | PC |
Pisa | PI |
Pistoia | PT |
Pordenone | PN |
Potenza | PZ |
Prato | PO |
Ragusa | RG |
Ravenna | RA |
Reggio Calabria | RC |
Reggio Emilia | RE |
Rieti | RI |
Rimini | RN |
Roma | RM |
Rovigo | RO |
Salerno | SA |
Sassari | SS |
Savona | SV |
Siena | SI |
Siracusa | SR |
Sondrio | SO |
Taranto | TA |
Teramo | TE |
Terni | TR |
Torino | TO |
Trapani | TP |
Trento | TN |
Treviso | TV |
Trieste | TS |
Udine | UD |
Varese | VA |
Venezia | VE |
Verbano-Cusio-Ossola | VB |
Vercelli | VC |
Verona | VR |
Vibo Valentia | VV |
Vicenza | VI |
Viterbo | VT |
Japan
Prefecture Name | Prefecture Code |
---|---|
Aichi | AICHI-KEN |
Akita | AKITA-KEN |
Aomori | AOMORI-KEN |
Chiba | CHIBA-KEN |
Ehime | EHIME-KEN |
Fukui | FUKUI-KEN |
Fukuoka | FUKUOKA-KEN |
Fukushima | FUKUSHIMA-KEN |
Gifu | GIFU-KEN |
Gunma | GUNMA-KEN |
Hiroshima | HIROSHIMA-KEN |
Hokkaido | HOKKAIDO |
Hyogo | HYOGO-KEN |
Ibaraki | IBARAKI-KEN |
Ishikawa | ISHIKAWA-KEN |
Iwate | IWATE-KEN |
Kagawa | KAGAWA-KEN |
Kagoshima | KAGOSHIMA-KEN |
Kanagawa | KANAGAWA-KEN |
Kochi | KOCHI-KEN |
Kumamoto | KUMAMOTO-KEN |
Kyoto | KYOTO-FU |
Mie | MIE-KEN |
Miyagi | MIYAGI-KEN |
Miyazaki | MIYAZAKI-KEN |
Nagano | NAGANO-KEN |
Nagasaki | NAGASAKI-KEN |
Nara | NARA-KEN |
Niigata | NIIGATA-KEN |
Oita | OITA-KEN |
Okayama | OKAYAMA-KEN |
Okinawa | OKINAWA-KEN |
Osaka | OSAKA-FU |
Saga | SAGA-KEN |
Saitama | SAITAMA-KEN |
Shiga | SHIGA-KEN |
Shimane | SHIMANE-KEN |
Shizuoka | SHIZUOKA-KEN |
Tochigi | TOCHIGI-KEN |
Tokushima | TOKUSHIMA-KEN |
Tokyo | TOKYO-TO |
Tottori | TOTTORI-KEN |
Toyama | TOYAMA-KEN |
Wakayama | WAKAYAMA-KEN |
Yamagata | YAMAGATA-KEN |
Yamaguchi | YAMAGUCHI-KEN |
Yamanashi | YAMANASHI-KEN |
Mexico
State Name | State Code |
---|---|
Aguascalientes | AGS |
Baja California | BC |
Baja California Sur | BCS |
Campeche | CAMP |
Chiapas | CHIS |
Chihuahua | CHIH |
Coahuila | COAH |
Colima | COL |
Distrito Federal | DF |
Durango | DGO |
Estado de México | MEX |
Guanajuato | GTO |
Guerrero | GRO |
Hidalgo | HGO |
Jalisco | JAL |
Michoacán | MICH |
Morelos | MOR |
Nayarit | NAY |
Nuevo León | NL |
Oaxaca | OAX |
Puebla | PUE |
Querétaro | QRO |
Quintana Roo | Q ROO |
San Luis Potosí | SLP |
Sinaloa | SIN |
Sonora | SON |
Tabasco | TAB |
Tamaulipas | TAMPS |
Tlaxcala | TLAX |
Veracruz | VER |
Yucatán | YUC |
Zacatecas | ZAC |
Thailand
Province Name |
---|
Amnat Charoen |
Ang Thong |
Bangkok |
Bueng Kan |
Buri Ram |
Chachoengsao |
Chai Nat |
Chaiyaphum |
Chanthaburi |
Chiang Mai |
Chiang Rai |
Chon Buri |
Chumphon |
Kalasin |
Kamphaeng Phet |
Kanchanaburi |
Khon Kaen |
Krabi |
Lampang |
Lamphun |
Loei |
Lop Buri |
Mae Hong Son |
Maha Sarakham |
Mukdahan |
Nakhon Nayok |
Nakhon Pathom |
Nakhon Phanom |
Nakhon Ratchasima |
Nakhon Sawan |
Nakhon Si Thammarat |
Nan |
Narathiwat |
Nong Bua Lamphu |
Nong Khai |
Nonthaburi |
Pathum Thani |
Pattani |
Phang Nga |
Phatthalung |
Phatthaya |
Phayao |
Phetchabun |
Phetchaburi |
Phichit |
Phitsanulok |
Phra Nakhon Si Ayutthaya |
Phrae |
Phuket |
Prachin Buri |
Prachuap Khiri Khan |
Ranong |
Ratchaburi |
Rayong |
Roi Et |
Sa Kaeo |
Sakon Nakhon |
Samut Prakan |
Samut Sakhon |
Samut Songkhram |
Saraburi |
Satun |
Si Sa Ket |
Sing Buri |
Songkhla |
Sukhothai |
Suphan Buri |
Surat Thani |
Surin |
Tak |
Trang |
Trat |
Ubon Ratchathani |
Udon Thani |
Uthai Thani |
Uttaradit |
Yala |
Yasothon |
United States
State Name | State Code |
---|---|
Alabama | AL |
Alaska | AK |
Arizona | AZ |
Arkansas | AR |
California | CA |
Colorado | CO |
Connecticut | CT |
Delaware | DE |
District of Columbia | DC |
Florida | FL |
Georgia | GA |
Hawaii | HI |
Idaho | ID |
Illinois | IL |
Indiana | IN |
Iowa | IA |
Kansas | KS |
Kentucky | KY |
Louisiana | LA |
Maine | ME |
Maryland | MD |
Massachusetts | MA |
Michigan | MI |
Minnesota | MN |
Mississippi | MS |
Missouri | MO |
Montana | MT |
Nebraska | NE |
Nevada | NV |
New Hampshire | NH |
New Jersey | NJ |
New Mexico | NM |
New York | NY |
North Carolina | NC |
North Dakota | ND |
Ohio | OH |
Oklahoma | OK |
Oregon | OR |
Pennsylvania | PA |
Puerto Rico | PR |
Rhode Island | RI |
South Carolina | SC |
South Dakota | SD |
Tennessee | TN |
Texas | TX |
Utah | UT |
Vermont | VT |
Virginia | VA |
Washington | WA |
West Virginia | WV |
Wisconsin | WI |
Wyoming | WY |
Armed Forces APO
State Name | State Code |
---|---|
Armed Forces Americas | AA |
Armed Forces Europe | AE |
Armed Forces Pacific | AP |
Outlying Areas
State Name | State Code |
---|---|
American Samoa | AS |
Federated States of Micronesia | FM |
Guam | GU |
Marshall Islands | MH |
Northern Mariana Islands | MP |
Palau | PW |
Virgin Islands | VI |
Language Codes
The language code is handled by Axerve Ecommerce Solutions using the Language attribute.
Code | Description |
---|---|
1 |
Italian |
2 |
English |
3 |
Spanish |
4 |
French |
5 |
German |
Alert Codes
Alert Codes are described at Better Risk Management: reacting to suspicious activity.
Code | Description |
---|---|
2000 |
Transaction exceeds maximum operations number in time period |
2001 |
Transaction exceeds maximum number of operations performed by the same buyer in time period |
2002 |
Transaction exceeds maximum amount in time period |
2003 |
Transaction exceeds maximum amount payable by same buyer in time period |
2004 |
Transaction contains a field value that had been declared not acceptable |
AlertDescrption
s is also available in other languages.
Event Types
When something happens to a transaction (e.g. authorization, settling, cancel, etc.) Axerve Ecommerce Solutions registers the event. Here is the list of the codes for every event.
Event code | Description |
---|---|
AUT |
Authorized |
CAN |
Cancelled |
MOV |
Amount transferred |
PRE |
Amount reserved for transfer |
REQ |
Refund request |
STO |
Refund event |
For more informations about these states refer to the documentation.
Risk Based Authentication (RBA)
RBA (Risk Based Authentication) by Banca Sella
For operations that do not qualify for a high-risk operation, the European PSD2 legislation provides the possibility of activating exemptions in order to ensure a simplified shopping experience and a better conversion rate for shopping carts.
The RBA solution to simplify purchasing
RBA (Risk Based Authentication) is a solution that analyses in real time the risk of fraud behind transactions, and if the risk is determined as low, the exemption for TRA (Transaction Risk Analysis) is activated.
The service applies to Ecommerce transactions and will soon also be available for Magento, WooCommerce, Prestashop and Salesforce plugins.
How to take advantage of the exemptions
Complete transactions data (such as transaction details, delivery address, etc.) and the customer data (e.g. transaction’s beneficiary, location of the buyer, billing address, etc.) must be transmitted to the payment gateway. For this purpose, the enhancement of some fields, previously optional and now fundamental for the activation of the exemption is required.
Information on the shipping and billing address must always be completed. If the shipping address is not available, this field must be the same as the billing address (for example when products are services).
Detail of the necessary fields
The integration of the required fields differs by connection method (between SOAP API with PAGAM page and Server-to-Server and REST API).
SOAP - Pagam
Name | Description |
---|---|
buyerName |
Buyer’s name and surname. |
buyerEmail |
Buyer’s e-mail address. |
OrderDetails :
|
A container object of other data. |
transDetails.threeDsContainer.buyerDetails :
|
Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience. |
SOAP – Server to server
Name | Description |
---|---|
buyerName |
Buyer’s name and surname. |
buyerEmail |
Buyer’s e-mail address. |
clientIP |
IP of the client. |
OrderDetails :
|
A container object of other data. |
transDetails.threeDsContainer.buyerDetails :
|
Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience. |
REST
Name | Description |
---|---|
buyerName |
Buyer’s name and surname. |
buyerEmail |
Buyer’s e-mail address. |
clientIP |
IP of the client. |
OrderDetails :
|
A container object of other data. |
transDetails.threeDsContainer.buyerDetails :
|
Container of additional data defined in 3DS2 protocol, that better define the transaction. The data here included will be used for assessing the risk level of the transaction with the purpose of ensuring security without affecting the buyer’s experience. |
Frequency Codes
Used for batch jobs.
Description | Code |
---|---|
Every day | G |
Sunday | 1S |
Monday | 2S |
Tuesday | 3S |
Wednesday | 4S |
Thursday | 5S |
Friday | 6S |
Saturday | 7S |
1 month day | 1M |
2 month day | 2M |
3 month day | 3M |
4 month day | 4M |
5 month day | 5M |
6 month day | 6M |
7 month day | 7M |
8 month day | 8M |
9 month day | 9M |
10 month day | 10M |
11 month day | 11M |
12 month day | 12M |
13 month day | 13M |
14 month day | 14M |
15 month day | 15M |
16 month day | 16M |
17 month day | 17M |
18 month day | 18M |
19 month day | 19M |
20 month day | 20M |
21 month day | 21M |
22 month day | 22M |
23 month day | 23M |
24 month day | 24M |
25 month day | 25M |
26 month day | 26M |
27 month day | 27M |
28 month day | 28M |
29 month day | 29M |
30 month day | 30M |
31 month day | 31M |
Company values
The following table lists all possible values of the company
field returned by many calls mentioned in this documentation.
Description | Code |
---|---|
SlimPay | 1 |
2 |
|
BITCOIN | 3 |
CardsRussia | 4 |
CASHU | 5 |
TRUSTPAY | 6 |
BIZUM | 7 |
KLARNAPAYNOW | 8 |
BancomatPay | 9 |
GIROPAY | 10 |
EPS | 11 |
MERCADOPAGO | 12 |
KONBINI | 13 |
Tenpay | 14 |
PayPal | 15 |
ALIPAY | 16 |
PayPal_BNPL | 17 |
WEBMONEY | 18 |
Paysafecard | 19 |
QIWI | 20 |
YANDEX | 21 |
Ideal | 22 |
ONECARD | 23 |
BANCONTACT | 24 |
SOFORT | 25 |
FABRICKPASS | 26 |
APPPAGO | 27 |
Klarna | 28 |
UNIONPAY | 29 |
PRZELEWY24 | 30 |
KLARNAPAY | 31 |
MULTIBANCO | 32 |
PAYWITHMYBANK | 33 |
KLARNA | 34 |
PaymentMethod values
The following table lists all possible values of the paymentMethod
field returned by many calls mentioned in this documentation.
Code |
---|
AMAZONPAY |
AMEX |
AMEX SAFE KEY |
APPLEPAY - MAESTRO |
APPLEPAY - MAESTRO SECURECODE |
APPLEPAY - MASTERCARD |
APPLEPAY - MASTERCARD SECURECODE |
APPLEPAY - VISA |
APPLEPAY - VISA VBV |
AURA |
BANKPASS Amex |
BANKPASS Diners |
BANKPASS Jcb |
BANKPASS Maestro |
BANKPASS Mastercard |
BANKPASS PagoBancomat |
BANKPASS Visa |
Bonifico OnLine |
COMPASS C-PAY |
Carta I.DE.A. |
Consel Rate in Rete |
DINERS |
FIDELITY CARD |
GOOGLEPAY - MAESTRO |
GOOGLEPAY - MAESTRO SECURECODE |
GOOGLEPAY - MASTERCARD |
GOOGLEPAY - MASTERCARD SECURECODE |
GOOGLEPAY - VISA |
GOOGLEPAY - VISA VBV |
HYPE - AMEX |
HYPE - AMEX SAFE KEY |
HYPE - DINERS |
HYPE - JCB |
HYPE - MAESTRO |
HYPE - MAESTRO SECURECODE |
HYPE - MASTERCARD |
HYPE - MASTERCARD SECURECODE |
HYPE - VISA |
HYPE - VISA VBV |
IDEAL |
JCB |
MAESTRO |
MAESTRO SECURECODE |
MASTERCARD |
MASTERCARD SECURECODE |
MASTERPASS - AMEX |
MASTERPASS - AMEX SAFE KEY |
MASTERPASS - DINERS |
MASTERPASS - JCB |
MASTERPASS - MAESTRO |
MASTERPASS - MAESTRO SECURECODE |
MASTERPASS - MASTERCARD |
MASTERPASS - MASTERCARD SECURECODE |
MASTERPASS - VISA |
MASTERPASS - VISA VBV |
MOBILMAT |
MOBILMAT AMEX |
MOBILMAT AURA |
MOBILMAT DINERS |
MOBILMAT JCB |
MOBILMAT MASTERCARD |
MOBILMAT VISA |
MyBank - ePayment |
PayPal |
SATISPAY |
SOFORT |
TIM Personal - AMEX |
TIM Personal - DINERS |
TIM Personal - JCB |
TIM Personal - MASTERCARD |
TIM Personal - VISA |
UP - AMEX |
UP - AMEX SAFE KEY |
UP - DINERS |
UP - JCB |
UP - MAESTRO |
UP - MAESTRO SECURECODE |
UP - MASTERCARD |
UP - MASTERCARD SECURECODE |
UP - VISA |
UP - VISA VBV |
VISA |
VISA VBV |
Accessibility
Accessibility statement for the website of Private Entities as per Article 3, paragraph 1 of the law of January 9, 2004, no. 4.
Declaration
Fabrick S.p.A. - Piazza Gaudenzio Sella 1, 13900 Biella - Part of the IVA Group Maurizio Sella S.a.a. - VAT Number 02675650028 - Tax Code 02654890025 is committed to making its website accessible, in accordance with the law of January 9, 2004, no. 4. This accessibility statement applies to: api.axerve.com.
Compliance Status:
Partially Compliant This website is partially compliant with the requirements set out in Appendix A of the UNI CEI EN 301549 standard due to the non-compliance cases listed below.
Non-Accessible Content
The content listed below is not accessible for the following reasons, in violation of the law of January 9, 2004, no. 4:
- C.9.1.1.1 - Some non-text content presented to the user does not have an equivalent textual alternative that serves the same purpose;
- C.9.1.3.1 - The reading order is not correctly assigned to the elements on the page;
- C.9.1.4.3 - The visual representation of text and images containing text does not always meet the required minimum contrast ratio, except for cases provided by the regulation (e.g., logos);
- C.9.2.1.1 - Some functionalities cannot be used via keyboard (or similar input interface);
- C.9.2.4.1 - There is no mechanism to skip repeated blocks of content across multiple web pages;
- C.9.2.4.4 - The purpose of some links cannot be determined from the link text or from the link text combined with adjacent content;
- C.9.3.1.1 - The language is not defined on some pages.
Accessibility Statement Drafting
This statement was drafted on 12/08/2024.
The evaluation was conducted through self-assessment. The statement was last reviewed on 13/08/2024, in accordance with the recommendation to periodically (at least annually) review the accuracy of the claims in this accessibility statement.
Feedback and contact information
To report difficulties in accessing the site’s content, please write to: accessibile@fabrick.com. It is advisable to include the following in the email:
- Full name;
- Address of the web page or sections of the site or app in question;
- Description of the issue encountered (date and brief description); Do not include personal data (e.g., information about your disability).
Reporting to AgID
In case of an unsatisfactory response or no response within thirty days of the notification or request, the individual may submit a report to AgID via certified email (PEC) at the following address: protocollo@pec.agid.gov.it.
Website Information
- Date of website publication: 16/07/2016
- Usability tests conducted [yes/no]: No
Useful links, Privacy and Cookie Policy
Can’t find what you’re looking for? Contact us by phone +39 015 24 34 640 or e-mail ecommerce@sella.it.
© 2017 - 2024 Fabrick S.p.A. - Piazza Gaudenzio Sella 1, 13900 Biella, Italy - Company belonging to the Maurizio Sella S.a.a. VAT Group - VAT no. 02675650028 - Tax Code 02654890025