Overview - Adiq E-commerce

The purpose of this documentation is to guide the developer on how to integrate with the Adiq E-commerce API, describing the functionalities and methods to be used, listing information to be sent and received and providing examples.

In this manual you will find the reference about all the operations available in the Adiq E-commerce REST API. These operations must be performed using their specific key in the respective environments' endpoints:

sandbox Homologation Production
Requests https://ecommerce-sandbox.adiq.io https://ecommerce-hml.adiq.io https://ecommerce.adiq.io

To perform an operation, combine the base URL of the environment with the URL of the desired operation and submit using the HTTP verb as described in the operation.

Glossary

To facilitate understanding, we have listed below a short glossary with the main terms related to Recurrence:

TERM DESCRIPTION
Authorization Process for verifying whether or not a purchase can be made with a card. At that moment, several checks are carried out with the card and with the holder (eg payment, blocking, etc.). It is also at this moment that the card limit is sensitized with the value of the transaction.
Cancellation Process to cancel a purchase made with a card.
Catch or late catch Process that confirms the late capture of a transaction that was pre-authorized. Only after the capture, the bearer will be able to view the transaction on his statement or invoice.
Commercial establishment or EC Entity responsible for the virtual store.
Payment gateway Company responsible for the technical integration and processing of transactions.
Carrier

ambiente-sandbox

sandbox-text

criando-credenciais

criando-credenciais-text

cenario-teste

cenario-teste-text

tabela-cenario-teste

cenario-teste-pos-tabela-text

postman

postman-text

Adiq Gateway Integration

Authentication

The APIs listed in this documentation use OAuth2 authentication, which means that in all requests it is required to provide an access token that will be obtained through authentication with your Client ID and Client Secret. Client ID and Client Secret will be provided by IT ADIQ

Generation of the access token

To create an access token it is necessary to send a request using HTTP Basic Authentication through the POST method according to the example:

Request


                
{
  "grantType": "client_credentials"
}	
    


Property Description Type Location Required
GrantType Use the fixed value "client_credentials." string body yes
Authorization Concatenation of your Client ID, followed by “:” (colon) plus your Client Secret, converted to base64.
Example: Authorization: Basic ZGV2ZWxvcGVycy5hZGlxLmlv
string header yes

Response


                
{
  "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6WyJBRElRIiwiQURJUQ",
  "tokenType": "Bearer",
  "expiresIn": "36000",
  "scope": "GatewayEcommerce"
}
    			
                         
Property Description Type
AccessToken API access token to be sent on all requests. string
TokenType Type of token, must be sent in the header along with the token. string
ExpiresIn Token expiration time in seconds. integer
Scope Token Scope. string

Payment

To use all the resources available in our API, it is important that you first understand the concepts involved in processing a credit card transaction.

Concept Description
Authorization Authorization (or pre-authorization) is the main operation in E-commerce, because it is through it that a sale can be made. The pre-authorization only sensitizes the customer's limit, but still does not generate a charge for the consumer.
Capture When carrying out a pre-authorization, it is necessary to confirm this so that the charge is made to the cardholder, . Through this operation, a pre-authorization is carried out, which can be executed, within 21 days after the pre-authorization date. It is important to pay attention to the expiration date/time informed in the pre-authorization transaction - "ExpireAt" field.
Cancellation Cancellation is necessary when, for some reason, you no longer want to make a sale. In cases of self capture and pre-authorization with capture, cancellation can only be made on the same day.
Authentication The authentication process makes it possible to carry out a sale which will go through the Payment Gateway authentication process, thus bringing more security to the sale.
Tokenization To make transactions securely, the card number must be tokenized upon authentication.

Payment Options

Credit/Debit Cards

Tokenization

Card token generation

This operation is used to create a token for a particular card, just do a POST as in the example.

Request


                
{
   "cardNumber":"5155901222250004"
}
    



                         


Property Description Type Location Required Size
CardNumber Card number. string body yes from 9 to 19
resposta-1

                
{
   "numberToken":"88f466c4-d17a-4430-952f-2a44bdb98525"
}
    

    

Property Description Type
NumberToken Card token to be used in transactions string

Credit/debit card payment

To create a transaction that will use a credit/debit card, it is necessary to send a request using the POST method to the Payments feature, as in the example:

Request v1

V1-request Request v1 using Vault
                
                
{
    "payment":{
        "transactionType":"credit",
        "amount":1035,
        "currencyCode":"brl",
        "productType":"avista",
        "installments":1,
        "captureType":"ac",
        "recurrent":false
    },
    "cardInfo":{
        "vaultId":"f851b514-301a-4e26-8314-3567c1b17aad"
    },
    "LineItems":[
        {
            "UnitPrice":"1055",
            "Quantity":"1",
            "ProductSKU":"922111212",
            "ProductName":"Cadeira de plastico",
            "ProductCode":"235422555252"
        },
        {
            "UnitPrice":"935",
            "Quantity":"1",
            "ProductSKU":"455451212",
            "ProductName":"Guarda-chuva",
            "ProductCode":"23656565644"
        }
    ],
    "Customer":{
        "DocumentType":"cpf",
        "DocumentNumber":"51115672088",
        "FirstName":"Jose",
        "LastName":"Silva",
        "Email":"jose.silva@email.com",
        "PhoneNumber":"1122542454",
        "MobilePhoneNumber":"11987683332",
        "Address":"Rua Luiz Vieira",
        "AddressNumber":"134",
        "Complement":"apto. 22 - Vila Guarani",
        "City":"São Paulo",
        "State":"SP",
        "ZipCode":"09876-098",
        "IpAddress":"41.261.933.248",
        "Country":"BR"
    },
    "ShipTo":{
        "FirstName":"Luiz Paulo",
        "LastName":"Cardoso",
        "PhoneNumber":"1122542454",
        "Address":"Rua Luiz Vieira",
        "AddressNumber":"134",
        "Complement":"apto. 34 - Vila Guarani",
        "City":"São Paulo",
        "State":"SP",
        "ZipCode":"09876098",
        "Country":"BR"
    },
    "DeviceInfo":{
        "HttpAcceptBrowserValue":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "HttpAcceptContent":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "HttpBrowserLanguage":"pt-BR",
        "HttpBrowserJavaEnabled":"N",
        "HttpBrowserJavaScriptEnabled":"Y",
        "HttpBrowserColorDepth":"24",
        "HttpBrowserScreenHeight":"937",
        "HttpBrowserScreenWidth":"1920",
        "HttpBrowserTimeDifference":"180",
        "UserAgentBrowserValue":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
    },
    "sellerInfo":{
        "orderNumber":"0000000001",
        "softDescriptor":"PAG*TESTE",
        "dynamicMcc":9999,
        "code3DS":"C56A4180-65AA-42EC-A945-5FD21DEC0538",
        "urlSite3DS":"estabelecimento.com.br",
        "codeAntiFraud":"C56A4180-65AA-42EC-A945-5FD21DEC0531"
    },
    "sellers":[
        {
            "id":"900",
            "amount":690,
            "items":[
                {
                    "id":"P115DU90",
                    "description":"Produto 1",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                },
                {
                    "id":"P115DU91",
                    "description":"Produto 2",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                }
            ]
        },
        {
            "id":"901",
            "amount":345,
            "items":[
                {
                    "id":"P115DU92",
                    "description":"Produto 1",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                }
            ]
        }
    ]
}
                        
                            
                        
V1 request using card token
                
                
{
    "payment":{
        "transactionType":"credit",
        "amount":1035,
        "currencyCode":"brl",
        "productType":"avista",
        "installments":1,
        "captureType":"ac",
        "recurrent":false,
        "RecurrentNridElo": "E13MAR253651340",
        "RecurrentAmountElo": 2339
    },
    "cardInfo":{
        "numberToken":"2c44f9e6-c242-4c92-8129-eeef72b26336",
        "cardholderName":"JOSE SILVA",
        "securityCode":"123",
        "brand":"visa",
        "expirationMonth":"01",
        "expirationYear":"19"
    },
    "LineItems":[
        {
            "UnitPrice":"1055",
            "Quantity":"1",
            "ProductSKU":"922111212",
            "ProductName":"Cadeira de plastico",
            "ProductCode":"235422555252"
        },
        {
            "UnitPrice":"935",
            "Quantity":"1",
            "ProductSKU":"455451212",
            "ProductName":"Guarda-chuva",
            "ProductCode":"23656565644"
        }
    ],
    "Customer":{
        "DocumentType":"cpf",
        "DocumentNumber":"51115672088",
        "FirstName":"Jose",
        "LastName":"Silva",
        "Email":"jose.silva@email.com",
        "PhoneNumber":"1122542454",
        "MobilePhoneNumber":"11987683332",
        "Address":"Rua Olveira Vieira",
        "AddressNumber":"134",
        "Complement":"apto. 22 - Vila Guarani",
        "City":"São Paulo",
        "State":"SP",
        "ZipCode":"09876-098",
        "IpAddress":"41.261.933.248",
        "Country":"BR"
    },
    "ShipTo":{
        "FirstName":"Luiz Paulo",
        "LastName":"Cardoso",
        "PhoneNumber":"1122542454",
        "Address":"Rua Luiz Vieira",
        "AddressNumber":"134",
        "Complement":"apto. 34 - Vila Guarani",
        "City":"São Paulo",
        "State":"SP",
        "ZipCode":"09876098",
        "Country":"BR"
    },
    "DeviceInfo":{
        "HttpAcceptBrowserValue":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "HttpAcceptContent":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "HttpBrowserLanguage":"pt-BR",
        "HttpBrowserJavaEnabled":"N",
        "HttpBrowserJavaScriptEnabled":"Y",
        "HttpBrowserColorDepth":"24",
        "HttpBrowserScreenHeight":"937",
        "HttpBrowserScreenWidth":"1920",
        "HttpBrowserTimeDifference":"180",
        "UserAgentBrowserValue":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
    },
    "sellerInfo":{
        "orderNumber":"0000000001",
        "softDescriptor":"PAG*TESTE",
        "dynamicMcc":9999,
        "code3DS":"C56A4180-65AA-42EC-A945-5FD21DEC0538",
        "urlSite3DS":"estabelecimento.com.br",
        "codeAntiFraud":"C56A4180-65AA-42EC-A945-5FD21DEC0531"
    },
    "sellers":[
        {
            "id":"900",
            "amount":690,
            "items":[
                {
                    "id":"P115DU90",
                    "description":"Produto 1",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                },
                {
                    "id":"P115DU91",
                    "description":"Produto 2",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                }
            ]
        },
        {
            "id":"901",
            "amount":345,
            "items":[
                {
                    "id":"P115DU92",
                    "description":"Produto 1",
                    "amount":345,
                    "ratePercent":0,
                    "rateAmount":0
                }
        ]
        }
    ]
}
                        
                            
                        
Property Description Type Location Required Maximum size
Payment.TransactionType Type of transaction. string body yes fixed
Payment.Amount Order Amount in cents. integer body yes 10
Payment.CurrencyCode Currency identification. string body yes fixed
Payment.ProductType Product type. string body yes fixed
Payment.Installments Number of Installments. integer body yes 02
Payment.CaptureType Capture type. string body yes fixed
Payment.Recurrent Elo identification number for automatic recurring operations. boolean body yes fixed
Payment.RecurrentNridElo Marks the transaction as recurring string body no fixed
Payment.RecurrentAmountElo Value of the first recurring transaction integer body no 10
CardInfo.VaultId Card identifier in the vault. string body no fixed
CardInfo.NumberToken Tokenized card identifier. string body no fixed
CardInfo.CardholderName Buyer's name printed on card. string body yes 30
CardInfo.SecurityCode Security code. string body no 04
CardInfo.Brand Card flag - Optional. string body no fixed
CardInfo.ExpirationMonth Two-digit card expiration month. string body no 02
CardInfo.ExpirationYear Double-digit card expiration year. string body no 02
SellerInfo.codeAntiFraud Anti-fraud fingerprint code. If not sent, the anti-fraud analysis will be done without this information - Mandatory for anti-fraud guid body no 36
SellerInfo.code3DS Establishment 3DS code. If not sent, 3DS will not run - Required for 3DS. guid body no 36
SellerInfo.urlSite3DS URL of the commerce site used for 3ds, for example, the site is https://minhaempresa.com.br so you must inform [mycompany.com.br] without informing [https://] - Mandatory for 3DS. guid body no 2048
SellerInfo.OrderNumber OrderNumber informed by the customer in the payment request (Customer Order Number). If this field is repeated on the same day, the transaction may be denied string body yes 13
SellerInfo.SoftDescriptor Text displayed on buyer's card statement - Mandatory for Digital Wallet transactions, Cash In/Cash Out operations. string body no 22
SellerInfo.DynamicMcc Establishment Category Code. If not sent, the MCC of the registration will be adopted. Requires approval from the ADIQ risk area - Mandatory for Digital Wallet transactions, Cash Out operations. integer body no 04
sellerInfo.digitalWallet.cashIn.cardAcceptorUTRN Wallet ID - Required for Cash In transactions. string body no 19
sellerInfo.digitalWallet.cashIn.receiverFirstName Recipient Name - Required for Cash In Transactions. string body no 35
sellerInfo.digitalWallet.cashIn.receiverLastName Recipient's Last Name - Required for Cash In transactions. string body no 35
sellerInfo.digitalWallet.cashIn.receiverStreetAddress Recipient Address - Required for Cash In Transactions. string body no 34
sellerInfo.digitalWallet.cashOut.cardAcceptorCity Merchant's City - Mandatory for Cash Out transactions. string body no 13
Sellers.Id Establishment identifier (only for Marketplace transactions). string body no 10
Sellers.Amount Total purchase amount (in cents). integer body no 10
Sellers.Items.Id Item identifier. string body no 30
Sellers.Items.Amount Item value (in cents). integer body no 10
Sellers.Items.Description Item Description. string body no 100
Sellers.Items.RatePercent Fee to be charged (for Marketplace transactions only) on the item (percentage) . double body no 10
Sellers.Items.RateAmount Fee to be charged (for Marketplace transactions only) on the item in value (in cents). integer body no 10
Customer.DocumentType Type of buyer's identification document (CPF, CNPJ)
Value Description
1 cpf
2 cnpj
integer body no 1
Customer.DocumentNumber Buyer's document number without punctuation (no mask) string body no 20
Customer.FirstName Buyer's First Name - Required for 3DS/Anti-Fraud. string body no 60
Customer.LastName Buyer's Last Name - Required for 3DS/Anti-Fraud. string body no 60
Customer.Email Buyer Email - Required for 3DS/Anti-Fraud. string body no 255
Customer.PhoneNumber Buyer's phone (no mask) - Required for 3DS/Anti-Fraud. string body no 15
Customer.MobilePhoneNumber Buyer's cell phone (no mask) - Required for 3DS/anti-fraud. string body no 25
Customer.Address Buyer Address - Required for 3DS/Anti-Fraud. string body no 60
Customer.Complement Buyer Address Add-on - Required for 3DS/Anti-Fraud. string body no 60
Customer.City Buyer's City - Required for 3DS/Anti-Fraud. string body no 50
Customer.State Buyer Status - Required for 3DS/Anti-Fraud. string body no 2
Customer.ZipCode Buyer zip code (no mask) - Required for 3DS/Anti-Fraud. string body no 10
Customer.IpAddress Purchaser Device IP Address - Required for 3DS/Anti-Fraud. string body no 48
Customer.Country Purchaser Country - Required for 3DS/Anti-Fraud. string body no 2
DeviceInfo.httpAcceptBrowserValue 3DS - Value of the "Accept Header" of the client's browser - Mandatory for 3DS. string body no 255
DeviceInfo.httpAcceptContent 3DS - Exact value of HTTP Accept Header - Required for 3DS. string body no 256
DeviceInfo.httpBrowserLanguage 3DS - Client browser language as per https://www.techonthenet.com/js/language_tags.php - Required for 3DS. string body no 8
DeviceInfo.httpBrowserJavaEnabled 3DS - If JAVA enabled, send value Y, otherwise N - Required for 3DS. string body no 1
DeviceInfo.httpBrowserJavaScriptEnabled 3DS - If JAVA SCRIPT enabled, send value Y, otherwise N - Required for 3DS. string body no 1
DeviceInfo.httpBrowserColorDepth 3DS - Number of bits used for displaying images - Required for 3DS. string body no 3
DeviceInfo.httpBrowserScreenHeight 3DS - Client screen resolution height - Required for 3DS string body no 4
DeviceInfo.httpBrowserScreenWidth 3DS - Width of client screen resolution - Required for 3DS. string body no 4
DeviceInfo.httpBrowserTimeDifference 3DS - Difference in minutes between GMT time and the client's browser - Mandatory for 3DS. string body no 4
DeviceInfo.userAgentBrowserValue 3DS - The exact User Agent Header value - Required for 3DS. string body no 255
ShipTo.FirstName Buyer's First Name - Mandatory for anti-fraud. string body no 60
ShipTo.LastName Buyer's Last Name - Mandatory for anti-fraud. string body no 60
ShipTo.PhoneNumber Buyer's phone (no mask) - Mandatory for anti-fraud. string body no 15
ShipTo.Address Buyer Address - Mandatory for anti-fraud. string body no 60
ShipTo.Complement Buyer address add-on - Required for anti-fraud. string body no 60
ShipTo.City Buyer's City - Mandatory for anti-fraud. string body no 50
ShipTo.State Buyer Status - Mandatory for anti-fraud. string body no 2
ShipTo.ZipCode Buyer zip code (no mask) - Mandatory for anti-fraud. string body no 10
ShipTo.country Country of buyer's address - Mandatory for anti-fraud. string body no 2
LineItems_#_ProductCode Product type - Required for anti-fraud. string body no 255
LineItems_#_ProductSKU In-store product identifier - Required for anti-fraud. string body no 255
LineItems_#_ProductName Product name - Required for anti-fraud. string body no 255
LineItems_#_Quantity Number of products being purchased - Mandatory for anti-fraud. string body no 10
LineItems_#_UnitPrice Product price (per item) - Mandatory for anti-fraud. string body no 10

Domains

Property Content
Payment.TransactionType credit, debit
Payment.CurrencyCode brl
Payment.ProductType
Value Description
avista sale with 1 installment
lojista In installments by the shopkeeper
debito Debit sale
Payment.CaptureType
Value Description
pa Pre-Authorize
ac Authorize and capture
Payment.Recurrent true - Recurring, false - Non-recurring
CardInfo.Brand visa, mastercard, amex, elo, hypercard
Customer.DocumentType cpf, cnpj
  • Must not contain special characters except '*';
  • Must not start with *;
  • It must contain only one '*';
  • Maximum length of 22 characters;
  • Ex.: PAG*LOJAXPTO

Transactions with Payment.CaptureType fields populated with the domain PA and the field Payment.TransactionType with domain debit, in the same transaction will be denied. Because Pre-Authorization for Debit is not allowed.


Transactions with field CardInfo.Brand populated with domain hipercard only accept Payment.TransactionType with domain credit.

Response

Response on success:
                    
                    
{
    "paymentAuthorization": {
        "returnCode": "0",
        "description": "Sucesso",
        "paymentId": "020080286103040952150000006201850000000000",
        "authorizationCode": "043711",
        "orderNumber": "0000000001",
        "expireAt": "2019-09-24T13:20:52.8775511-03:00",
        "amount": 1035,
        "releaseAt": "2019-09-24T13:20:52.877545-03:00",
        "nridElo": "E13MAR253651340"
    }
}
	                        
				        
                    
Response in case of failure:
                    
                    
[
    {
        "tag": "payment.amount",
        "description": "O Valor informado deverá ser maior que ZERO."
    }
]
                            
				        
                    
Response in case of failure in 3DS:
                    
                    
[
    {
        "tag": "U",
        "description": "Não foi possível autenticar."
    }
]
                            
				        
                    
Property Description Type
PaymentAuthorization.ReturnCode Return code. string
PaymentAuthorization.Description Description of the return. string
PaymentAuthorization.PaymentId Payment identifier, also known as TID. string
PaymentAuthorization.AuthorizationCode Authorization code. string
PaymentAuthorization.OrderNumber OrderNumber informed by the customer in the payment request (Customer Order Number). string
PaymentAuthorization.ExpireAt Expiration date and time when dealing with pre-authorization. datetime
PaymentAuthorization.Amount Order Amount in cents. integer
PaymentAuthorization.ReleaseAt Date and time of payment record. datetime
PaymentAuthorization.nridElo Elo identification number to be used in future recurring transactions. string

Response from Authorizer Host

Response from Authorizer Host:
                
                
[
    {
    "tag": "51",
    "description": "TRANSACAO NAO AUTORIZADA PELO EMISSOR - 51"
    }
]
                            
                        
                    
Response Code Description
00SUCCESS
01TRANSACTION NOT AUTHORIZED BY THE ISSUER - 01
03TRANSACTION NOT AUTHORIZED BY THE PURCHASER - INVALID ESTABLISHMENT - 03
04UNAUTHORIZED TRANSACTION - INVALID CARD - 04
05TRANSACTION NOT AUTHORIZED BY THE ISSUER - 05
06UNAUTHORIZED TRANSACTION - UNKNOWN - 06
07UNAUTHORIZED TRANSACTION - INVALID CARD - 07
12UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 12
13UNAUTHORIZED TRANSACTION - INVALID AMOUNT - 13
14UNAUTHORIZED TRANSACTION - INVALID CARD - 14
15UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 15
19UNAUTHORIZED TRANSACTION - RETRY LATER - 19
30UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 30
38UNAUTHORIZED TRANSACTION - INVALID PASSWORD - 38
39UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 39
40UNAUTHORIZED TRANSACTION - INVALID FUNCTION - 40
41UNAUTHORIZED TRANSACTION - CARD BLOCKED - 41
43UNAUTHORIZED TRANSACTION - CARD BLOCKED - 43
46UNAUTHORIZED TRANSACTION - ACCOUNT CLOSED - 46
51TRANSACTION NOT AUTHORIZED BY THE ISSUER - 51
52UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 52
53UNAUTHORIZED TRANSACTION - INVALID TRANSACTION - 53
54TRANSACTION NOT AUTHORIZED BY THE ISSUER - CARD EXPIRED - 54
55TRANSACTION NOT AUTHORIZED - INVALID PASSWORD - 55
57TRANSACTION NOT AUTHORIZED BY THE ISSUER - 57
58UNAUTHORIZED TRANSACTION - NOT ALLOWED FOR THE ESTABLISHMENT - 58
59TRANSACTION NOT AUTHORIZED BY THE ISSUER - CARD SUSPENDED - 59
61UNAUTHORIZED TRANSACTION - EXCEEDED LIMIT - 61
62UNAUTHORIZED TRANSACTION - RESTRICTED CARD - 62
63UNAUTHORIZED TRANSACTION - INVALID PASSWORD - 63
65TRANSACTION NOT AUTHORIZED BY THE ISSUER - 65;
70UNAUTHORIZED TRANSACTION - UNKNOWN 70
75UNAUTHORIZED TRANSACTION - INVALID PASSWORD - 75
78UNAUTHORIZED TRANSACTION - CARD BLOCKED. - 78
79UNAUTHORIZED TRANSACTION - Card Fraud/Security - 79
82UNAUTHORIZED TRANSACTION - Card Fraud/Security - 82
83UNAUTHORIZED TRANSACTION - Card Fraud/Security - 83
91UNAUTHORIZED TRANSACTION - UNAVAILABLE FLAG/ISSUER - 91
93UNAUTHORIZED TRANSACTION - INVALID CARD - 93
94UNAUTHORIZED TRANSACTION - DUPLICATE TRANSACTION - 94
96TRANSACTION NOT AUTHORIZED - ERROR WHILE PROCESSING- 96

3DS Answer - Fail

IMPORTANT - For customers who have 3DS enabled.

  • Credit transaction with 3DS.
    • Customer enabled to do 3DS on credit transaction
      • 3DS Denied - Transaction will process to authorizing host without 3DS.
      • 3DS Approved - Transaction will process to authorizing host with 3DS.
    • DENY credit transaction if 3DS is fail
      • It is necessary to enable the parameter in the customer record for this function to be enabled
        • Denied 3DS - Transaction will be denied.
        • 3DS Approved - Transaction will process to authorizing host with 3DS.
  • Debit transactions with 3DS.
    • sucessfull 3DS: The transaction will proceed to the authorizing host.
    • 3DS with challenge: The transaction will proceed to the authorizing host after sending the challenge.
    • 3DS Denied: The transaction will NOT proceed to the authorizing host.
                
                
{
    "paymentAuthorization": {
        "returnCode": "0",
        "description": "Sucesso",
        "paymentId": "020080286103040952150000006201850000000000",
        "authorizationCode": "043711",
        "orderNumber": "0000000001",
        "amount": 1035,
        "releaseAt": "2019-09-24T13:20:52.877545-03:00"
    },
    "threeDs":{
        "status":"Fail",
        "threeDsVersion":"2.1.0"
    }
}
                        
                
            
Property Description Type
ThreeDs.Status 3DS Status – 3DS failed. string
ThreeDs.ThreeDsVersion ThreeDsVersion is the 3DS version. string

3DS Answer - Challenge

The payment request response may report that the 3DS has requested a challenge via ThreeDs.Status with value Challenge . Challenge indicates a challenge that the issuer (bank) sends to the customer (cardholder) to respond to validate the 3DS. This challenge is executed through a frame sent directly by the card issuer.

                
                
{
    "threeDs":{
        "status":"Challenge",
        "threeDsVersion":"2.1.0",
        "acsUrl":"https://0merchantacsstag.cardinalcommerce.com/MerchantACSWeb/crejsp ",
        "authenticationTransactionId":"BGprC3ktx8lMtL391Ma0",
        "pareq":"eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwid
        GhyZWVEU1NlcnZlclRyYW5zSUQiOiI4N2YwYzdjOS0wODlkLTQ5OGItYTYzZC03MjJiMzc5ZTM
        wOTEiLCJhY3NUcmFuc0lEIjoiNGEzOWMxNGEtZjBiNi00YTE5LTg3MWEtYmQ2MjZlZDcyNmEzI
        iwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjAyIn0"
    }
}
                        
                
            
Property Description Type
ThreeDs.Status 3DS Challenge Status – 3DS is requesting a Challenge. string
ThreeDs.ThreeDsVersion ThreeDsVersion is the 3DS version and will be informed when Challenge. string
ThreeDs.AcsUrl AcsUrl is the return when Challenge, you must inform it in Adiq3ds.InitChallenge(acsUrl, pareq, authenticationTransactionId). string
ThreeDs.Pareq Pareq is the return when Challenge, must inform it in Adiq3ds.InitChallenge(acsUrl, pareq, authenticationTransactionId). string
ThreeDs.AuthenticationTransactionId AuthenticationTransactionId is the return when Challenge, you must inform it in Adiq3ds.InitChallenge(acsUrl, pareq, authenticationTransactionId). string

TID (TransactionID) is a 42-character code that serves as an e-commerce transaction identifier. This field consists of the information described as MTI, Primary NSU, date/time, Purchaser's NSU (also known as CV), which is often used for future reconciliations as it is unique, Filler

Property Description Size
MTI Identifies capture type 0200 for AC (Auto-Capture), and 0100 for PA (Pre-Authorization) 004
Primary NSU Primary NSU (Authorizer NSU), also known as Transaction NSU. 006
Date/time Original transaction date/time in MMDDHHMMSS format. 010
Purchaser's NSU Single NSU for the transaction, used for future reconciliations. 012
Filler For future use. Sent 0000000000 010
Request

                
{
  "amount": 1035,
  "sellers": [
    {
      "id": "900",
      "amount": 690,
      "items": [
        {
          "id": "P115DU90",
          "amount": 345
        },
        {
          "id": "P115DU91",
          "amount": 345
        }
      ]
    },
    {
      "id": "901",
      "amount": 345,
      "items": [
        {
          "id": "P115DU92",
          "amount": 345
        }
      ]
    }
  ]
}
    


Property Description Type Location Required Maximum Size
PaymentId Identifier of the payment to be canceled. string path yes 42
Amount Amount to be canceled (in cents). integer body yes 10
Sellers.Id Identifier of the establishment. string body no 10
Sellers.Amount Total cancellation amount (in cents). integer body no 10
Sellers.Items.Id Item identifier. string body no 30
Sellers.Items.Amount Item value (in cents). integer body no 10
Response

                
{
  "cancelAuthorization": {
    "returnCode": "0",
    "description": "Canceled",
    "paymentId": "020080286103040952150000006201850000000000",
    "authorizationCode": "143513",
    "amount": 1023,
    "releaseAt": "2019-09-24T13:43:12.1952799-03:00"
  }
}
    



                         


Property Description Type
CancelAuthorization.ReturnCode Return code. string
CancelAuthorization.Description Description of the return. string
CancelAuthorization.PaymentId Payment identifier. string
CancelAuthorization.AuthorizationCode Cancellation authorization code. string
CancelAuthorization.Amount Amount of cancellation (in cents). integer
CancelAuthorization.ReleaseAt Date and time of cancellation record. datetime

Capture

Capture a certain payment

To capture a sale that uses a credit card, it is necessary to make a PUT to the Payments resource, informing the PaymentId generated at the time of authorization, as shown in the example. This method is used for late capture in pre-authorization transactions.

Request

                
{
  "amount": 1035,
  "sellers": [
    {
      "id": "900",
      "amount": 690,
      "items": [
        {
          "id": "P115DU90",
          "amount": 345
        },
        {
          "id": "P115DU91",
          "amount": 345
        }
      ]
    },
    {
      "id": "901",
      "amount": 345,
      "items": [
        {
          "id": "P115DU92",
          "amount": 345
        }
      ]
    }
  ]
}
    


Property Description Type Location Required Maximum Size
PaymentId Payment identifier to capture. string path yes 42
Amount Amount to capture (in cents). integer body yes 10
Sellers.Id Identifier of the establishment. string body no 10
Sellers.Amount Total value of capture (in cents). integer body no 10
Sellers.Items.Id Item identifier. string body no 30
Sellers.Items.Amount Item value (in cents). integer body no 10
Response

                    
{
  "captureAuthorization": {
    "returnCode": "0",
    "description": "Captured",
    "paymentId": "020080286103040952150000006201850000000000",
    "authorizationCode": "341707",
    "amount": 1023,
    "releaseAt": "2019-09-25T09:02:51.6615224-03:00"
  }
}

	


	

resposta-1

                
{
  "captureAuthorization": {
    "returnCode": "0",
    "description": "Captured",
    "paymentId": "020080286103040952150000006201850000000000",
    "authorizationCode": "341707",
    "amount": 1023,
    "releaseAt": "2019-09-25T09:02:51.6615224-03:00"
  }
}

    


    

Property Description Type
CaptureAuthorization.ReturnCode Return code. string
CaptureAuthorization.Description Description of the return. string
CaptureAuthorization.PaymentId Payment identifier. string
CaptureAuthorization.AuthorizationCode Authorization code. string
CaptureAuthorization.Amount Capture value (in cents). integer
CaptureAuthorization.ReleaseAt Capture date and time datetime

3DS 2.0 Authentication

3ds-implementation manual for credit and debit

PDF Manual 3ds 2.0 - download Manual 3DS 2.0 V1.0.8

Relevant fields for evaluating the ThreeDs authentication flow

                  
                    
{
  "paymentAuthorization": {
    "returnCode": "0",
    "description": "Sucesso",
    "paymentId": "020080286103040952150000006201850000000000",
    "authorizationCode": "043711",
    "orderNumber": "0000000001",
    "amount": 1035,
    "releaseAt": "2019-09-24T13:20:52.877545-03:00"
  },
  "threeDs":{
    "status": "Fail",
    "eci": "00",
    "threeDsVersion": "2.1.0",
    "veresEnrolled": "Y",
    "paresStatus": "N",
    "threeDsStatus": "AUTHENTICATION_FAILED",
    "reason": "CONSUMER_AUTHENTICATION_FAILED",
    "cardHolderMessage": "Note: Additional authentication is required by the issuing bank for this transaction",
    "directoryServerErrorCode": "101",
    "directoryServerErrorDescription": "Error Processing Message Request"
  }
}
            
	        
        
Property Description
threeDs.status 3DS Status - Silent, Attempt, Challenge and Fail
threeDs.eci 3DS response for authentication
threeDs.threeDsVersion 3DS Version
threeDs.veresEnrolled Issuer status - N, Y ou U
threeDs.paresStatus 3DS Authentication result - R, N, Y, A or U
threeDs.threeDsStatus 3DS Authentication status
threeDs.reason Reason failure
threeDs.cardHolderMessage Response from the issuer to the cardholder
threeDs.directoryServerErrorCode Error code for invalid input
threeDs.directoryServerErrorDescription Error description for invalid input

Authentication 3DS Flows 2.X Scenarios

  • Issuer is not a participant in the 3DS 2.x Protocol
    • When veresEnrolled = N (Issuer is not a participant in the 3DS 2.x Protocol)
  • 3DS fields are invalid
    • When veresEnrolled = U (Unavailable). In this case, directoryServerErrorCode and directoryServerErrorDescription are filled with error code and error description
  • Authentication declined
    • When veresEnrolled = Y (Issuer participating in the 3DS 2.x protocol), threeDsStatus = AUTHENTICATION_FAILED and paresStatus = R (Authentication rejected) eci value will be 07 or 00 (Unsecured transaction)
    • When veresEnrolled = Y (Issuer participating in the 3DS 2.x protocol), threeDsStatus = AUTHENTICATION_FAILED and paresStatus = N (Authentication failed) eci value will be 07 or 00 (Unsecured transaction)
  • Authentication processed
    • When veresEnrolled = Y (Issuer participating in the 3DS 2.x protocol), threeDsStatus = AUTHENTICATION_SUCCESSFUL and paresStatus = A (Attempt) eci value will be 06 or 01 (Attempt)
    • When veresEnrolled = Y (Issuer participating in the 3DS 2.x protocol), threeDsStatus = AUTHENTICATION_SUCCESSFUL and paresStatus = Y (Authentication successful) eci value will be 05 or 02 (Secure transaction)
    • When veresEnrolled = Y (Issuer participating in the 3DS 2.x protocol), threeDsStatus = AUTHENTICATION_SUCCESSFUL and paresStatus = U (Unable to complete) eci value will be 07 or 00 (Unsecured transaction)

Safe

Stores the consumer's card data in the vault

This operation is used to create a safe from the consumer's card data for use in future payments and recurrence, just do a POST as shown in the example .

Request



                
{
  "numberToken": "88f466c4-d17a-4430-952f-2a44bdb98525",
  "brand": "visa",
  "cardholderName": "JOSE SILVA",
  "expirationMonth": "01",
  "expirationYear": "19",
  "verifyCard": false,
  "securityCode": "123"
}
    



                         


Property Description Type Location Required Maximum Size
NumberToken Tokenized card number. string body yes 36
Brand Card flag (visa, mastercard, elo, amex, hypercard). string body yes Fixed
CardholderName Buyer's name printed on card. string body yes Follows the rule of the name contained in the card
ExpirationMonth Two-digit card expiration month. string body yes 2
ExpirationYear Double-digit card expiration year. string body yes 2
VerifyCard Performs a transaction that verifies if the card informed is valid. boolean body yes Fixed
SecurityCode Security code. string body no 04

resposta-1


                
{
  "vaultId": "90fa2d95-3430-4e32-b86b-5b3b3a8393cb"
}
    

    

Property Description Type
VaultId Card identifier saved in the vault string

Recurrence

Flag recurring transactions

This operation must be flagged in the v1/payments route on the property payment.recurrent with value true

Property Description Type Location Required Maximum Size
Payment.recurrent Mark the transaction as recurring. boolean body yes fixed

Recurrence of ELO brand transactions

In addition to signaling that the operation is recurring for ELO transactions: In the initial transaction of the recurrence, it will return paymentAuthorization.nridElo.

Property Description Type Location Required Maximum Size
paymentAuthorization.nridElo Elo identification number to be used in future recurring transactions. string body yes 15

In the second transaction onwards, you must inform the following values in v1/payments.

Property Description Type Location Required Maximum Size
payment.RecurrentNridElo Elo identification number for automatic recurring operations. string body yes 15
Payment.RecurrentAmountElo Value of the first recurring transaction. integer body yes 10

Pix

Service for generating PIX QR Code, payment status query and webhook for payment confirmation.

Generation of Dynamic PIX QR Code.

This service allows you to generate Dynamic QR Code in the BR Code standard for payment via PIX. The Payment Amount entered to generate the QR Code cannot be changed by the paying user.

Request

                
                
{
    "order_id": "012345678910AADL",
    "order_date": "2022-11-17T09:20:36Z",
    "amount": 1000,
    "description": "Toy Hotwheels",
    "url_web_hook": "https://loja-site/webhook/pedido/123456"
}
                        
                    
                
Property Description Type Location Required Maximum Size
order_id Order identifier. string body yes 50
order_date Order date provided by customer. DateTime body yes yyyy-MM-ddTHH:mm:ssZ
amount PIX value (in cents). int body yes 9
description PIX description. string body no 200
url_web_hook URL to run a PIX payment response webhook. string body yes 300

Response

                
                
{
    "order_id": "012345678910AADL",
    "transaction_id": 389277,
    "qrCode": "00020126420014br.gov.bcb.pix0120adiqplus@adiq.com.br520400005303986540510.005802BR5908ADIQPLUS6009SAO PAULO62070503***6304FFCB",
    "dueDate": "2022-12-13T18:49:54.8274626-03:00",
    "amount": 1000,
    "qrCodeId": "xRC35GjYIcz+ATVq90Q6mib+VQPD23xExYPY0UzinIY="
}
                        
                    
                
Property Description Type
order_id PIX order identifier. string
transaction_id Transaction identifier in paycore. long
qrCode EMV QR Code. string
dueDate QR Code expiration date. DateTime
amount PIX value (in cents). int
qrCodeId QR Code identifier. string

Check Payment Status.

This service allows the customer to proactively check the payment status of the generated QR Code.

Request

                
                                        
{
    "order_id": "012345678910AADL",
    "qrCodeId": "xRC35GjYIcz+ATVq90Q6mib+VQPD23xExYPY0UzinIY="
}
                    
                    
                
Property Description Type Location Required Maximum Size
order_id PIX order identifier. string body yes 50
qrCodeId QR Code identifier. string body yes 50

Response

                
                                        
{
    "qrCodeId": "xRC35GjYIcz+ATVq90Q6mib+VQPD23xExYPY0UzinIY=",
    "qrCodeStatus": "Pago",
    "transaction": {
        "transactionId": "5134dfee-6eff-407f-a013-d9d528e5c943",
        "endToEndId": "E710278662022122313371719327837P",
        "value": 0.05,
        "costValue": 0.0,
        "status": "Aprovado",
        "date_payment": "2022-12-23T10:37:22.143-03:00",
        "payer": {
            "name": "Name",
            "document": "99999999000999",
            "documentType": 1
        }
    }
}
                    
                    
                
Property Description Type
qrCodeId QR Code identifier. string
qrCodeStatus QR Code status. string
transaction.transactionId Transaction identifier. string
transaction.endToEndId End-to-end transaction id. Transits in the receipt messages of QR Codes and transfers. string
transaction.value PIX value. decimal
transaction.costValue PIX cost value. decimal
transaction.status PIX status. string
transaction.date_payment Payment date. DateTime
transaction.payer.name Payer name. string
transaction.payer.document Payer document. string
transaction.payer.documentType Payer document type. int

Domains

Property Description
qrCodeStatus Pendente, Pago, Desativo, RemovidoPSP
transaction.status Inexistente, Pendente, Aprovado, Expirado, Cancelado
transaction.payer.documentType 1 (CNPJ), 2 (CPF)

Payment Status Webhook

This service seeks to speed up the customer response process by sending the QR Code payment status as soon as it is identified by ADIQ.

The Url registered to execute the Webhook will receive a POST request when the payment is identified.

If the Post request fails, 3 new communication attempts will be made.

Request

                
                                        
{
    "qrCodeId": "L1+EtQeaqMseiB5wLdhYSwHSfhkFyKlnGZKLxiNQp+c=",
    "qrCodeStatus": "Pago",
    "transaction": {
        "transactionId": "dafdddfe-5296-4f9d-ae4e-09ac529c283e",
        "endToEndId": "E710278662022122916533635584748P",
        "value": 10.00,
        "costValue": 0.00,
        "status": "Aprovado",
        "date_payment": "2022-12-29T13:53:41.93-03:00",
        "payer": {
            "name": "Name",
            "document": "99999999000999",
            "documentType": 1
        }
    }
}
                    
                    
                
Property Description Type
qrCodeId QR Code identifier. string
qrCodeStatus QR Code status. string
transaction.transactionId Transaction identifier. string
transaction.endToEndId End-to-end transaction id. Transits in the receipt messages of QR Codes and transfers. string
transaction.value PIX value. decimal
transaction.costValue PIX cost value. decimal
transaction.status PIX status. string
transaction.date_payment Payment date. DateTime
transaction.payer.name Payer name. string
transaction.payer.document Payer document. string
transaction.payer.documentType Payer document type. int

Domains

Property Description
qrCodeStatus Pendente, Pago, Desativo, RemovidoPSP
transaction.status Inexistente, Pendente, Aprovado, Expirado, Cancelado
transaction.payer.documentType 1 (CNPJ), 2 (CPF)

Anti-fraud

Anti-fraud implementation manual

ADIQ anti-fraud implementation manual for e-commerce operations as a means of payment. The manual will help the developer to understand how he can implement the solution.

PDF Anti-Fraud Manual - download Anti-Fraud Manual V1.0.4

Marketplace

What is Marketplace?

To know more - click here

Query API

Look up payment information through PaymentId

To consult a credit card transaction, it is necessary to send a request using the method GET to the Payments feature by informing the PaymentId generated at the time of authorization as shown in the example.

Request

Property Description Type Location Required Maximum Size
PaymentId Payment identifier to be consulted. string path yes 42

resposta-1


                
        {
           "paymentAuthorization":{
              "paymentId":"020080286103040952150000006201850000000000",
              "statusDescription":"Autorizada e disponível para captura",
              "transactionDate":"2019-06-27T16:34:28.508Z",
              "authorizationCode": "T45623",
              "value": 13000,
              "netValue": null
           }
        }
    

    
Property Description Type
PaymentAuthorization.PaymentId Payment identifier. string
PaymentAuthorization.StatusDescription Transaction status (Error, Denied, Authorized available for capture, Captured, Canceled). string
PaymentAuthorization.TransactionDate Date of transaction. datetime
PaymentAuthorization.AuthorizationCode Authorization code. string
PaymentAuthorization.Value Authorized amount (in cents). integer
PaymentAuthorization.NetValue Balance of the captured amount (in cents), which will be disclosed only after D+1 from the date it was captured. integer

Check payment information via OrderNumber

To consult a credit card transaction, it is necessary to send a request using the GET method to the Payments resource informing the OrderNumber generated at the time of authorization and the transactionDate as per the example.

Request

Property Description Type Format Location Required
OrderNumber OrderNumber informed by the customer in the payment request (Customer Order Number). string path yes
transactionDate Date of transaction. string yyyyMMdd path yes

Response


                
        {
           "paymentAuthorization":{
              "paymentId":"020080286103040952150000006201850000000000",
              "statusDescription":"Autorizada e disponível para captura",
              "transactionDate":"2019-06-27T16:34:28.508Z",
              "authorizationCode": "T45623",
              "value": 13000,
              "netValue": null
           }
        }
    

    
Property Description Type
PaymentAuthorization.PaymentId Payment identifier. string
PaymentAuthorization.StatusDescription Transaction status (Error, Denied, Authorized available for capture, Captured, Canceled). string
PaymentAuthorization.TransactionDate Date of transaction. datetime
PaymentAuthorization.AuthorizationCode Authorization code. string
PaymentAuthorization.Value Authorized amount (in cents). integer
PaymentAuthorization.NetValue Balance of the captured amount (in cents), which will be disclosed only after D+1 from the date it was captured. integer

Attachments

Integration Errors

If integration errors occur in any of the payment methods, a response will be returned containing an error code and a description

Example

Mandatory field not informed, the answer will be:


                
[
   {
      "tag":"Campo",
      "description":"Não pode ser nulo ou vazio."
   }
]
    
    

Property Description
Tag API Error Code.
Description Error Description.

SDWO Digital Wallet

SDWO Digital Wallet is a tool or application that transforms mobile devices into a payment instrument used to purchase products or services or even to load financial resources/balance within the digital wallet itself for future use. The digital wallet will be able to carry out transactions in 2 different stages, a transaction for Cash In and another transaction for Cash Out. Stages can happen regardless of order.

These transactions have specific characteristics and are classified as:
  • Cash In (input of financial resources/balance in the digital wallet through a Mastercar credit card)
  • Cash Out (payment for a product or service using a Mastercard credit card, where the wallet pays the point of sale using a non-flag payment method, a transfer of funds to an account within the wallet on behalf of the point of sale).


Among the specified characteristics of this SDWO digital wallet business model, we have the mandatory registration in the brands (WalletID) through which Cash In and Cash Out transactions will be authorized, processed and settled. The registration will be carried out by Adiq with the brand and informed to the Partner, and the WalletId will be automatically sent in the transaction to the SDWO digital wallet customer. If the Partner already has the WalletID of the brand, just inform it when registering at Adiq, as the registration in the brand to generate the WalletId is unique per CNPJ. We also have the specific MCC 6540 for Cash In and dynamic MCC for Cash Out, in addition to the specific message identifying the transactions.

Cash In/Cash Out digital wallet operations can be carried out with the Pre-Authorize/Authorize Capture type, as well as cancellation changes can be made.

The 3DS and Anti-Fraud features can be used for digital wallet transactions.

Cash In

To carry out the Cash In process, the dynamicMcc field must be empty and the following fields must be informed:

Request for Cash In using Vault
                
                
                            {
                                "payment":{
                                    "transactionType":"credit",
                                    "amount":1035,
                                    "currencyCode":"brl",
                                    "productType":"avista",
                                    "installments":1,
                                    "captureType":"ac",
                                    "recurrent":false
                                },
                                "cardInfo":{
                                    "vaultId":"f851b514-301a-4e26-8314-3567c1b17aad"
                                },
                                "LineItems":[
                                    {
                                        "UnitPrice":"1055",
                                        "Quantity":"1",
                                        "ProductSKU":"922111212",
                                        "ProductName":"Cadeira de plastico",
                                        "ProductCode":"235422555252"
                                    },
                                    {
                                        "UnitPrice":"935",
                                        "Quantity":"1",
                                        "ProductSKU":"455451212",
                                        "ProductName":"Guarda-chuva",
                                        "ProductCode":"23656565644"
                                    }
                                ],
                                "Customer":{
                                    "DocumentType":"cpf",
                                    "DocumentNumber":"51115672088",
                                    "FirstName":"Jose",
                                    "LastName":"Silva",
                                    "Email":"jose.silva@email.com",
                                    "PhoneNumber":"1122542454",
                                    "MobilePhoneNumber":"11987683332",
                                    "Address":"Rua Olveira Vieira, 134",
                                    "Complement":"apto. 22 - Vila Guarani",
                                    "City":"São Paulo",
                                    "State":"SP",
                                    "ZipCode":"09876-098",
                                    "IpAddress":"41.261.933.248",
                                    "Country":"BR"
                                },
                                "ShipTo":{
                                    "FirstName":"Luiz Paulo",
                                    "LastName":"Cardoso",
                                    "PhoneNumber":"1122542454",
                                    "Address":"Rua Luiz Vieira, 134",
                                    "Complement":"apto. 34 - Vila Guarani",
                                    "City":"São Paulo",
                                    "State":"SP",
                                    "ZipCode":"09876098",
                                    "Country":"BR"
                                },
                                "DeviceInfo":{
                                    "HttpAcceptBrowserValue":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                                    "HttpAcceptContent":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                                    "HttpBrowserLanguage":"pt-BR",
                                    "HttpBrowserJavaEnabled":"N",
                                    "HttpBrowserJavaScriptEnabled":"Y",
                                    "HttpBrowserColorDepth":"24",
                                    "HttpBrowserScreenHeight":"937",
                                    "HttpBrowserScreenWidth":"1920",
                                    "HttpBrowserTimeDifference":"180",
                                    "UserAgentBrowserValue":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
                                },
                                "sellerInfo":{
                                    "orderNumber":"0000000001",
                                    "softDescriptor":"NOMESDWO*CASHINXPTO",
                                    "code3DS":"C56A4180-65AA-42EC-A945-5FD21DEC0538",
                                    "urlSite3DS":"estabelecimento.com.br",
                                    "codeAntiFraud":"C56A4180-65AA-42EC-A945-5FD21DEC0531",
                                    "digitalWallet":{
                                        "cashIn":{
                                            "cardAcceptorUTRN":"3498",
                                            "receiverFirstName":"Maria",
                                            "receiverLastName":"Oliveira",
                                            "receiverStreetAddress":"Rua São Vicente, 14"
                                        }
                                    }
                                },
                                "sellers":[
                                    {
                                        "id":"900",
                                        "amount":690,
                                        "items":[
                                            {
                                                "id":"P115DU90",
                                                "description":"Produto 1",
                                                "amount":345,
                                                "ratePercent":0,
                                                "rateAmount":0
                                            },
                                            {
                                                "id":"P115DU91",
                                                "description":"Produto 2",
                                                "amount":345,
                                                "ratePercent":0,
                                                "rateAmount":0
                                            }
                                        ]
                                    },
                                    {
                                        "id":"901",
                                        "amount":345,
                                        "items":[
                                            {
                                                "id":"P115DU92",
                                                "description":"Produto 1",
                                                "amount":345,
                                                "ratePercent":0,
                                                "rateAmount":0
                                            }
                                        ]
                                    }
                                ]
                            }
                        
                        
                    
Property Description Type Location Required Maximum size
SellerInfo.DigitalWallet.CashIn.CardAcceptorUTRN Wallet ID string body yes 19
SellerInfo.DigitalWallet.CashIn.ReceiverFirstName Recipient Name string body yes 35
SellerInfo.DigitalWallet.CashIn.ReceiverLastName Recipient's Last Name string body yes 35
SellerInfo.DigitalWallet.CashIn.ReceiverStreetAddress Recipient address string body yes 34
SellerInfo.SoftDescriptor
  • Must start with the name of the SDWO;
  • Must not contain special characters except '*';
  • Must not start with *;
  • Must contain only one '*';
  • Maximum length of 22 characters;
  • Ex.: DWONAME*CASHINXPTO
string body yes 22

Cash Out

In order to carry out the Cash Out process, the dynamicMcc field must be filled in with the dynamic MCC that best represents the operation performed, and the following fields must be informed:

Cash Out Request using Vault
                
                
                            {
                                "payment":{
                                    "transactionType":"credit",
                                    "amount":1035,
                                    "currencyCode":"brl",
                                    "productType":"avista",
                                    "installments":1,
                                    "captureType":"ac",
                                    "recurrent":false
                                },
                                "cardInfo":{
                                    "vaultId":"f851b514-301a-4e26-8314-3567c1b17aad"
                                },
                                "LineItems":[
                                    {
                                        "UnitPrice":"1055",
                                        "Quantity":"1",
                                        "ProductSKU":"922111212",
                                        "ProductName":"Cadeira de plastico",
                                        "ProductCode":"235422555252"
                                    },
                                    {
                                        "UnitPrice":"935",
                                        "Quantity":"1",
                                        "ProductSKU":"455451212",
                                        "ProductName":"Guarda-chuva",
                                        "ProductCode":"23656565644"
                                    }
                                ],
                                "Customer":{
                                    "DocumentType":"cpf",
                                    "DocumentNumber":"51115672088",
                                    "FirstName":"Jose",
                                    "LastName":"Silva",
                                    "Email":"jose.silva@email.com",
                                    "PhoneNumber":"1122542454",
                                    "MobilePhoneNumber":"11987683332",
                                    "Address":"Rua Olveira Vieira, 134",
                                    "Complement":"apto. 22 - Vila Guarani",
                                    "City":"São Paulo",
                                    "State":"SP",
                                    "ZipCode":"09876-098",
                                    "IpAddress":"41.261.933.248",
                                    "Country":"BR"
                                },
                                "ShipTo":{
                                    "FirstName":"Luiz Paulo",
                                    "LastName":"Cardoso",
                                    "PhoneNumber":"1122542454",
                                    "Address":"Rua Luiz Vieira, 134",
                                    "Complement":"apto. 34 - Vila Guarani",
                                    "City":"São Paulo",
                                    "State":"SP",
                                    "ZipCode":"09876098",
                                    "Country":"BR"
                                },
                                "DeviceInfo":{
                                    "HttpAcceptBrowserValue":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                                    "HttpAcceptContent":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                                    "HttpBrowserLanguage":"pt-BR",
                                    "HttpBrowserJavaEnabled":"N",
                                    "HttpBrowserJavaScriptEnabled":"Y",
                                    "HttpBrowserColorDepth":"24",
                                    "HttpBrowserScreenHeight":"937",
                                    "HttpBrowserScreenWidth":"1920",
                                    "HttpBrowserTimeDifference":"180",
                                    "UserAgentBrowserValue":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
                                },
                                "sellerInfo":{
                                    "orderNumber":"0000000001",
                                    "softDescriptor":"NOMESDWO*LOJAXPTO",
                                    "dynamicMcc":9999,
                                    "code3DS":"C56A4180-65AA-42EC-A945-5FD21DEC0538",
                                    "urlSite3DS":"estabelecimento.com.br",
                                    "codeAntiFraud":"C56A4180-65AA-42EC-A945-5FD21DEC0531",
                                    "digitalWallet":{
                                        "cashOut":{
                                            "cardAcceptorCity":"São Paulo"
                                        }
                                    }
                                },
                                "sellers":[
                                    {
                                        "id":"900",
                                        "amount":690,
                                        "items":[
                                            {
                                                "id":"P115DU90",
                                                "description":"Produto 1",
                                                "amount":345,
                                                "ratePercent":0,
                                                "rateAmount":0
                                            },
                                            {
                                                "id":"P115DU91",
                                                "description":"Produto 2",
                                                "amount":345,
                                                "ratePercent":0,
                                                "rateAmount":0
                                            }
                                        ]
                                    },
                                    {
                                        "id":"901",
                                        "amount":345,
                                        "items":[
                                            {
                                            "id":"P115DU92",
                                            "description":"Produto 1",
                                            "amount":345,
                                            "ratePercent":0,
                                            "rateAmount":0
                                            }
                                        ]
                                    }
                                ]
                            }
                        
                        
                    
Property Description Type Location Required Maximum size
SellerInfo.DigitalWallet.CashOut.CardAcceptorCity Shopkeeper's City string body yes 13
SellerInfo.SoftDescriptor
  • Must start with the name of the SDWO;
  • Must contain the name of the checkout merchant;
  • Must not contain special characters except '*';
  • Must not start with *;
  • Must contain only one '*';
  • Maximum length of 22 characters;
  • Ex.: WONAMES*STOREXPTO
string body yes 22
SellerInfo.DynamicMcc Code of the Commercial Establishment Category. Requires approval from the ADIQ risk area. integer body yes 04

Late capture

What is a pre-authorization or pre-aut transaction?

Pre-authorization is a form of transaction where a consultation takes place that guarantees that the holder has the resources to pay for that service or product even before the capture transaction for authorization takes place, when the issuing bank authorizes it, it makes a temporary “reserve” of the funds on the credit card related to that purchase – the limit is sensitized according to the value of the pre-auto transaction.


The pre-authorization transaction has specific business rules:

  • Validity: up to 30 days
  • Trigger: no, pre-aut transaction is automatically reversed in transaction for authorization
  • MCCs Restriction: Eligible for specific MCCs that work with reservations such as Hotels, car rental and others
  • Captured value for authorization: The value sent for authorization can be less than, equal to, or greater than the pre-authorized value

Does Adiq have a pre-aut transaction? How it works?

No, Adiq's solution is a late capture or capture after transaction. The solution performs a pre-authorization transaction but will depend on of a trigger to roll it back in a late capture transaction and thus send it for authorization. This trigger can be stock confirmation before of billing or a risk analysis of the transaction and if the suspicion/fraud is confirmed, the Partner chooses not to capture the transaction, thus avoiding a chargeback and fines from monitoring programs for excess chargeback and brand fraud, for example.


The business rules for late capture are different, such as:

  • Validity: up to 21 days
  • Trigger: mandatory that the transaction is reversed in transaction for authorization (late capture), otherwise the initial transaction is undone and the effective charge to the bearer is not carried out.
  • Restriction of MCCs: There is no restriction of MCCs

To perform a late capture transaction, what do I need to send in the transaction?

In the TID (TransactionID) field, the information regarding the pre-authorized transaction, that is, the same credit card must be used. credit: The data sent is: MTI (Identifies capture type and 0100 for PA (Pre-Authorization), primary NSU, date/time, Acquirer's NSU (also known as CV), which is often used for future reconciliations, as it is unique.

Can any Partner transact with late capture?

Yes is available to any EC, Whitelabel partner, SAAS or platformless facilitator as long as they are integrated with our gateway e-commerce (digital capture).

Is it possible to cancel/reverse a late capture transaction? What is the deadline to cancel?

Yes, just call the transaction cancellation API/endpoint within 21 days. If the transaction is not canceled or rolled back to authorization, the transaction will be rolled back automatically.

Can I perform a late capture transaction on a debit card?

Not. Late capture transactions are only allowed on credit cards. Debit card transactions have capture of immediate authorization, not being possible to make the “reservation”.

What modality should a late capture transaction be carried out?

Delayed capture transactions can be carried out in cash or in installments. The same credit card can be used to perform more than one late capture transaction.

What date of the transaction will appear on the bearer's invoice?

The bearer's invoice will include the date of authorization of the late capture transaction.

What rules apply for chargeback being a late capture transaction?

The chargeback rules are the same rules for a card transaction not present in ecommerce, liability remains the responsibility of the establishment.

Can the late capture transaction go through Adiq's Anti-Fraud and 3DS 2.0 tools?

Yes, EC, Whitelabel partner, SAAS or non-platform facilitator who choose to transact via late capture can take advantage of the anti-fraud tools and 3DS 2.0, for which they will need to be integrated with our e-commerce gateway (digital capture).

How does the Partner view late capture transactions in the Admin Portal?

In the admin portal transactions are categorized as pre-authorization (up to 21th day and before the trigger to revert them to late capture) and when late capture actually happens, are categorized as capture.

Is it possible to cancel/reverse a pre-authorized transaction? What is the deadline to cancel?

Yes, just call the transaction cancellation API/endpoint within 21 days of the pre-authorization transaction date. It is important to pay attention to the validity ExpireAt informed in the pre-authorization transaction. If the transaction is not cancelled/captured, the transaction will be rolled back automatically. For example: Transaction was pre-authorized on 01/Jan, it will only be possible to cancel until 22/Jan, on 09/Jan it will not be possible to cancel.

To capture a pre-authorized transaction, what must be sent in the transaction?

Send the paymentId field that was received in the pre-authorization response and the value that will be captured in the request body. It is important to pay attention to the releaseAt expiration date/time informed in the pre-authorization transaction. If the transaction is not captured and sent for authorization/captured, the transaction will be rolled back automatically. For example: Transaction was pre-authorized on 01/Jan at 3:00 PM, it will only be possible to capture until 22/Jan at 2:59 PM, from 22/Jan to 3:00 PM it will not be possible to capture.

API-codes

HTTP Status Code

HTTP Status Code Description
200 OK
400 Bad Request
401 Unauthorized
400 Internal Server Error
api-notificacao