This manual presents the API Antifraude Gateway Braspag integration for separated fraud analysis calls. For joint call integration with other services, see the service manual of interest: Pagador, API Cielo E-commerce, Split Cielo E-commerce or Split Pagador.
Braspag’s Antifraude Gateway is an API REST that offers risk management for your e-commerce with the analysis from the best anti-fraud providers in the world.
The Braspag Antifraude Gateway facilitates the fraud analysis process in your e-commerce, allowing you to:
Anti-fraud providers offer neural network-based tools, non-relational databases, recommendations based on transaction history, behavior and repetitions by time interval, among other functions that make up the fraud analysis model.
When integrating with Antifraude Gateway, you choose which provider(s) you want to analyze your transactions with and which plan.
- Basic (Hierarchy): risk models standardized by the e-commerce industry;
- Advanced: allows proposals for improvements in risk rules and monthly consulting with Cybersource and Braspag;
- Complete (Enterprise): has a dedicated CyberSource risk analyst, who will proactively propose adjustments to the business ruleset in order to improve conversion and reduce chargeback rates.
ACI Worldwide: a global mission-critical software company providing fraud control and prevention as well as real-time payment processing and management for corporations.
In this manual, check the requests and attached tables corresponding to your anti-fraud provider.
The Antifraude Gateway forwards transaction data to an anti-fraud provider for analysis. The providers use technologies such as machine identification, IP geolocation, social network analysis, proxy detection and replay counters. Braspag receives a recommendation from the provider in real time and can then take action based on the risk of fraud identified by the analysis. There are two possible flows for fraud analysis:
*Review status is returned only if included in your plan.
The chosen flow must be determined during integration, because it is part of the application architecture.
If, after integration, you wish to change the fraud analysis flow, you should request Braspag’s support, as there are details involved in a possible change, mainly in relation to speed rules.
Below are some characteristics of each flow, which can help you decide on the best model for your business:
AnalyzeFirst
AuthorizeFirst
Environment | Base URL | Description |
---|---|---|
Braspag OAUTH2 Server | https://authsandbox.braspag.com.br/ | Authentication. |
API Risk | https://risksandbox.braspag.com.br/ | Fraud analysis, query, associate transaction and status update. |
Environment | Base URL | Description |
---|---|---|
Braspag OAUTH2 Server | https://auth.braspag.com.br/ | Authentication |
API Risk | https://risk.braspag.com.br/ | Fraud analysis, query, associate transaction and status update. |
The API Antifraude Gateway Braspag uses the OAuth 2.0 market standard protocol to authorize access to its specific resources by environment, Sandbox and Production.
During onboarding, you will be given the ClientId
and ClientSecret
credentials. If you have not received the credentials, ask Braspag Support.
1. Concatenate the credentials in the ClientId:ClientSecret
form;
2. Convert the result to base64, generating a string;
Example:
- client_id: braspagtestes
- client_secret: 1q2w3e4r5t6y7u8i9o0p0q9w8e7r6t5y4u3i2o1p
- String to encode in Base64: braspagtestes:1q2w3e4r5t6y7u8i9o0p0q9w8e7r6t5y4u3i2o1p
- Result after coding: YnJhc3BhZ3Rlc3RlczoxcTJ3M2U0cjV0Nnk3dThpOW8wcDBxOXc4ZTdyNnQ1eTR1M2kybzFw
3. Send the base64 string in the Authentication request (POST);
4. The Authentication API will validate the string and return the access_token
.
The returned token (access_token
) must be used in every request to the Antifraude Gateway API as an authorization key. The access_token
has a validity of 20 minutes and it is necessary to generate a new one every time the validity expires.
See the image for the authentication flow and the sending of the access_token
in the fraud analysis request.
Parameters on the header
Key | Value |
---|---|
Content-Type |
application/x-www-form-urlencoded |
Authorization |
Basic YnJhc3BhZ3Rlc3RlczoxcTJ3M2U0cg== |
Parameters on the body
Key | Value |
---|---|
scope |
AntifraudGatewayApp |
grant_type |
client_credentials |
{
"access_token": "faSYkjfiod8ddJxFTU3vti_ ... _xD0i0jqcw",
"token_type": "bearer",
"expires_in": 599
}
Parameters on the body
Parameter | Description |
---|---|
access_token |
Requested access token. |
token_type |
Indicates the value of the type of token. |
expires_in |
Access token expiration, in seconds. After it expires, you need to get a new one. |
Below is an example of a fraud analysis request with Cybersource.
Attention: You should only send the
BraspagTransactionId
field if your flow isAuthorizeFirst
and you are using Pagador Braspag. TheBraspagTransactionId
field is the identifier of the transaction in Pagador. Learn more at Pagador documentation.
{
"MerchantOrderId": "4493d42c-8732-4b13-aadc-b07e89732c26",
"TotalOrderAmount": 15000,
"TransactionAmount": 14000,
"Currency": "BRL",
"Provider": "Cybersource",
"BraspagTransactionId":"a3e08eb2-2144-4e41-85d4-61f1befc7a3b",
"Tid": "12345678910111216AB8",
"Nsu": "951852",
"AuthorizationCode":"T12345",
"SaleDate": "2016-12-09 10:01:55.662",
"Card": {
"Number" : "4444555566667777",
"Holder": "Holder Name",
"ExpirationDate": "12/2023",
"Cvv": "999",
"Brand": "VISA"
},
"Billing": {
"Street": "Rua Saturno",
"Number": "12345",
"Complement": "Sala 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "20080123"
},
"Shipping": {
"Street": "Rua Neturno",
"Number": "30000",
"Complement": "sl 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "123456789",
"FirstName": "João",
"LastName": "Silva",
"ShippingMethod": "SameDay",
"Phone": "552121114700"
},
"Customer": {
"MerchantCustomerId": "10050665740",
"FirstName": "João",
"LastName": "Silva",
"BirthDate": "2016-12-09",
"Email": "emailcomprador@dominio.com.br",
"Phone": "552121114700",
"Ip": "127.0.0.1",
"BrowserHostName":"www.dominiobrowsercomprador.com.br",
"BrowserCookiesAccepted":true,
"BrowserEmail":"emailbrowsercomprador@dominio.com.br",
"BrowserType":"Chrome 58 on Windows 10",
"BrowserFingerprint":"123456789"
},
"CartItems": [
{
"ProductName": "Mouse",
"Category": "EletronicGood"
"UnitPrice": "12000",
"Sku": "abc123",
"Quantity": 1,
"Risk":"Low",
"AddressRiskVerify":"No",
"HostHedge":"Low",
"NonSensicalHedge":"Normal",
"ObscenitiesHedge":"High",
"TimeHedge":"Low",
"PhoneHedge":"Normal",
"VelocityHedge":"High"
},
{
"ProductName": "Teclado",
"Category": "EletronicGood"
"UnitPrice": "96385",
"MerchantItemId": "3",
"Sku": "abc456",
"Quantity": 1,
"Risk": "High"
}
],
"MerchantDefinedData": [
{
"Key": "1",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "2",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "3",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
}
],
"Bank":{
"Address": "Rua Marte, 29",
"Code": "237",
"Agency": "987654",
"City": "Rio de Janeiro",
"Country": "BR",
"Name": "Bradesco",
"SwiftCode": "789"
},
"FundTransfer":{
"AccountNumber":"159753",
"AccountName":"Conta particular",
"BankCheckDigit":"51",
"Iban":"123456789"
},
"Invoice":{
"IsGift": false,
"ReturnsAccept": true,
"Tender": "Consumer"
},
"Airline": {
"JourneyType": "OneWayTrip",
"DepartureDateTime": "2018-01-09 18:00",
"Passengers": [
{
"FirstName": "Fulano",
"LastName": "Tal",
"PassangerId": "",
"PassengerType": "Adult",
"Email": "email@mail.com",
"Phone": "1234567890",
"Status": "Gold",
"Legs" : [
{
"ArrivalAirport": "AMS",
"DepartureAirport": "GIG"
}]
}]
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Parameter | Description | Type | Required | Size |
---|---|---|---|---|
MerchantOrderId |
Order number. | string | Yes | 100 |
TotalOrderAmount |
Total order amount in cents. Example: 123456 = R$ 1.234,56 |
long | Yes | - |
TransactionAmount |
Financial transaction amount in cents. Example: 150000 = R$ 1.500,00 |
long | Yes | - |
Currency |
Currency code. More information in ISO 4217 Currency Codes | string | Yes | 3 |
Provider |
Antifraud provider. Table 1 - Provider |
enum | - | - |
BraspagTransactionId |
Transaction ID on Braspag Pagador. Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which authorization happens first. If you do not have an integration with Pagador Braspag, you can send the fields Tdi , Nsu , AuthorizationCode and SaleDate instead of the field BraspagTransactionId . |
guid | No | - |
Tid |
Acquirer transaction id Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which authorization happens first. If you do not have integration with Pagador Braspag, you have the option of sending the Tid accompanied by the fields Nsu , AuthorizationCode and SaleDate instead of the field BraspagTransactionId . |
string | No | 20 |
Nsu |
Unique sequence number of the acquirer transaction Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which the authorization happens first. If you do not have an integration with Pagador Braspag, you have the option of sending the Nsu accompanied by the fields Tid , AuthorizationCode and SaleDate instead of the field BraspagTransactionId . |
string | No | 10 |
AuthorizationCode |
Acquirer transaction authorization code Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which authorization happens first. If you do not have an integration with Pagador Braspag, you have the option of sending the AuthorizationCode , accompanied by the fields Tid , Nsu and SaleDate instead of the field BraspagTransactionId |
string | No | 10 |
SaleDate |
Transaction authorization date at acquirer Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which authorization happens first. If you do not have an integration with Pagador Braspag, you have the option of sending this field, accompanied by the fields Tid , Nsu and AuthorizationCode instead of the field BraspagTransactionId |
datetime | No | - |
Card.Number |
Credit card number. | string | Yes | 19 |
Card.Holder |
Cardholder name printed on credit card. | string | Yes | 50 |
Card.ExpirationDate |
Credit card expiration date. Eg: 01/2023 |
string | Yes | 7 |
Card.Brand |
Credit card brand. Table 3 - Card.Brand |
enum | Yes | - |
Card.Save |
Indicates whether credit card data will be stored in Cartão Protegido. | bool | No | - |
Card.Token |
Credit card identifier saved in Cartão Protegido. | guid | No | - |
Card.Alias |
Alias (nickname) of the credit card saved in Cartão Protegido | string | No | 64 |
Billing.Street |
Billing address. | string | Yes | 54 |
Billing.Number |
Billing address number. | string | Yes | 5 |
Billing.Complement |
Billing address complement. | string | No | 14 |
Billing.Neighborhood |
Billing address neighborhood. | string | Yes | 45 |
Billing.City |
Billing address city. | string | Yes | 50 |
Billing.State |
Billing address state. | string | Yes | 2 |
Billing.Country |
Billing address country. More information at ISO 2-Digit Alpha Country Code | string | Yes | 2 |
Billing.ZipCode |
Billing address postal code. | string | Yes | 9 |
Shipping.Street |
Delivery address address. | string | No | 54 |
Shipping.Number |
Delivery address number. | string | No | 5 |
Shipping.Complement |
Delivery address complement. | string | No | 14 |
Shipping.Neighborhood |
Delivery address neighborhood. | string | No | 45 |
Shipping.City |
Delivery address city. | string | No | 50 |
Shipping.State |
Delivery address status. | string | No | 2 |
Shipping.Country |
Delivery address country. More information atISO 2-Digit Alpha Country Code | string | No | 2 |
Shipping.ZipCode |
Delivery address postal code. | string | No | 9 |
Shipping.FirstName |
First name of person responsible to receive the product at the delivery address. | string | No | 60 |
Shipping.LastName |
Last name of the person responsible to receive the product at the delivery address. | string | No | 60 |
Shipping.Phone |
Telephone number of the person responsible for receiving the product at the delivery address. Eg.: 552121114700 |
string | No | 15 |
Shipping.ShippingMethod |
Order delivery method Table 4 - ShippingMethod |
enum | - | - |
Customer.MerchantCustomerId |
Shopper’s identification document number, CPF or CNPJ | string | Yes | 16 |
Customer.FirstName |
Shopper’s first name. | string | Yes | 60 |
Customer.LastName |
Shopper’s last name. | string | Yes | 60 |
Customer.BirthDate |
Shopper’s birth date. Eg.: 1983-10-01 |
date | Yes | - |
Customer.Email |
Shopper’s email. | string | Yes | 100 |
Customer.Ip |
Shopper’s IP address. IPv4 or IPv6 formats. | string | Yes | 45 |
Customer.Phone |
Shopper’s phone number. Eg.: 552121114700 |
string | Yes | 15 |
Customer.BrowserHostName |
Host name informed by the shopper’s browser and identified through the HTTP header | string | No | 60 |
Customer.BrowserCookiesAccepted |
Identifies whether the shopper’s browser accepts cookies. Possible values: true / false (default) |
bool | - | - |
Customer.BrowserEmail |
Email registered in the shopper’s browser. It can differ from the registration email in the store (Customer.Email ) |
string | No | 100 |
Customer.BrowserType |
Browser name used by the shopper and identified through the HTTP header Eg.: Google Chrome, Mozilla Firefox, Safari etc. |
string | No | 40 |
Customer.BrowserFingerprint |
Identifier used to cross information obtained from the shopper’s device. This same identifier must be used to generate the value that will be assigned to the session_id field of the script that will be included on the checkout page. Note: This identifier can be any value or the order number, but it must be unique for 48 hours. Learn more at Fingerprint with a Cybersource |
string | Yes | 88 |
CartItem[n].ProductName |
Product’s name. | string | Yes | 255 |
CartItem[n].Category |
Product category. Table 36 - CartItem{n}.Category |
enum | - | - |
CartItem[n].Risk |
Product risk level associated with the amount of chargebacks. Table 10 - CartItem{n}.Risk |
enum | - | - |
CartItem[n].UnitPrice |
Product unit price. Eg: 10950 = R$ 109.50 |
long | Yes | - |
CartItem[n].Sku |
Product SKU (Stock Keeping Unit). | string | Yes | 255 |
CartItem[n].Quantity |
Product quantity. | int | Yes | - |
CartItem[n].AddressRiskVerify |
Identifies who will evaluate billing and delivery addresses for different cities, states or countries Table 11 - CartItem{n}.AddressRiskVerify |
enum | - | - |
CartItem[n].HostHedge |
Importance level of shopper’s IP and email addresses in fraud analysis. Table 12 - CartItem{n}.HostHedge |
enum | - | - |
CartItem[n].NonSensicalHedge |
Importance level of the verification of shopper’s non sensical data in fraud analysis. Table 13 - CartItem{n}.NonSensicalHedge |
enum | - | - |
CartItem[n].ObscenitiesHedge |
Importance level of the verification of shopper’s data containing obscenity in fraud analysis. Table 14 - CartItem{n}.ObscenitiesHedge |
enum | - | - |
CartItem[n].TimeHedge |
Importance level of the time in the day that the shopper placed the order for fraud analysis. Table 15 - CartItem{n}.TimeHedge |
enum | - | - |
CartItem[n].PhoneHedge |
Importance level of the verification of shopper’s phone numbers in fraud analysis. Table 16 - CartItem{n}.PhoneHedge |
enum | - | - |
CartItem[n].VelocityHedge |
Importance level of shopper’s buying frequency in the last 15 minutes in fraud analysis. Table 17 - CartItem{n}.VelocityHedge |
enum | - | - |
Bank.Name |
Name of shopper’s bank. | string | No | 40 |
Bank.Code |
Shopper’s bank’s code. | string | No | 15 |
Bank.Agency |
Shopper’s bank agency. | string | No | 15 |
Bank.Address |
Shopper’s bank address. | string | No | 255 |
Bank.City |
City where the shopper’s bank is located. | string | No | 15 |
Bank.Country |
Country where the shopper’s bank is located. More information in ISO 2-Digit Alpha Country Code |
string | No | 2 |
Bank.SwiftCode |
Shopper’s bank unique identifier code. | string | No | 30 |
FundTransfer.AccountName |
Name linked to bank account. | string | No | 30 |
FundTransfer.AccountNumber |
Shopper’s bank account number | string | No | 30 |
FundTransfer.BankCheckDigit |
Code used to validate the shopper’s bank account | string | No | 2 |
FundTransfer.Iban |
Shopper’s international bank account number (IBAN) | string | No | 30 |
Invoice.IsGift |
Indicates whether the order placed by the shopper is a gift. | bool | No | - |
Invoice.ReturnsAccepted |
Indicates whether the order placed by the shopper can be returned to the store. | bool | No | - |
Invoice.Tender |
Payment method used by the shopper. Table 18 - Invoice.Tender |
enum | No | - |
Airline.JourneyType |
Type of journey. Table 7 - Airline.JourneyType |
enun | No | - |
Airline.DepartureDateTime |
Departure date and time. Eg.: 2018-03-31 19:16:38 |
datetime | No | - |
Airline.Passengers[n].FirstName |
Passenger’s first name. | string | No | 60 |
Airline.Passengers[n].LastName |
Passenger’s last name. | string | No | 60 |
Airline.Passengers[n].PassengerId |
Identifier of the passenger to whom the ticket was issued. | string | No | 32 |
Airline.Passengers[n].PassengerType |
Passenger type. Table 8 - Airline.Passengers{n}.PassengerType |
enum | No | - |
Airline.Passengers[n].Phone |
Passenger’s phone number. Eg.: 552121114700 |
string | No | 15 |
Airline.Passengers[n].Email |
Passenger’s email. | string | No | 255 |
Airline.Passengers[n].Status |
Airline rating. Table 9 - Airline.Passengers{n}.Status |
enum | No | 60 |
Airline.Passengers[n].Legs[n].DepartureAirport |
Departure airport code. More information at IATA 3-Letter Codes | string | No | 3 |
Airline.Passengers[n].Legs[n].ArrivalAirport |
Arrival airport code. More information at IATA 3-Letter Codes | string | No | 3 |
CustomConfiguration.Comments |
Comments that the store may associate with fraud analysis. | string | No | 255 |
CustomConfiguration.ScoreThreshold |
Acceptable level of risk for each product. | int | - | - |
MerchantDefinedData[n].Key |
Field key defined with the anti-fraud provider. Table 34 - MerchantDefinedData(Cybersource)) |
int | não | - |
MerchantDefinedData[n].Value |
Field value defined with the anti-fraud provider. Tabela 34 - MerchantDefinedData(Cybersource)) |
var | No | - |
{
"TransactionId": "1eae3d39-a723-e811-80c3-0003ff21d83f",
"Status": "Accept",
"ProviderAnalysisResult": {
"ProviderTransactionId": "5206061832306553904009",
"ProviderStatus": "ACCEPT",
"ProviderCode": "100",
"ProviderRequestTransactionId": "AhjzbwSTGjifFZXHYduJEAFReTUyEoftDpA9+Ehk0kv9Atj2YEBMmAL2",
"AfsReply": {
"reasonCode": "100",
"afsResult": "99",
"hostSeverity": "3",
"consumerLocalTime": "11:36:23",
"afsFactorCode": "D^F^Z",
"addressInfoCode": "COR-BA",
"hotlistInfoCode": "NEG-AFCB^NEG-BA^NEG-CC^NEG-EM^NEG-PEM^NEG-SA^REV-PPH^REV-SUSP",
"internetInfoCode": "FREE-EM^RISK-EM",
"suspiciousInfoCode": "RISK-TB",
"velocityInfoCode": "VEL-NAME",
"scoreModelUsed": "default_lac"
},
"DecisionReply": {
"casePriority": "3",
"activeProfileReply": {},
"velocityInfoCode": "GVEL-R1^GVEL-R2^GVEL-R4^GVEL-R6^GVEL-R7^GVEL-R9"
}
},
"Links": [
{
"Method": "GET",
"Href": "http://localhost:1316/Analysis/v2/1eae3d39-a723-e811-80c3-0003ff21d83f",
"Rel": "Self"
}
]
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
201 Created |
Parameters in the body
Parameter | Description | Type |
---|---|---|
TransactionId |
Transaction ID in the Braspag Antifraude Gateway | guid |
Status |
Transaction status in the Braspag Antifraude Gateway Table 19 - Status |
enum |
ProviderAnalysisResult.ProviderTransactionId |
Transaction ID at Cybersource | string |
ProviderAnalysisResult.ProviderStatus |
Transaction status at Cybersource Table 20 - ProviderStatus |
enum |
ProviderAnalysisResult.ProviderCode |
Cybersource return code Table 21 - ProviderAnalysisResult.ProviderCode |
int |
ProviderAnalysisResult.ProviderRequestTransactionId |
Transaction request ID at Cybersource | string |
ProviderAnalysisResult.Missing |
Missing fields in the request sent to Cybersource | string |
ProviderAnalysisResult.Invalid |
Fields with invalid values sent to Cybersource | string |
ProviderAnalysisResult.AfsReply.AddressInfoCode |
Codes indicate incompatibilities between the shopper’s billing and shipping addresses Codes are concatenated using the ^ character Eg: MM-A^MM-Z Table 22 - ProviderAnalysisResult.AfsReply.AddressInfoCode) |
string |
ProviderAnalysisResult.AfsReply.AfsFactorCode |
Codes that affected the analysis score Codes are concatenated using the ^ character. E.g.: F^P Table 23 - ProviderAnalysisResult.AfsReply.AfsFactorCode |
string |
ProviderAnalysisResult.AfsReply.AfsResult |
Total score calculated for the order | int |
ProviderAnalysisResult.AfsReply.BinCountry |
Country code of the BIN of the card used in the analysis. More information at ISO 2-Digit Alpha Country Code | string |
ProviderAnalysisResult.AfsReply.CardAccountType |
Shopper’s card type [Table 24 - ProviderAnalysisResult.AfsReply.CardAccountType]https://braspag.github.io//en/manual/antifraude#table-24-provideranalysisresult.afsreply.cardaccounttype) |
string |
ProviderAnalysisResult.AfsReply.CardIssuer |
Name of bank or card issuer | string |
ProviderAnalysisResult.AfsReply.CardScheme |
Card brand | string |
ProviderAnalysisResult.AfsReply.ConsumerLocalTime |
Shopper’s local time, calculated from date of request and billing address | string |
ProviderAnalysisResult.AfsReply.HostSeverity |
Shopper’s email domain risk level, from 0 to 5, where 0 is undetermined risk and 5 represents the highest risk | int |
ProviderAnalysisResult.AfsReply.HotListInfoCode |
Codes that indicate that the shopper’s data are associated in positive or negative lists The codes are concatenated using the ^ character. Eg: NEG-AFCB^NEG-CC Table 25 - ProviderAnalysisResult.AfsReply.HotListInfoCode |
string |
ProviderAnalysisResult.AfsReply.IdentityInfoCode |
Codes that indicate excessive identity changes Codes are concatenated using the ^ character. Ex.: COLOR-BA^MM-BIN Table 26 - ProviderAnalysisResult.AfsReply.IdentityInfoCode |
string |
ProviderAnalysisResult.AfsReply.InternetInfoCode |
Codes that indicate problems with the email address, IP address, or billing address Codes are concatenated using the ^ character. Eg: FREE-EM^RISK-EM Table 27 - ProviderAnalysisResult.AfsReply.InternetInfoCode |
string |
ProviderAnalysisResult.AfsReply.IpCity |
Shopper’s city name obtained from IP Address | string |
ProviderAnalysisResult.AfsReply.IpCountry |
Shopper’s country name obtained from IP address | string |
ProviderAnalysisResult.AfsReply.IpRoutingMethod |
Shopper routing method obtained from IP address Table 31 - ProviderAnalysisResult.AfsReply.IpRoutingMethod |
string |
ProviderAnalysisResult.AfsReply.IpState |
Shopper state name obtained from IP address | string |
ProviderAnalysisResult.AfsReply.PhoneInfoCode |
Codes that indicate a problem with the buyer’s phone number Codes are concatenated using the ^ character. Eg: UNV-AC^RISK-AC Table 28 - ProviderAnalysisResult.AfsReply.PhoneInfoCode |
string |
ProviderAnalysisResult.AfsReply.ReasonCode |
Cybersouce return code Table 21 - ProviderAnalysisResult.ProviderCode |
int |
ProviderAnalysisResult.AfsReply.ScoreModelUsed |
Name of the scoring model used in the analysis. If you don’t have any template defined, Cybersource’s default template was used | string |
ProviderAnalysisResult.AfsReply.SuspiciousInfoCode |
Codes indicating that the shopper has potentially provided suspicious information The codes are concatenated using the ^ character. Eg: RISK-TB^RISK-TS Table 29 - ProviderAnalysisResult.AfsReply.SuspiciousInfoCode |
string |
ProviderAnalysisResult.AfsReply.VelocityInfoCode |
Codes that indicate that the buyer has a high frequency of purchases The codes are concatenated using the ^ character. Ex.: VELV-SA^VELI-CC^VELSIP Table 30 - ProviderAnalysisResult.AfsReply.VelocityInfoCode |
string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.BrowserLanguage |
Browser language used by the buyer at the time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.ScreenResolution |
Shopper screen resolution at time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.CookiesEnabled |
Flag identifying that the shopper’s browser was enabled to store cookies temporarily at the time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.FlashEnabled |
Flag identifying that the shopper’s browser enabled the execution of Flash content at the time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.Hash |
Hash generated from the data collected by the fingerprint script | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.ImagesEnabled |
Flag identifying that the shopper’s browser had image caching enabled at the time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.JavascriptEnabled |
Flag identifying that the shopper’s browser had JavaScript scripts enabled at the time of purchase | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddress |
Flag identifying that the shopper’s IP is real | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddressCity |
Flag identifying that the shopper’s IP is actually from the city it should be | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddressCountry |
Flag identifying that the shopper’s IP is in fact from the country it should be | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.SmartId |
Shopper device identifier | string |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.SmartIdConfidenceLevel |
Shopper device identifier | string |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.DestinationQueue |
When verbose mode is enabled, name of the queue where transactions not automatically accepted are sent | string |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.Name |
When verbose mode is enabled, profile name is selected in analysis. If you don’t have any, the default profile has been selected | string |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.SelectedBy |
When verbose mode is enabled, name of the rule selector that selects the rule profiles | string |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].RuleId |
When verbose mode is enabled, rule ID | enum |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Decision |
When verbose mode is enabled, decision made by rule Table 32 - ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered{n}.Decision |
enum |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Evaluation |
When verbose mode is enabled, rule evaluation Table 33 - ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered{n}.Evaluation |
enum |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Name |
When verbose mode is enabled, rule name | string |
ProviderAnalysisResult.DecisionReply.CasePriority |
Sets the priority level for merchant rules or profiles. The priority level varies from 1 (highest) to 5 (lowest) and the default value is 3, and this will be assigned if you have not defined the priority of the rules or profiles. This field will only be returned if the store subscribes to Enhanced Case Management | int |
ProviderAnalysisResult.DecisionReply.VelocityInfoCode |
Information codes triggered by the analysis. These codes were generated when creating the rules | string |
To know the status of a transaction at Cybersource, we recommend that you set up the Notification Post and also do the query by poll, which is presented below:
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
{
"TransactionId": "1eae3d39-a723-e811-80c3-0003ff21d83f",
"Status": "Accept",
"ProviderAnalysisResult": {
"ProviderTransactionId": "5206061832306553904009",
"ProviderStatus": "ACCEPT",
"ProviderCode": "100",
"ProviderRequestTransactionId": "AhjzbwSTGjifFZXHYduJEAFReTUyEoftDpA9+Ehk0kv9Atj2YEBMmAL2",
"AfsReply": {
"reasonCode": "100",
"afsResult": "99",
"hostSeverity": "3",
"consumerLocalTime": "11:36:23",
"afsFactorCode": "D^F^Z",
"addressInfoCode": "COR-BA",
"hotlistInfoCode": "NEG-AFCB^NEG-BA^NEG-CC^NEG-EM^NEG-PEM^NEG-SA^REV-PPH^REV-SUSP",
"internetInfoCode": "FREE-EM^RISK-EM",
"suspiciousInfoCode": "RISK-TB",
"velocityInfoCode": "VEL-NAME",
"scoreModelUsed": "default_lac"
},
"DecisionReply": {
"casePriority": "3",
"activeProfileReply": {},
"velocityInfoCode": "GVEL-R1^GVEL-R2^GVEL-R4^GVEL-R6^GVEL-R7^GVEL-R9"
}
},
"Links": [
{
"Method": "GET",
"Href": "http://localhost:1316/Analysis/v2/1eae3d39-a723-e811-80c3-0003ff21d83f",
"Rel": "Self"
}
],
"MerchantOrderId": "4493d42c-8732-4b13-aadc-b07e89732c26",
"TotalOrderAmount": 15000,
"TransactionAmount": 14000,
"Currency": "BRL",
"Provider": "Cybersource",
"BraspagTransactionId":"a3e08eb2-2144-4e41-85d4-61f1befc7a3b",
"Card": {
"Number" : "4444555566667777",
"Holder": "Holder Name",
"ExpirationDate": "12/2023",
"Cvv": "999",
"Brand": "VISA"
},
"Billing": {
"Street": "Rua Saturno",
"Number": "12345",
"Complement": "Sala 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "20080123"
},
"Shipping": {
"Street": "Rua Neturno",
"Number": "30000",
"Complement": "sl 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "123456789",
"FirstName": "João",
"LastName": "Silva",
"ShippingMethod": "SameDay",
"Phone": "552121114700"
},
"Customer": {
"MerchantCustomerId": "10050665740",
"FirstName": "João",
"LastName": "Silva",
"BirthDate": "2016-12-09",
"Email": "emailcomprador@dominio.com.br",
"Phone": "552121114700",
"Ip": "127.0.0.1",
"BrowserHostName":"www.dominiobrowsercomprador.com.br",
"BrowserCookiesAccepted":true,
"BrowserEmail":"emailbrowsercomprador@dominio.com.br",
"BrowserType":"Chrome 58 on Windows 10"
},
"CartItems": [
{
"ProductName": "Mouse",
"Category": "EletronicGood",
"UnitPrice": "12000",
"Sku": "abc123",
"Quantity": 1,
"Risk":"Low",
"AddressRiskVerify":"No",
"HostHedge":"Low",
"NonSensicalHedge":"Normal",
"ObscenitiesHedge":"High",
"TimeHedge":"Low",
"PhoneHedge":"Normal",
"VelocityHedge":"High"
},
{
"ProductName": "Teclado",
"Category": "EletronicGood",
"UnitPrice": "96385",
"MerchantItemId": "3",
"Sku": "abc456",
"Quantity": 1,
"Risk": "High"
}
],
"MerchantDefinedData": [
{
"Key": "1",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "2",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "3",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
}
],
"Bank":{
"Address": "Rua Marte, 29",
"Code": "237",
"Agency": "987654",
"City": "Rio de Janeiro",
"Country": "BR",
"Name": "Bradesco",
"SwiftCode": "789"
},
"FundTransfer":{
"AccountNumber":"159753",
"AccountName":"Conta particular",
"BankCheckDigit":"51",
"Iban":"123456789"
},
"Invoice":{
"IsGift": false,
"ReturnsAccept": true,
"Tender": "Consumer"
},
"Airline": {
"JourneyType": "OneWayTrip",
"DepartureDateTime": "2018-01-09 18:00",
"Passengers": [
{
"FirstName": "Fulano",
"LastName": "Tal",
"PassangerId": "",
"PassengerType": "Adult",
"Email": "email@mail.com",
"Phone": "1234567890",
"Status": "Gold",
"Legs" : [
{
"ArrivalAirport": "AMS",
"DepartureAirport": "GIG"
}]
}]
}
}
Parameter in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
200 OK |
Parameters in the body
Parameter | Description | Type | |
---|---|---|---|
TransactionId |
Transaction ID in the Braspag Antifraude Gateway | guid | |
Status |
Transaction status in the Braspag Antifraude Gateway Table 19 - Status |
enum | |
ProviderAnalysisResult.ProviderTransactionId |
Transaction ID at Cybersource | string | |
ProviderAnalysisResult.ProviderStatus |
Transaction status at Cybersource Table 20 - ProviderStatus |
enum | |
ProviderAnalysisResult.ProviderCode |
Cybersource return code Table 21 - Provider Analysis Result.Provider Code |
int | |
ProviderAnalysisResult.ProviderRequestTransactionId |
Transaction request ID at Cybersource | string | |
ProviderAnalysisResult.Missing |
Missing fields in the request sent to Cybersource | string | |
ProviderAnalysisResult.Invalid |
Fields with invalid values sent to Cybersource | string | |
ProviderAnalysisResult.AfsReply.AddressInfoCode |
Codes indicate incompatibilities between the shopper’s billing and delivery addresses The codes are concatenated using the ^ character Eg: MM-A^MM-Z Table 22 - ProviderAnalysisResult.AfsReply.AddressInfoCode |
string | |
ProviderAnalysisResult.AfsReply.AfsFactorCode |
Codes that affected the analysis score Codes are concatenated using the ^ character. E.g.: F^P Table 23 - ProviderAnalysisResult.AfsReply.AfsFactorCode |
string | |
ProviderAnalysisResult.AfsReply.AfsResult |
Total score calculated for the order | int | |
ProviderAnalysisResult.AfsReply.BinCountry |
Country code of the BIN of the card used in the analysis. More information at ISO 2-Digit Alpha Country Code | string | |
ProviderAnalysisResult.AfsReply.CardAccountType |
Shopper’s card type Table 24 - ProviderAnalysisResult.AfsReply.CardAccountType |
string | |
ProviderAnalysisResult.AfsReply.CardIssuer |
Name of bank or card issuer | string | |
ProviderAnalysisResult.AfsReply.CardScheme |
Card brand | string | |
ProviderAnalysisResult.AfsReply.ConsumerLocalTime |
Shopper’s local time, calculated from date of request and billing address | string | |
ProviderAnalysisResult.AfsReply.HostSeverity |
Shopper’s email domain risk level, from 0 to 5, where 0 is undetermined risk and 5 represents the highest risk | int | |
ProviderAnalysisResult.AfsReply.HotListInfoCode |
Codes that indicate that the shopper’s data are associated in positive or negative lists The codes are concatenated using the ^ character. Eg: NEG-AFCB^NEG-CC [Table 25 - ProviderAnalysisResult.AfsReply.HotListInfoCode]https://braspag.github.io//en/manual/antifraude#table-25-provideranalysisresult.afsreply.hotlistinfocode) |
string | |
ProviderAnalysisResult.AfsReply.IdentityInfoCode |
Codes that indicate excessive identity changes Codes are concatenated using the ^ character. Eg: COR-BA^MM-BIN Table 26 - ProviderAnalysisResult.AfsReply.IdentityInfoCode |
string | |
ProviderAnalysisResult.AfsReply.InternetInfoCode |
Codes that indicate problems with the email address, IP address, or billing address Codes are concatenated using the ^ character. Eg: COR-BA^MM-BIN Table 27 - ProviderAnalysisResult.AfsReply.InternetInfoCode |
string | |
ProviderAnalysisResult.AfsReply.IpCity |
Shopper city name obtained from IP Address | string | |
ProviderAnalysisResult.AfsReply.IpCountry |
Shopper country name obtained from IP address | string | |
ProviderAnalysisResult.AfsReply.IpRoutingMethod |
Shopper routing method obtained from IP address Table 31 - ProviderAnalysisResult.AfsReply.IpRoutingMethod |
string | |
ProviderAnalysisResult.AfsReply.IpState |
Nome do estado do comprador obtido a partir do endereço de IP | string | |
ProviderAnalysisResult.AfsReply.PhoneInfoCode |
Códigos que indicam um problema com o número de telefone do comprador Os códigos são concatenados usando o caracter ^. Ex.: UNV-AC^RISK-AC Tabela 28 - ProviderAnalysisResult.AfsReply.PhoneInfoCode |
string | |
ProviderAnalysisResult.AfsReply.ReasonCode |
Cybersource return code Table 21 - Provider Analysis Result.Provider Code |
int | |
ProviderAnalysisResult.AfsReply.ScoreModelUsed |
Name of the scoring model used in the analysis. If you don’t have any template defined, Cybersource’s default template was used | string | |
ProviderAnalysisResult.AfsReply.SuspiciousInfoCode |
Codes indicating that the shopper has potentially provided suspicious information The codes are concatenated using the ^ character. Eg: RISK-TB^RISK-TS Table 29 - ProviderAnalysisResult.AfsReply.SuspiciousInfoCode |
string | |
ProviderAnalysisResult.AfsReply.VelocityInfoCode |
Codes that indicate that the shopper has a high frequency of purchases The codes are concatenated using the ^ character. Eg: VELV-SA^VELI-CC^VELSIP Table 30 - ProviderAnalysisResult.AfsReply.VelocityInfoCode |
string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.BrowserLanguage |
Browser language used by the shopper at the time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.ScreenResolution |
Shopper screen resolution at time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.CookiesEnabled |
Flag identifying that the shopper’s browser was enabled to store cookies temporarily at the time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.FlashEnabled |
Flag identifying that the shopper’s browser enabled the execution of Flash content at the time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.Hash |
Hash generated from the data collected by the fingerprint script | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.ImagesEnabled |
Flag identifying that the shopper’s browser had image caching enabled at the time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.JavascriptEnabled |
Flag identifying that the shopper’s browser had JavaScript scripts enabled at the time of purchase | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddress |
Flag identifying that the shopper’s IP is real | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddressCity |
Flag identifying that the shopper’s IP is actually from the city it should be | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.TrueIPAddressCountry |
Flag identifying that the shopper’s IP is in fact from the country it should be | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.SmartId |
Shopper device identifier | string | |
ProviderAnalysisResult.AfsReply.DeviceFingerprint.SmartIdConfidenceLevel |
Shopper device identifier | string | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.DestinationQueue |
When verbose mode is enabled, name of the queue where transactions not automatically accepted are sent | string | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.Name |
When verbose mode is enabled, name of profile selected in analysis. If you don’t have any, the default profile has been selected | string | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.SelectedBy |
When verbose mode is enabled, name of the rule selector that selects the rules profile | string | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].RuleId |
When verbose mode is enabled, rule Id | enum | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Decision |
When verbose mode is enabled, decision taken by rule Table 30 - ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered{n}.Decision |
enum | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Evaluation |
When verbose mode is enabled, rule evaluation Table 33 - ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered{n}.Evaluation |
enum | |
ProviderAnalysisResult.DecisionReply.ActiveProfileReply.RulesTriggered[n].Name |
When verbose mode is enabled, rule name | string | |
ProviderAnalysisResult.DecisionReply.CasePriority |
Sets the priority level for merchant rules or profiles. The priority level varies from 1 (highest) to 5 (lowest) and the default value is 3, and this will be assigned if you have not defined the priority of the rules or profiles. This field will only be returned if the store subscribes to Enhanced Case Management | string | |
ProviderAnalysisResult.DecisionReply.VelocityInfoCode |
Information codes triggered by the analysis. These codes were generated when creating the rules | string | |
MerchantOrderId |
Store order number | string | |
TotalOrderAmount |
Total order value in cents Eg: 123456 = BRL 1,234.56 |
long | |
TransactionAmount |
Value of the financial transaction in cents Eg: 150000 = R$ 1,500.00 |
long | |
Currency |
Currency. More information in ISO 4217 Currency Codes | string | |
Provider |
Anti-fraud solution provider Table 1 - Provider |
enum | |
BraspagTransactionId |
Transaction ID in Braspag Pagador | guid | |
Tid |
Transaction ID at acquirer | string | |
Nsu |
Unique sequential number of the transaction at the acquirer |
string | |
AuthorizationCode |
Acquirer transaction authorization code |
string | |
SaleDate |
Transaction authorization date at the acquirer |
datetime | |
Card.Number |
Credit card number | string | |
Card.Holder |
Holder name | string | |
Card.ExpirationDate |
Credit card expiration date Ex.: 01/2023 |
string | |
Card.Brand |
Credit card brand Table 3 - Card.Brand |
enum | |
Card.Save |
Indicates whether credit card data will be stored on the Cartão Protegido | bool | |
Card.Token |
Credit card token saved on the Cartão Protegido | guid | |
Card.Alias |
Credit card alias saved on the Cartão Protegido | string | |
Billing.Street |
Billing address street | string | |
Billing.Number |
Billing address number | string | |
Billing.Complement |
Billing address complement | string | |
Billing.Neighborhood |
Billing address neighborhood | string | |
Billing.City |
Billing address city | string | |
Billing.State |
Billing address state | string | |
Billing.Country |
Billing address country. More information on ISO 2-Digit Alpha Country Code | string | |
Billing.ZipCode |
Billing address zipcode | string | |
Shipping.Street |
Shipping address street | string | |
Shipping.Number |
Shipping address number | string | |
Shipping.Complement |
Shipping address complement | string | |
Shipping.Neighborhood |
Shipping address neighborhood | string | |
Shipping.City |
Shipping address city | string | |
Shipping.State |
Shipping address state | string | |
Shipping.Country |
Shipping address country. More information on ISO 2-Digit Alpha Country Code | string | |
Shipping.ZipCode |
Shipping address zipcode | string | |
Shipping.FirstName |
First name of person in charge of receiving product at shipping address | string | |
Shipping.LastName |
Last name of the person in charge of receiving the product at the shipping address | string | |
Shipping.Phone |
Telephone number of the person in charge of receiving the product at the shipping address Eg.: 552121114700 |
string | |
Shipping.ShippingMethod |
Order delivery method Table 4 - ShippingMethod |
enum | |
Customer.MerchantCustomerId |
Customer document number, CPF or CNPJ | string | |
Customer.FirstName |
Customer first name | string | |
Customer.LastName |
Customer last name | string | |
Customer.BirthDate |
Customer birthdate Eg.: 1983-10-01 |
date | |
Customer.Email |
Customer email | string | |
Customer.Ip |
Customer IP address | string | |
Customer.Phone |
Customer telephone number Ex.: 552121114700 |
string | |
Customer.BrowserHostName |
Host name entered by the customer’s browser and identified through the HTTP header | string | |
Customer.BrowserCookiesAccepted |
Identifies whether the customer’s browser accepts cookies or not | bool | |
Customer.BrowserEmail |
E-mail registered in the customer’s browser. Can differ from merchant email (Customer.Email ) |
string | |
Customer.BrowserType |
Name of the browser used by the customer and identified through the HTTP header | string | |
CartItem[n].ProductName |
Product name | string | |
CartItem[n].Category |
Product category Table 36 - CartItem{n}.Category |
enum | |
CartItem[n].Risk |
Product risk level associated with the amount of chargebacks Table 10 - CartItem{n}.Risk |
enum | |
CartItem[n].UnitPrice |
Product unit price Eg: 10950 = R$ 109.50 |
long | |
CartItem[n].Sku |
Product Sku | string | |
CartItem[n].Quantity |
Product quantity | int | |
CartItem[n].AddressRiskVerify |
Identifies that it will evaluate billing and delivery addresses for different cities, states or countries Table 11 - CartItem{n}.AddressRiskVerify |
enum | |
CartItem[n].HostHedge |
Level of importance of shopper’s IP and email addresses in fraud analysis Table 12 - CartItem{n}.HostHedge |
enum | |
CartItem[n].NonSensicalHedge |
Level of importance of meaningless shopper data checks in fraud analysis Table 13 - CartItem{n}.NonSensicalHedge |
enum | |
CartItem[n].ObscenitiesHedge |
Importance level of obscenity shopper data checks in fraud analysis Table 14 - CartItem{n}.ObscenitiesHedge |
enum | |
CartItem[n].TimeHedge |
Level of importance of the time of day in the fraud analysis that the shopper placed the order Table 15 - CartItem{n}.TimeHedge |
enum | |
CartItem[n].PhoneHedge |
Level of importance of checks on shopper phone numbers in fraud analysis Table 16 - CartItem{n}.PhoneHedge |
enum | |
CartItem[n].VelocityHedge |
Importance level of the shopper’s purchase frequency in the fraud analysis within the previous 15 minutes Table 17 - CartItem{n}.VelocityHedge |
enum | |
Bank.Name |
Shopper’s bank name | string | |
Bank.Code |
Shopper’s bank code | string | |
Bank.Agency |
Shopper’s bank agency | string | |
Bank.Address |
Shopper’s bank address | string | |
Bank.City |
Shopper’s bank city | string | |
Bank.Country |
Shopper’s bank city More information on ISO 2-Digit Alpha Country Code |
string | |
Bank.SwiftCode |
Shopper’s bank swift code | string | |
FundTransfer.AccountName |
Name linked to bank account | string | |
FundTransfer.AccountNumber |
Customer’s bank account number | string | |
FundTransfer.BankCheckDigit |
Code used to validate customer’s bank account | string | |
FundTransfer.Iban |
Customer’s International Bank Account Number (IBAN) | string | |
Invoice.IsGift |
Indicates whether the order placed by the customer is for gift | bool | |
Invoice.ReturnsAccepted |
Indicates whether the order placed by the customer can be returned to the merchant | bool | |
Invoice.Tender |
Payment method used by the customer Table 18 - Invoice.Tender |
enum | |
Airline.JourneyType |
Journey type Table 7 - Airline.JourneyType |
enun | |
Airline.DepartureDateTime |
Departure datetime Ex.: 2018-03-31 19:16:38 |
datetime | |
Airline.Passengers[n].FirstName |
Passenger first name | string | |
Airline.Passengers[n].LastName |
Passenger last name | string | |
Airline.Passengers[n].PassengerId |
Identifier of the passenger to whom the ticket was issued | string | |
Airline.Passengers[n].PassengerType |
Passenger type Table 9 - Airline.Passengers{n}.PassengerType |
enum | |
Airline.Passengers[n].Phone |
Passenger telephone number Ex.: 552121114700 |
string | |
Airline.Passengers[n].Email |
Passenger email | string | |
Airline.Passengers[n].Status |
Airline classification Table 10 - Airline.Passengers{n}.Status |
enum | |
Airline.Passengers[n].Legs[n].DepartureAirport |
Departure airport code. More information on IATA 3-Letter Codes | string | |
Airline.Passengers[n].Legs[n].ArrivalAirport |
Arrival airport code. More information on IATA 3-Letter Codes | string | |
CustomConfiguration.Comments |
Comments that the merchant may associate fraud analysis | string | |
CustomConfiguration.ScoreThreshold |
Acceptable level of risk for each product | int | |
MerchantDefinedData[n].Key |
Field key set against antifraud provider [Table 37 - MerchantDefinedData(Cybersource)](https://braspag.github.io//en/manual/antifraude#table-34-merchantdefineddata-(cybersource) |
int | |
MerchantDefinedData[n].Value |
Field value set against antifraud provider Table 37 - MerchantDefinedData(Cybersource) |
var |
In case of manual review by the e-commerce itself, we recommend that the result of the review (new status) be sent to Cybersource in order to refine the fraud analysis process of your store.
Follow the example request below to change the status of transactions:
To request the status update you must generate the access token (access_token) and send it in the request header.
{
"Status": "Accept",
"Comments": "Dados do cliente OK"
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Parameter | Description | Type | Required | Size |
---|---|---|---|---|
Status |
New transaction status. Accept or Reject | string | Yes | - |
Comments |
Comment associated with status change | string | No | 255 |
{
"Status": "Accept",
"ChangeStatusResponse": {
"Status": "OK",
"Message": "Change Status request successfully received. New status: Accept."
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
200 OK |
Parameters in the body
Parameter | Description | |
---|---|---|
Status |
New transaction status | string |
ChangeStatusResponse.Status |
Identifies that Cybersource received the status change request | string |
ChangeStatusResponse.Message |
Message containing content of the operation performed | string |
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
404 Not Found |
Key | Value |
---|---|
Content-Type |
application/json |
Status |
400 Bad Request |
Key | Value |
---|---|
Content-Type |
application/json |
Status |
400 Bad Request |
{
"Message": "The request is invalid.",
"ModelState": {
"request.Status": [
"Error converting value \"Review\" to type 'Antifraude.Domain.Enums.StatusType'. Path 'Status', line 2, position 16."
],
"request.Comments": [
"The field Comments must be a string or array type with a maximum length of '255'."
]
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
400 Bad Request |
Parameters in the body
Parameter | Description |
---|---|
Message |
Message informing that the request is invalid |
ModelState |
Collection that will contain messages with fields that do not conform to the type, domain or size as specified in the manual |
The Fingerprint is the digital identification of the shopper’s device. This identification is made up of a series of data collected on the checkout page of the website or application, such as:
Fingerprint identifies the device used per browsing session and persists for approximately 24 hours. If the page is closed and the shopper returns to the site by opening a new page, or if you close the application and open it again, you must generate a new session and a new session ID.
The Fingerprint is important for fraud analysis because, often, only the cart data is not enough to guarantee an assertive analysis. The data collected by Fingerprint complements the analysis and increases the security of your store.
For analysis via Cybersource, Fingerprint is created before the fraud analysis request by Threatmetrix, the company that identifies the device.
To establish communication between your checkout page and Threatmetrix and send the shopper’s data, you need to insert a Fingerprint code in your e-commerce; read more about it at How to set up Fingerprint in Cybersource?
Fingerprint creation takes place separately from the fraud analysis request.
See the representation of the Fingerprint creation flow and fraud analysis request:
Fingerprint creation step
Fraud analysis step
Customer.BrowserFingerprint
field to the Antifraude Gateway;In the fraud analysis request with Cybersource, the value of the Customer.BrowserFingerprint
field will be the ProviderIdentifier
, which must be generated by the e-commerce.
Note that the value of this field is not the Fingerprint itself, but an indication of the Fingerprint of the transaction. This indication will be used by Cybersource to query the Fingerprint in the device identification service and thus use it to compose the fraud analysis.
Fingerprint consists of implementing a script on your checkout page (front-end), in the part where the shopper fills in the registration data.
Fingerprint configuration will be different for each type of client application (web, Android or iOS), but the variables used are the same; see the table with Fingerprint variables.
The following table presents the Fingerprint configuration variables with Threatmetrix and Cybersource.
VARIABLE | DESCRIPTION | VALUE | FORMAT | SIZE |
---|---|---|---|---|
org_id |
Indicates the environment in Threatmetrix: Sandbox or Production. | Sandbox = 1snn5n9w Production = k8vif92e |
String | 08 |
ProviderMerchantId |
Identifier of the merchant or operation, provided by Braspag, in the format braspag_nameofmerchant. This is different from MerchantId. |
Provided by Braspag after contracting. | String | 30 |
ProviderIdentifier |
Variable you must generate to identify the session. We recommend using a GUID. It is the value that will be sent in the Customer.BrowserFingerprint field. |
Custom | GUID or String, in which integer, uppercase or lowercase letter, hyphen and “_” (underscore) are accepted. | 88 |
session_id (for web) |
Concatenation of ProviderMerchantId and ProviderIdentifier variables. |
Custom | ProviderMerchantIdProviderIdentifier |
118 |
MyVariable (for mobile) |
Concatenation of ProviderMerchantId and ProviderIdentifier variables. |
Custom | ProviderMerchantIdProviderIdentifier |
118 |
You will need to insert a JavaScript script in the front-end code of your checkout page.
The Threatmetrix URL will be inserted in the script and therefore must be filled in correctly.
The Threatmetrix URL template is https://h.online-metrix.net/fp/tags.js?org_id=OrgId&session_id=ProviderMerchantIdProviderIdentifier
In the URL, replace the OrgId
, ProviderMerchantId
and ProviderIdentifier
values as directed in the Threatmetrix URL Variables table.
Insert the URL filled in step 1 into the script
and noscript
tags of the JavaScript template.
The JavaScript model is represented in the following image.
Access our GitHub to view and copy the JavaScript template.
script
tag inside the head
tag for correct performance:<head
>
<script type="text/javascript" src="https://h.online-metrix.net/fp/tags.js?org_id=ProviderOrgId&session_id=ProviderMerchantIdProviderIdentifier"></script
>
</head
>
noscript
tag inside the body
tag, so that the device data collection is carried out even if the browser’s JavaScript is disabled. The noscript
tag is a redundancy to collaborate with data collection.<body
>
<noscript
>
<iframe style="width: 100px; height: 100px; border: 0; psition:absolute; top: -5000px;" src="https://h.online-metrix.net/fp/tags?org_id=ProviderOrgId&session_id=ProviderMerchantIdProviderIdentifier"
></iframe
>
</noscript
>
</body
>
Insert the Javascript with tags (step 2) into the front-end code of your checkout page.
You must put the code at checkout, in the part of filling in the registration data. Thus, the data that make up the Fingerprint will be collected while the shopper fills in the form.
In the fraud analysis request, send only the value
ProviderIdentifier
in theCustomer.BrowserFingerprint
field.
Download the Android SDK.
Then add the SDK to your project.
Add the libraries and dependencies to the project:
In Manifest, you must include the following permissions:
<uses-permission android:name="android.permission.INTERNET"
>
</uses-permission
>
Import the following libraries:
You must parameterize the SDK with the following parameters:
TMXConfig config = new TMXConfig()
.setOrgId("OrgId")
In the “OrgId” field, indicate the value corresponding to the environment in the Threatmetrix:
.setFPServer("h.online-metrix.net")
.setContext(getApplicationContext());
.setTimeout(20, TimeUnit.SECONDS)
TMXProfiling.getInstance().init(config);
The ProviderMerchantId
value must be concatenated with the ProviderIdentifier
variable (defined by your e-commerce) to create the session identification (MyVariable
).
MyVariable
= ProviderMerchantId
+ ProviderIdentifier
Example:
MyVariable
= braspag_XXXX
+ ProviderIdentifier
In the fraud analysis request, send only the value
ProviderIdentifier
in theCustomer.BrowserFingerprint
field. If theProviderIdentifier
generated by your e-commerce is “202201080949”, in the fieldCustomer.BrowserFingerprint
send the value “202201080949”.
Implement Profiling with EndNotifier.
TMXProfilingOptions options = new TMXProfilingOptions().setCustomAttributes(null);options.setSessionID(MyVariable)
TMXProfilingHandle profilingHandle = TMXProfiling.getInstance().profile(options,new CompletionNotifier());
class CompletionNotifier implements TMXEndNotifier
{
Override public void complete(TMXProfilingHandle.Result result)
{ // Once Profile is done. Check the status code in the results dictionary, and use the session Id in the API.
}
}
Download the Cybersource support material .
Download the iOS SDK.
Then add the SDK to your project.
Add the following libraries and dependencies to your project:
Parameterize the SDK with the following parameters:
self.profile.configure(configData:[
RLTMXOrgID : "OrgID",
In the “OrgID” field, indicate the value corresponding to the environment in the Threatmetrix:
RLTMXFingerprintServer : "h.online-metrix.net",
RLTMXProfileTimeout : self.profileTimeout,
RLTMXLocationServices : true,
RLTMXProfilingConnectionsInstance : profilingConnections,
])
The ProviderMerchantId
value must be concatenated with the ProviderIdentifier
variable (defined by e-commerce) to create the session identification (MyVariable
).
MyVariable
= ProviderMerchantId
+ ProviderIdentifier
Example:
MyVariable
= braspag_XXXX
+ ProviderIdentifier
self.profile.sessionID
= @”MyVariable
”
In the fraud analysis request, send only the value
ProviderIdentifier
in theCustomer.BrowserFingerprint
field. If theProviderIdentifier
generated by your e-commerce is “202201080949”, in the fieldCustomer.BrowserFingerprint
send the value “202201080949”.
Add the doProfileRequest() function to your application and specify the following options:
let profileHandle: RLTMXProfileHandle =
self.profile.profileDevice(profileOptions:[RLTMXCustomAttributes: [],
RLTMXSessionID: [MyVariable], callbackBlock:{(result: [AnyHashable : Any]?) -> Void in
Download the Cybersource support material.
When your antifraude provider is ACI Worldwide, send the value “RedShield” in the Provider
field.
{
"MerchantOrderId": "4493d42c-8732-4b13-aadc-b07e89732c26",
"TotalOrderAmount": 15000,
"TransactionAmount": 14000,
"Currency": "BRL",
"Provider": "RedShield",
"OrderDate": "2016-12-09 12:35:58.852",
"BraspagTransactionId":"a3e08eb2-2144-4e41-85d4-61f1befc7a3b",
"Tid": "12345678910111216AB8",
"Nsu": "951852",
"AuthorizationCode":"T12345",
"SaleDate": "2016-12-09 10:01:55.662",
"SplitingPaymentMethod": "None",
"IsRetryTransaction": false,
"Card": {
"Number" : "4444555566667777",
"Holder": "Holder Name",
"ExpirationDate": "12/2023",
"Cvv": "999",
"Brand": "VISA",
"EciThreeDSecure": "5"
},
"Billing": {
"Street": "Rua Neturno",
"Number": "12345",
"Complement": "Sala 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "20080123"
},
"Shipping": {
"Street": "Rua Saturno",
"Number": "30000",
"Complement": "sl 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "123456789",
"Email": "emailentrega@dominio.com.br",
"FirstName": "João",
"MiddleName": "P",
"LastName": "Silvao",
"ShippingMethod": "SameDay",
"Phone": "552121114700",
"WorkPhone": "552121114721",
"Mobile": "5521998765432",
"Comment": "Em frente ao 322"
},
"Customer": {
"MerchantCustomerId": "10050665740",
"FirstName": "João",
"MiddleName": "P",
"LastName": "Silva",
"BirthDate": "1983-10-01",
"Gender": "Male",
"Email": "emailcomprador@dominio.com.br",
"Phone": "552121114700",
"WorkPhone": "552121114721",
"Mobile": "5521998765432",
"Ip": "127.0.0.1",
"BrowserFingerprint": "04003hQUMXGB0poNf94lis1ztuLYRFk+zJ17aP79a9O8mWOBmEnKs6ziAo94ggAtBvKEN6/FI8Vv2QMAyHLnc295s0Nn8akZzRJtHwsEilYx1P+NzuNQnyK6+7x2OpjJZkl4NlfPt7h9d96X/miNlYT65UIY2PeH7sUAh9vKxMn1nlPu2MJCSi12NBBoiZbfxP1Whlz5wlRFwWJi0FRulruXQQGCQaJkXU7GWWZGI8Ypycnf7F299GIR12G/cdkIMFbm6Yf0/pTJUUz1vNp0X2Zw8QydKgnOIDKXq4HnEqNOos1c6njJgQh/4vXJiqy0MXMQOThNipDmXv9I185O+yC2f3lLEO0Tay66NZEyiLNePemJKSIdwO9O5ZtntuUkG6NTqARuHStXXfwp8cyGF4MPWLuvNvEfRkJupBy3Z8hSEMEK7ZWd2T2HOihQxRh4qp+NANqYKBTl3v6fQJAEKikeSQVeBN8sQqAL0BZFaIMzbrnMivi6m6JRQUIdvEt+MbJEPFc0LjRycC5ApUmJO+Aoo9VKL1B8ftMSQ1iq1uTKn16ZOmDpzZrZhMPbH83aV0rfB2GDXcjpghm9klVFOw7EoYzV7IDBIIRtgqG9KZ+8NH/z6D+YNUMLEUuK1N2ddqKbS5cKs2hplVRjwSv7x8lMXWE7VDaOZWB8+sD1cMLQtEUC0znzxZ4bpRaiSy4dJLxuJpQYAFUrDlfSKRv/eHV3QiboXLuw9Lm6xVBK8ZvpD5d5olGQdc+NgsqjFnAHZUE+OENgY4kVU9wB84+POrI4MkoD4iHJ5a1QF8AZkZDFo1m1h9Bl+J2Ohr6MkBZq8DG5iVaunHfxUdHou5GL7lS1H7r+8ctfDXi8AfOPjzqyODJQ74Aiel35TKTOWG8pq1WO6yzJ1GNmMuMWZBamlGXoG/imnjwHY9HQtQzpGfcm0cR8X2Fd1ngNFGLDGZlWOX0jWtOwU6XVGT37JFD9W/cx4kzI+mPNi65X5WFPYlDG9N0Lbh5nOj3u3DXqRCiKCUrsEkMt8z9fxO9pLLGVQUKIYR2wTw53CiWK96FOpPevDWtH2XR0QkfOd02D73n81x6hEMCy0s3hRLn08Th9FlNHDMJBqLj+Tz8rG2TtNki3mJC7Ass1MT2qnKBI77n6vsQkAp59TfbZm/tBXwAoYdLJXge8F/numhd5AvQ+6I8ZHGJfdN3qWndvJ2I7s5Aeuzb8t9//eNsm73fIa05XreFsNyfOq1vG2COftC6EEsoJWe5h5Nwu1x6PIKuCaWxLY+npfWgM0dwJPmSgPx7TNM31LyVNS65m83pQ+qMTRH6GRVfg7HAcS5fnS/cjdbgHxEkRmgkRq1Qs48sbX9QC8nOTD0ntb6FcJyEOEOVzmJtDqimkzDq+SXR1/63AYe4LEj+ogRgN+Z8HAFhGFzd/m6snVviELfRqJ4LLQIk9Y/fzqnsF6I5OGxfdT2sxxK2Vokpi3jWhCcEknw7dYlHYpOnCHZO7QVgjQTngF2mzKf4GeOF4ECFsWTgLy6HFEitfauYJt1Xh1NfZZerBMwXLFzdhzoTQxGlcXc8lZIoEG1BLYv/ScICf8Ft9PEtpEa+j0cDSlU99UoH2xknwR1W9MRGc5I/euE63/IMJTqguZ3YcnJpjSVnAGSpyz/0gKjypJ3L86rHFRGXt0QbmaXtSl2UmmjI0p0LCCdx7McatCFEVI6FwPpPV0ZSMv/jM75eBid1X/lTV4XNzjowzR/iFlKYMzHZtVO9hCBPKlTwblRXNn4MlvNm/XeSRQ+Mr0YV5w5CL5Z/tGyzqnaLPj/kOVdyfj8r2m5Bcrz4g/ieUIo8qRFv2T2mET46ydqaxi27G4ZYHj7hbiaIqTOxWaE07qMCkJw==",
"Status": "NEW"
},
"CartItems": [
{
"ProductName": "Mouse",
"UnitPrice": "6500",
"MerchantItemId": "4",
"Sku": "abc123",
"Quantity": 1,
"OriginalPrice": "7000",
"GiftMessage": "Te amo!",
"Description": "Uma description do Mouse",
"ShippingInstructions": "Proximo ao 546",
"ShippingMethod": "SameDay",
"ShippingTrackingNumber": "123456"
},
{
"ProductName": "Teclado",
"UnitPrice": "7500",
"MerchantItemId": "3",
"Sku": "abc456",
"Quantity": 1,
"OriginalPrice": "8000",
"GiftMessage": "Te odeio!",
"Description": "Uma description do Teclado",
"ShippingInstructions": "Proximo ao 123",
"ShippingMethod": "SameDay",
"ShippingTrackingNumber": "987654"
}
],
"CustomConfiguration": {
"MerchantWebsite": "www.test.com"
},
"MerchantDefinedData": [
{
"Key": "USER_DATA4",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "Segment",
"Value": "8999"
},
{
"Key": "MerchantId",
"Value": "Seller123456"
}
],
"Airline": {
"ThirdPartyBooking": "Y",
"Bookingtype": "Corporate",
"TicketDeliveryMethod": "Delivery",
"BookingReferenceNumber": "L5W4NW",
"Passengers": [
{
"FirstName": "Fulano",
"MiddleName": "D",
"LastName": "Tal",
"PassengerType": "Adult",
"Email": "email@mail.com",
"Phone": "1234567890",
"TicketNumber": "123541",
"LoyaltyMemberNumber": "159753852",
"Legs" : [
{
"ArrivalAirport": "AMS",
"DepartureAirport": "GIG",
"ArrivalCountry": "NLD",
"DepartureCountry": "BRA",
"AirlineCode": "KLM",
"DepartureDateTime": "2018-01-09 18:00",
"ClassOfService": "Standard"
}]
}]
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Paramater | Description | Type | Required | Size |
---|---|---|---|---|
MerchantOrderId |
Order number. | string | Yes | 100 |
TotalOrderAmount |
Total order amount in cents. Example: 123456 = R$ 1.234,56 |
long | Yes | - |
TransactionAmount |
Financial transaction amount in cents. Example: 150000 = R$ 1.500,00 |
long | Yes | - |
Currency |
Currency. More information in ISO 4217 Currency Codes | enum | - | - |
Provider |
Anti-fraud solution provider. Table 1 - Provider |
enum | - | - |
OrderDate |
Order date Eg: 2016-12-09 19:16:38.155 Note: If not informed, a date will be generated by Braspag |
datetime | No | - |
BraspagTransactionId |
Transaction ID on Braspag Pagador. | guid | No | - |
Tid |
Id of the transaction at the acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Nsu , AuthorizationCode and SaleDate , in addition to this one. |
string | No | 20 |
Nsu |
Unique sequential number of the transaction in the acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , AuthorizationCode and SaleDate , other than this one in question |
string | No | 10 |
AuthorizationCode |
Acquirer transaction authorization code Note: If you do not have integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , Nsu and SaleDate , other than this one. |
string | No | 10 |
SaleDate |
Date of authorization of the transaction at the acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , Nsu and AuthorizationCode , besides this one. |
datetime | No | - |
SplitingPaymentMethod |
Identifies whether the transaction is authorized with one or more cards or with more than one payment method. Table 2 - SplitingPaymentMethod |
enum | - | - |
IsRetryTransaction |
Retry of an analysis, must be sent with a value equal to TRUE when the return code in the first attempt is equal to BP900. | bool | No | - |
Card.Number |
Credit card number. | string | Yes | 19 |
Card.Holder |
Credit card name. | string | Yes | 50 |
Card.ExpirationDate |
Credit card expiration date. Eg: 01/2023 |
string | Yes | 7 |
Card.Cvv |
Credit card security code. | string | Yes | 4 |
Card.Brand |
Credit card brand. Table 3 - Card.Brand |
enum | - | - |
Card.EciThreeDSecure |
Authentication ECI (Electronic Commerce Indicator) code. | string | No | 1 |
Card.Save |
Indicates whether credit card data will be stored in Cartão Protegido. | bool | No | - |
Card.Token |
Credit card identifier saved in the Cartão Protegido. | guid | No | - |
Card.Alias |
Alias (nickname) of the credit card saved in the Cartão Protegido. | string | No | 64 |
Billing.Street |
Billing address street. | string | No | 24 |
Billing.Number |
Billing address number. | string | No | 5 |
Billing.Complement |
Billing address complement. | string | No | 14 |
Billing.Neighborhood |
Billing Address neighborhood. | string | No | 15 |
Billing.City |
Billing address city. | string | No | 20 |
Billing.State |
Billing address state. | string | No | 2 |
Billing.Country |
Billing address country. More information at ISO 2-Digit Alpha Country Code | string | No | 2 |
Billing.ZipCode |
Billing address postal code. | string | No | 9 |
Shipping.Street |
Delivery address street. | string | No | 24 |
Shipping.Number |
Delivery address number. | string | No | 5 |
Shipping.Complement |
Delivery address complement. | string | No | 14 |
Shipping.Neighborhood |
Delivery address neighborhood. | string | No | 15 |
Shipping.City |
Delivery address city. | string | No | 20 |
Shipping.State |
Delivery address status. | string | No | 2 |
Shipping.Country |
Delivery address country. More information atISO 2-Digit Alpha Country Code | string | No | 2 |
Shipping.ZipCode |
Delivery address postal code. | string | No | 9 |
Shipping.Email |
E-mail of the person responsible to receive the product at the delivery address. | string | No | 60 |
Shipping.FirstName |
First name of person responsible to receive the product at the delivery address. | string | No | 30 |
Shipping.MiddleName |
First letter of the middle name of the person responsible to receive the product at the delivery address. | string | No | 1 |
Shipping.LastName |
Last name of the person responsible to receive the product at the delivery address. | string | No | 30 |
Shipping.Phone |
Telephone number of the person responsible for receiving the product at the delivery address. Eg.: 552121114700 |
string | No | 19 |
Shipping.WorkPhone |
Work telephone number of the person responsible for receiving the product at the delivery address. Eg.: 552121114701 |
string | No | 19 |
Shipping.Mobile |
Cell phone number of the person responsible for receiving the product at the delivery address. Eg.: 5521987654321 |
string | No | 19 |
Shipping.ShippingMethod |
Order delivery method Table 4 - ShippingMethod |
enum | - | - |
Shipping.Comment |
Delivery address references. | string | No | 160 |
Customer.MerchantCustomerId |
Shopper’s identification document number, CPF or CNPJ | string | Yes | 16 |
Customer.FirstName |
Shopper’s first name. | string | Yes | 30 |
Customer.MiddleName |
First letter of shopper’s middle name. | string | No | 1 |
Customer.LastName |
Shopper’s last name. | string | Yes | 30 |
Customer.BirthDate |
Shopper’s birth date. Eg.: 1983-10-01 |
date | Yes | - |
Customer.Gender |
Shopper’s gender. Table 5 - Customer.Gender |
string | No | 6 |
Customer.Email |
Shopper’s email. | string | No | 60 |
Customer.Ip |
Shopper’s IP address. | string | No | 15 |
Customer.Phone |
Shopper’s phone number. Eg.: 552121114700 |
string | No | 19 |
Customer.WorkPhone |
Shopper’s phone number Eg.: 552121114701 |
string | No | 19 |
Customer.Mobile |
Shopper’s cell phone number Ex.: 5521987654321 |
string | No | 19 |
Customer.Status |
Status of the shopper in the store Table 6 - Customer.Status |
string | No | 8 |
Customer.BrowserFingerPrint |
Device Fingerprint and real shopper IP Ggeolocation. - Fingerprint Settings | string | Yes | 6005 |
CartItem[n].ProductName |
Product’s name. | string | No | 50 |
CartItem[n].UnitPrice |
Product unit price. Eg: 10950 = R$ 109.50 |
long | No | - |
CartItem[n].OriginalPrice |
Original product price. Eg: 11490 = R$ 114.90 |
long | No | - |
CartItem[n].MerchantItemId |
Product ID in store. | string | No | 30 |
CartItem[n].Sku |
Product SKU (Stock Keeping Unit). | string | No | 12 |
CartItem[n].Quantity |
Product quantity. | int | No | - |
CartItem[n].GiftMessage |
Gift message. | string | No | 160 |
CartItem[n].Description |
Product description. | string | No | 76 |
CartItem[n].ShippingInstructions |
Product delivery instructions. | string | No | 160 |
CartItem[n].ShippingMethod |
Product delivery method. Table 4 - ShippingMethod |
enum | - | - |
CartItem[n].ShippingTranckingNumber |
Product tracking number. | string | No | 19 |
Airline.ThirdPartyBooking |
Indicates whether the reservation was booked by third parties, such as travel agencies. | bool | No | - |
Airline.BookingType |
Reservation schedule type | string | No | 255 |
Airline.TicketDeliveryMethod |
Ticket delivery type | string | No | 127 |
Airline.BookingReferenceNumber |
Booking reference number | string | No | 9 |
Airline.Passengers[n].FirstName |
Passenger’s first name. | string | No | 29 |
Airline.Passengers[n].MiddleName |
Passenger’s middle name. | string | No | 1 |
Airline.Passengers[n].LastName |
Passenger’s last name. | string | No | 28 |
Airline.Passengers[n].PassengerType |
Passenger type. Table 8 - Airline.Passengers{n}.PassengerType |
enum | No | - |
Airline.Passengers[n].Phone |
Passenger’s phone number. Eg.: 552121114700 |
string | Noo | 19 |
Airline.Passengers[n].Email |
Passenger’s email. | string | No | 60 |
Airline.Passengers[n].LoyaltyMemberNumber |
Passenger loyalty number. | string | No | 255 |
Airline.Passengers[n].TicketNumber |
Ticket number. | string | No | 20 |
Airline.Passengers[n].Legs[n].DepartureAirport |
Departure airport code. More information at IATA 3-Letter Codes | string | No | 3 |
Airline.Passengers[n].Legs[n].DepartureCountry |
Departure airport country code. More information at ISO 3-Digit Alpha Country Code | string | No | 3 |
Airline.Passengers[n].Legs[n].ArrivalAirport |
Arrival airport code. More information at IATA 3-Letter Codes | string | No | 3 |
Airline.Passengers[n].Legs[n].ArrivalCountry |
Country code of the airport of arrival. More information at ISO 3-Digit Alpha Country Code | string | No | 3 |
Airline.Passengers[n].Legs[n].AirlineCode |
Airline code. | string | No | 3 |
Airline.Passengers[n].Legs[n].DepartureDateTime |
Departure date and time Eg.: 2018-03-31 19:16:38 |
datetime | No | - |
Airline.Passengers[n].Legs[n].ClassOfService |
Class of service. | string | No | 30 |
CustomConfiguration.MerchantWebsite |
Merchant website. | string | No | 60 |
MerchantDefinedData[n].Key |
Field key defined with the anti-fraud provider. Table 35 - MerchantDefinedData (ACI Worldwide) |
int | não | - |
MerchantDefinedData[n].Value |
Field value defined with the anti-fraud provider. Table 35 - MerchantDefinedData (ACI Worldwide) |
var | No | - |
{
"TransactionId": "fdf8f357-a723-e811-80c3-0003ff21d83f",
"Status": "Accept",
"ProviderAnalysisResult": {
"ProviderRequestId": "8a829449620619e801620b31d1c85d5a",
"Result": {
"ProviderCode": "000.000.000",
"ProviderDescription": "Transaction succeeded"
},
"ResultDetails": {
"CSITransactionLink": "https://csi-stage.redworldwide.com/index.red#transactiondetail/000548000001XAR20180309093717761",
"ProviderStatus": "ACCEPT",
"ProviderTransactionId": "381069636258",
"ProviderResponseCode": "0150",
"ProviderOrderId": "000548000001XAR20180309093717761"
},
"Ndc": "8a82941859d5969a0159db3f6ecc1418_60d2e8536e244db2bf04146872b00d38"
},
"Links": [
{
"Method": "GET",
"Href": "http://localhost:1316/Analysis/v2/fdf8f357-a723-e811-80c3-0003ff21d83f",
"Rel": "Self"
}
]
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
201 Created |
Parameters in the body
Parameter | Description | Type |
---|---|---|
TransactionId |
Transaction ID in the Braspag Antifraude Gateway | guid |
Status |
Transaction status in the Braspag Antifraude Gateway Table 19 - Status |
enum |
ProviderAnalysisResult.ProviderRequestId |
Transaction request ID on ReDShield | string |
ProviderAnalysisResult.Result.ProviderCode |
ReDShield return code | string |
ProviderAnalysisResult.Result.ProviderDescription |
ReDShield return message | string |
ProviderAnalysisResult.ResultDetails.CSITransactionLink |
Link to view transaction details on ReDShield’s CSI portal | string |
ProviderAnalysisResult.ResultDetails.ProviderStatus |
Transaction status at ReDShield Table 20 - ProviderStatus |
enum |
ProviderAnalysisResult.ResultDetails.ProviderTransactionId |
Transaction ID on ReDShield | string |
ProviderAnalysisResult.ResultDetails.ProviderOrderId |
Order ID on ReDShield | string |
ProviderAnalysisResult.Ndc |
Exclusive ID of the ReDShield request | string |
{
"TransactionId": "fdf8f357-a723-e811-80c3-0003ff21d83f",
"Status": "Accept",
"ProviderAnalysisResult": {
"ProviderRequestId": "8a829449620619e801620b31d1c85d5a",
"Result": {
"ProviderCode": "000.000.000",
"ProviderDescription": "Transaction succeeded"
},
"ResultDetails": {
"CSITransactionLink": "https://csi-stage.redworldwide.com/index.red#transactiondetail/000548000001XAR20180309093717761",
"ProviderStatus": "ACCEPT",
"ProviderTransactionId": "381069636258",
"ProviderResponseCode": "0150",
"ProviderOrderId": "000548000001XAR20180309093717761"
},
"Ndc": "8a82941859d5969a0159db3f6ecc1418_60d2e8536e244db2bf04146872b00d38"
},
"Links": [
{
"Method": "GET",
"Href": "http://localhost:1316/Analysis/v2/fdf8f357-a723-e811-80c3-0003ff21d83f",
"Rel": "Self"
}
],
"MerchantOrderId": "4493d42c-8732-4b13-aadc-b07e89732c26",
"TotalOrderAmount": 15000,
"TransactionAmount": 14000,
"Currency": "BRL",
"Provider": "RedShield",
"OrderDate": "2016-12-09 12:35:58.852",
"BraspagTransactionId":"a3e08eb2-2144-4e41-85d4-61f1befc7a3b",
"SplitingPaymentMethod": "None",
"IsRetryTransaction": false,
"Card": {
"Number" : "4444555566667777",
"Holder": "Holder Name",
"ExpirationDate": "12/2023",
"Cvv": "999",
"Brand": "VISA",
"EciThreeDSecure": "5"
},
"Billing": {
"Street": "Rua Neturno",
"Number": "12345",
"Complement": "Sala 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "20080123"
},
"Shipping": {
"Street": "Rua Saturno",
"Number": "30000",
"Complement": "sl 123",
"Neighborhood": "Centro",
"City": "Rio de Janeiro",
"State": "RJ",
"Country": "BR",
"ZipCode": "123456789",
"Email": "emailentrega@dominio.com.br",
"FirstName": "João",
"MiddleName": "P",
"LastName": "Silvao",
"ShippingMethod": "SameDay",
"Phone": "552121114700",
"WorkPhone": "552121114721",
"Mobile": "5521998765432",
"Comment": "Em frente ao 322"
},
"Customer": {
"MerchantCustomerId": "10050665740",
"FirstName": "João",
"MiddleName": "P",
"LastName": "Silva",
"BirthDate": "1983-10-01",
"Gender": "Male",
"Email": "emailcomprador@dominio.com.br",
"Phone": "552121114700",
"WorkPhone": "552121114721",
"Mobile": "5521998765432",
"Ip": "127.0.0.1",
"BrowserFingerprint": "04003hQUMXGB0poNf94lis1ztuLYRFk+zJ17aP79a9O8mWOBmEnKs6ziAo94ggAtBvKEN6/FI8Vv2QMAyHLnc295s0Nn8akZzRJtHwsEilYx1P+NzuNQnyK6+7x2OpjJZkl4NlfPt7h9d96X/miNlYT65UIY2PeH7sUAh9vKxMn1nlPu2MJCSi12NBBoiZbfxP1Whlz5wlRFwWJi0FRulruXQQGCQaJkXU7GWWZGI8Ypycnf7F299GIR12G/cdkIMFbm6Yf0/pTJUUz1vNp0X2Zw8QydKgnOIDKXq4HnEqNOos1c6njJgQh/4vXJiqy0MXMQOThNipDmXv9I185O+yC2f3lLEO0Tay66NZEyiLNePemJKSIdwO9O5ZtntuUkG6NTqARuHStXXfwp8cyGF4MPWLuvNvEfRkJupBy3Z8hSEMEK7ZWd2T2HOihQxRh4qp+NANqYKBTl3v6fQJAEKikeSQVeBN8sQqAL0BZFaIMzbrnMivi6m6JRQUIdvEt+MbJEPFc0LjRycC5ApUmJO+Aoo9VKL1B8ftMSQ1iq1uTKn16ZOmDpzZrZhMPbH83aV0rfB2GDXcjpghm9klVFOw7EoYzV7IDBIIRtgqG9KZ+8NH/z6D+YNUMLEUuK1N2ddqKbS5cKs2hplVRjwSv7x8lMXWE7VDaOZWB8+sD1cMLQtEUC0znzxZ4bpRaiSy4dJLxuJpQYAFUrDlfSKRv/eHV3QiboXLuw9Lm6xVBK8ZvpD5d5olGQdc+NgsqjFnAHZUE+OENgY4kVU9wB84+POrI4MkoD4iHJ5a1QF8AZkZDFo1m1h9Bl+J2Ohr6MkBZq8DG5iVaunHfxUdHou5GL7lS1H7r+8ctfDXi8AfOPjzqyODJQ74Aiel35TKTOWG8pq1WO6yzJ1GNmMuMWZBamlGXoG/imnjwHY9HQtQzpGfcm0cR8X2Fd1ngNFGLDGZlWOX0jWtOwU6XVGT37JFD9W/cx4kzI+mPNi65X5WFPYlDG9N0Lbh5nOj3u3DXqRCiKCUrsEkMt8z9fxO9pLLGVQUKIYR2wTw53CiWK96FOpPevDWtH2XR0QkfOd02D73n81x6hEMCy0s3hRLn08Th9FlNHDMJBqLj+Tz8rG2TtNki3mJC7Ass1MT2qnKBI77n6vsQkAp59TfbZm/tBXwAoYdLJXge8F/numhd5AvQ+6I8ZHGJfdN3qWndvJ2I7s5Aeuzb8t9//eNsm73fIa05XreFsNyfOq1vG2COftC6EEsoJWe5h5Nwu1x6PIKuCaWxLY+npfWgM0dwJPmSgPx7TNM31LyVNS65m83pQ+qMTRH6GRVfg7HAcS5fnS/cjdbgHxEkRmgkRq1Qs48sbX9QC8nOTD0ntb6FcJyEOEOVzmJtDqimkzDq+SXR1/63AYe4LEj+ogRgN+Z8HAFhGFzd/m6snVviELfRqJ4LLQIk9Y/fzqnsF6I5OGxfdT2sxxK2Vokpi3jWhCcEknw7dYlHYpOnCHZO7QVgjQTngF2mzKf4GeOF4ECFsWTgLy6HFEitfauYJt1Xh1NfZZerBMwXLFzdhzoTQxGlcXc8lZIoEG1BLYv/ScICf8Ft9PEtpEa+j0cDSlU99UoH2xknwR1W9MRGc5I/euE63/IMJTqguZ3YcnJpjSVnAGSpyz/0gKjypJ3L86rHFRGXt0QbmaXtSl2UmmjI0p0LCCdx7McatCFEVI6FwPpPV0ZSMv/jM75eBid1X/lTV4XNzjowzR/iFlKYMzHZtVO9hCBPKlTwblRXNn4MlvNm/XeSRQ+Mr0YV5w5CL5Z/tGyzqnaLPj/kOVdyfj8r2m5Bcrz4g/ieUIo8qRFv2T2mET46ydqaxi27G4ZYHj7hbiaIqTOxWaE07qMCkJw==",
"Status": "NEW"
},
"CartItems": [
{
"ProductName": "Mouse",
"UnitPrice": "6500",
"MerchantItemId": "4",
"Sku": "abc123",
"Quantity": 1,
"OriginalPrice": "7000",
"GiftMessage": "Te amo!",
"Description": "Uma description do Mouse",
"ShippingInstructions": "Proximo ao 546",
"ShippingMethod": "SameDay",
"ShippingTrackingNumber": "123456"
},
{
"ProductName": "Teclado",
"UnitPrice": "7500",
"MerchantItemId": "3",
"Sku": "abc456",
"Quantity": 1,
"OriginalPrice": "8000",
"GiftMessage": "Te odeio!",
"Description": "Uma description do Teclado",
"ShippingInstructions": "Proximo ao 123",
"ShippingMethod": "SameDay",
"ShippingTrackingNumber": "987654"
}
],
"CustomConfiguration": {
"MerchantWebsite": "www.test.com"
},
"MerchantDefinedData": [
{
"Key": "USER_DATA4",
"Value": "Valor definido com o Provedor a ser enviado neste campo."
},
{
"Key": "Segment",
"Value": "8999"
},
{
"Key": "MerchantId",
"Value": "Seller123456"
}
],
"Airline": {
"ThirdPartyBooking": "Y",
"Bookingtype": "Corporate",
"TicketDeliveryMethod": "Delivery",
"BookingReferenceNumber": "L5W4NW",
"Passengers": [
{
"FirstName": "Fulano",
"MiddleName": "D",
"LastName": "Tal",
"PassengerType": "Adult",
"Email": "email@mail.com",
"Phone": "1234567890",
"TicketNumber": "123541",
"LoyaltyMemberNumber": "159753852",
"Legs" : [
{
"ArrivalAirport": "AMS",
"DepartureAirport": "GIG",
"ArrivalCountry": "NLD",
"DepartureCountry": "BRA",
"AirlineCode": "KLM",
"DepartureDateTime": "2018-01-09 18:00",
"ClassOfService": "Standard"
}]
}]
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
200 OK |
Parameters in the body
Parameter | Description | Type |
---|---|---|
TransactionId |
Transaction ID in the Braspag Antifraude Gateway | guid |
Status |
Transaction status in the Braspag Antifraude Gateway Table 20 - Status |
enum |
ProviderAnalysisResult.ProviderRequestId |
Transaction request ID on ReDShield | string |
ProviderAnalysisResult.Result.ProviderCode |
ReDShield return code | string |
ProviderAnalysisResult.Result.ProviderDescription |
ReDShield return message | string |
ProviderAnalysisResult.ResultDetails.CSITransactionLink |
Link to view transaction details on ReDShield’s CSI portal | string |
ProviderAnalysisResult.ResultDetails.ProviderStatus |
Transaction status at ReDShield Tabela 20 - ProviderStatus |
enum |
ProviderAnalysisResult.ResultDetails.ProviderTransactionId |
Transaction ID on ReDShield | string |
ProviderAnalysisResult.ResultDetails.ProviderOrderId |
Order ID on ReDShield | string |
ProviderAnalysisResult.Ndc |
Exclusive ID of the ReDShield request | string |
MerchantOrderId |
Merchant order number | string |
TotalOrderAmount |
Total order value in cents Eg: 123456 = R$ 1,234.56 |
long |
TransactionAmount |
Financial transaction amount in cents Eg: 150000 = R$ 1.500,00 |
long |
Currency |
Currency. More information in ISO 4217 Currency Codes | enum |
Provider |
Anti-fraud solution provider Table 1 - Provider |
enum |
OrderDate |
Order Date Eg.: 2016-12-09 19:16:38.155 |
datetime |
BraspagTransactionId |
Transaction ID in Braspag Pagador | guid |
Tid |
Transaction ID at acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Nsu , AuthorizationCode and SaleDate , in addition to this |
string |
Nsu |
Unique sequential number of the transaction in the acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , AuthorizationCode and SaleDate , in addition to this |
string |
AuthorizationCode |
Acquirer transaction authorization code Note: If you do not have integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , Nsu and SaleDate , in addition to this |
string |
SaleDate |
Date of authorization of the transaction at the acquirer Note: If you do not have an integration with Pagador Braspag, you will not be able to send the BraspagTransactionId field, so it is necessary to send the fields Tid , Nsu and AuthorizationCode , in addition to this |
datetime |
SplitingPaymentMethod |
Identifies whether the transaction authorization is with one or more cards or with more than one means of payment Table 2 - SplitingPaymentMethod |
enum |
IsRetryTransaction |
Retry of an analysis, and must be sent with a value equal to TRUE when the return code in the first attempt is equal to BP900 | bool |
Card.Number |
Credit card number | string |
Card.Holder |
Name in credit card | string |
Card.ExpirationDate |
Credit card expiration date Eg.: 01/2023 |
string |
Card.Cvv |
Credit card security code | string |
Card.Brand |
Credit card brand Table 3 - Card.Brand |
enum |
Card.EciThreeDSecure |
Authentication ECI (Electronic Commerce Indicator) code | string |
Card.Save |
Indicates whether credit card data will be stored in Cartão Protegido | bool |
Card.Token |
Credit card identifier saved in Cartão Protegido | guid |
Card.Alias |
Alias (nickname) of the credit card saved in the Cartão Protegido | string |
Billing.Street |
Billing addressstreet | string |
Billing.Number |
Billing address number | string |
Billing.Complement |
Billing address add-on | string |
Billing.Neighborhood |
Billing address neighborhood | string |
Billing.City |
Billing address city | string |
Billing.State |
Billing address state | string |
Billing.Country |
Billing address country. More information at ISO 2-Digit Alpha Country Code | string |
Billing.ZipCode |
Billing address postal code | string |
Shipping.Street |
Street of the delivery address | string |
Shipping.Number |
Delivery address number | string |
Shipping.Complement |
Delivery address add-on | string |
Shipping.Neighborhood |
Delivery address neighborhood | string |
Shipping.City |
Delivery address city | string |
Shipping.State |
Delivery address state | string |
Shipping.Country |
Country of delivery address. More information at ISO 2-Digit Alpha Country Code | string |
Shipping.ZipCode |
Delivery address postal code | string |
Shipping.Email |
E-mail of the person responsible to receive the product at the delivery address | string |
Shipping.FirstName |
First name of person responsible to receive the product at the delivery address | string |
Shipping.MiddleName |
First letter of the middle name of the person responsible to receive the product at the delivery address | string |
Shipping.LastName |
Last name of the person responsible to receive the product at the delivery address | string |
Shipping.Phone |
Telephone number of the person responsible for receiving the product at the delivery address Eg.: 552121114700 |
string |
Shipping.WorkPhone |
Work phone number of the person responsible to receive the product at the delivery address Eg.: 552121114701 |
string |
Shipping.Mobile |
Mobile number of the person responsible to receive the product at the delivery address Eg.: 5521987654321 |
string |
Shipping.ShippingMethod |
Order delivery method Table 4 - ShippingMethod |
enum |
Shipping.Comment |
Delivery address references | string |
Customer.MerchantCustomerId |
Shopper’s identification document number, CPF or CNPJ | string |
Customer.FirstName |
Shopper’s first name | string |
Customer.MiddleName |
First letter of shopper’s name | string |
Customer.LastName |
Shopper’s last name | string |
Customer.BirthDate |
Shopper’s date of birth Ex.: 1983-10-01 |
date |
Customer.Gender |
Shopper’s gender Table 5 - Customer.Gender |
string |
Customer.Email |
Shopper’s email | string |
Customer.Ip |
Shopper’s IP address | string |
Customer.Phone |
Shopper’s phone number Eg.: 552121114700 |
string |
Customer.WorkPhone |
Shopper’s phone number Eg.: 552121114701 |
string |
Customer.Mobile |
Shopper’s mobile number Eg.: 5521987654321 |
string |
Customer.Status |
Shopper status in store Table 7 - Customer.Status |
string |
Customer.BrowserFingerPrint |
Device Fingerprint and shopper’s IP location | string |
CartItem[n].ProductName |
Product’s name | string |
CartItem[n].UnitPrice |
Product unit price Eg: 10950 = R$ 109.50 |
long |
CartItem[n].OriginalPrice |
Original product price Eg: 11490 = R$ 114.90 |
long |
CartItem[n].MerchantItemId |
Product ID in store | string |
CartItem[n].Sku |
Product’s sku | string |
CartItem[n].Quantity |
Product quantity | int |
CartItem[n].GiftMessage |
Gift Message | string |
CartItem[n].Description |
Product description | string |
CartItem[n].ShippingInstructions |
Shipping instructions | string |
CartItem[n].ShippingMethod |
Shipping method Table 4 - ShippingMethod |
enum |
CartItem[n].ShippingTranckingNumber |
Product tracking number | string |
Airline.ThirdPartyBooking |
Indicates whether the reservation was booked by third parties, such as travel agencies | bool |
Airline.BookingType |
Booking appointment type | string |
Airline.TicketDeliveryMethod |
Ticket delivery type | string |
Airline.BookingReferenceNumber |
Booking reference number | string |
Airline.Passengers[n].FirstName |
Passenger’s first name | string |
Airline.Passengers[n].MiddleName |
Passenger’s middle name | string |
Airline.Passengers[n].LastName |
Passenger’s last name | string |
Airline.Passengers[n].PassengerType |
Passenger type Tabela 8 - Airline.Passengers{n}.PassengerType |
enum |
Airline.Passengers[n].Phone |
Passenger’s phone Eg.: 552121114700 |
string |
Airline.Passengers[n].Email |
Passenger’s email | string |
Airline.Passengers[n].LoyaltyMemberNumber |
Passenger’s loyalty number | string |
Airline.Passengers[n].TicketNumber |
Ticket number | string |
Airline.Passengers[n].Legs[n].DepartureAirport |
Departure airport code. More information at IATA 3-Letter Codes | string |
Airline.Passengers[n].Legs[n].DepartureCountry |
Departure airport country code. More information at ISO 3-Digit Alpha Country Code | string |
Airline.Passengers[n].Legs[n].ArrivalAirport |
Arrival airport code. More information at IATA 3-Letter Codes | string |
Airline.Passengers[n].Legs[n].ArrivalCountry |
Country code of the airport of arrival. More information at ISO 3-Digit Alpha Country Code | string |
Airline.Passengers[n].Legs[n].AirlineCode |
Airline code | string |
Airline.Passengers[n].Legs[n].DepartureDateTime |
Departure date and time Eg.: 2018-03-31 19:16:38 |
datetime |
Airline.Passengers[n].Legs[n].ClassOfService |
Class of service | string |
CustomConfiguration.MerchantWebsite |
Merchant website | string |
MerchantDefinedData[n].Key |
Field key defined with the anti-fraud provider Table 36 - MerchantDefinedData(ACI Worldwide) |
int |
MerchantDefinedData[n].Value |
Field value defined with the anti-fraud provider Table 36 - MerchantDefinedData(ACI Worldwide) |
var |
The Fingerprint is the digital identification of the shopper’s device. This identification is made up of a series of data collected on the checkout page of the website or application.
Including Iovation’s JavaScript
To include JavaScript, add the <script> element to your checkout page.
This is the URL for the Iovation version of snare.js: <script type=”text/javascript” src=”https://mpsnare.iesnare.com/snare.js”></script>
Parameters | Description | Default |
---|---|---|
io_install_flash |
Determines whether the user will be asked to install Flash or update the version | false |
io_flash_needs_handler |
This parameter will only be valid if the io_install_flash parameter is set to TRUE, otherwise it will not be executed Here you can customize your own message if Flash is not installed Eg.: var io_flash_needs_handler = “Alert(‘Install Flash’);” |
- |
io_install_stm |
Determines whether to prompt the user to install Active X, which helps gather hardware information. This control is only available for Internet Explorer, and if Active X is already installed, this setting will have no effect. |
false |
io_exclude_stm |
Determines whether Active X should run when installed You can choose to disable tracking for specific platforms Possible values: 0 - runs on all platforms 1 - does not run on Windows 9.x (including versions 3.1, 95, 98 and ME) 2 - does not run on Windows CE 4 - does not run on Windows XP (including NT, 2000, 2003 and 8 versions) 8 - does not run on Windows Vista Note: The values are the combination of sums of the above values, for example: 12 - does not run on Windows XP (4) or Windows Vista (8) |
15 |
io_bbout_element_id |
HTML element id to populate with black box If the io_bb_callback parameter is set, it has no effect |
- |
io_enable_rip |
Determines whether to attempt to collect information to obtain the shopper’s real IP address | true |
io_bb_callback |
Parameter to customize black box collection check completed When using, write the function according to the following syntax: io_callback(bb, complete), where: bb - black box value complete - boolean value that indicates that the collection is completed |
- |
Example
Downloading the SDK If you haven’t already downloaded the iOS or Android SDK, you must do so before proceeding. To do so, access one of the links as desired.
About the integration Add the Iovation Mobile SDK to your apps to collect information about shoppers’ devices. A black box will be generated which contains all available device information.
iOS Integration Files and Requirements
This release supports iOS 5.1.1 or higher on the following devices:
Installing the SDK on iOS
Download and unzip the SDK;
In Xcode, drag iovation.framework into your project’s navigation area
Click Finish
Add the following frameworksto the application target in XCode: ExternalAccessory.framework. If you find that Wireless Accessory Configuration is enabled in Xcode 6 or higher and you don’t need it, disable it and re-add the ExternalAccessory.framework CoreTelephony.framework
Using the +ioBegin function
The +ioBegin function collects information about the device and generates a black box. This black box must be sent through the Customer.BrowserFingerPrint field together with the other data for analysis.
Syntax
NSSstring * bbox = [iovation ioBegin]
Return values
bbox - string which contains the black box
Example
Android Integration Files and Requirements
Version 1.2.0 of the Iovation Mobile SDK for Android supports Android versions 2.1 and higher.
Installing the SDK on Android
Using the ioBegin function
The ioBegin function collects information about the device and generates a black box. This black box must be sent through the Customer.BrowserFingerPrint field together with the other data for analysis.
*Syntax
public static String ioBegin(Context context)
*Parameters
context - an instance of the android.content.Context class used to access information about the device
Return Values
string containing the black box
IMPORTANT The black box returned from ioBegin must never be empty. An empty black box that contains only 0500 indicates that the protection offered by the system may have been compromised.
IMPORTANT The device-lib-1.2.0.aar file must be packaged with the application.
IMPORTANT If the option to run the module does not appear, select File -> Project Structure and open the Modules panel. From there, set the Android SDK version in the list.
The example is simple, there is a button and when clicked a text box is filled with the black box. For a richer example, see the Android Studio sample app included in the SDK.
The integration with ClearSale consists of two steps, fingerprint configuration and fraud analysis request.
Fingerprint is the digital identification of the shopper’s device. This identification is made up of a series of data collected on the checkout page of the website or application, such as:
*If device user granted permission.
Fingerprint flow with ClearSale
For analysis via ClearSale, the Fingerprint is created before the fraud analysis request via a JavaScript script.
The creation of the Fingerprint takes place separately from the fraud analysis request.
See the representation of the Fingerprint creation flow and fraud analysis request:
Fingerprint creation stage
1. The shopper fills in the requested data on the e-commerce’s checkout page (website or app);
2. The e-commerce’s checkout page, already configured with the Fingerprint code, collects the shopper’s data and runs the device identification script (Fingerprint creation).
Fraud analysis stage
3. The e-commerce sends the fraud analysis request with the field Customer.BrowserFingerprint
(with the value of session_id
) to the Antifraude Gateway;
4. The Antifraude Gateway validates the request and requests fraud analysis from ClearSale;
5. ClearSale performs fraud analysis taking into account the device’s Fingerprint and sends the recommendation to accept, reject or review* the transaction to the Antifraude Gateway;
6. The Antifraude Gateway returns the fraud analysis results to the store;
7. The store returns the transaction status (approved or not approved) to the shopper.
*Variable depending on the contracted plan.
In the fraud analysis request with ClearSale, send the value of session_id
in the Customer.BrowserFingerprint
parameter.
Fingerprint consists of implementing a script on your checkout page (front-end), where the shopper fills in their registration data.
The following table presents the variables for configuring Fingerprint with ClearSale.
VARIABLE | DESCRIPTION | TYPE | SIZE | REQUIRED |
---|---|---|---|---|
session_id |
Identifies the user session on the website and app. It can be created by the e-commerce or by ClearSale. The session_id value must be submitted in the Customer.BrowserFingerprint field. |
GUID (recommended) | 6 to 128 characters | Yes |
seu_appkey |
Identifies the e-commerce to create the fingerprint of shoppers’ devices. Provided by Cielo. | string | - | Yes |
session_id
may appear in ClearSale documentation asSessionID
orSessionId
.
You must insert a script (JavaScript) into the front-end code of your checkout page. This script has the session_id
parameter, which is the identifier of the user session on the website or application.
To monitor if the user blocks the script, insert the
noscript
tag. Find out more at: Script Blocking Monitoring.
There are three ways to include the script on your checkout page. The difference is in the creation of the session_id
:
session_id
created by the store;session_id
created by Google Tag Manager;session_id
created by ClearSale (recommended).Find out more details in the Behavior Analytics documentation. In the fraud analysis request, send only the
session_id
value in theCustomer.BrowserFingerprint
field.
The session_id
can be created by the store or it is possible to request creation by ClearSale using the generateSessionID()
method.
See instructions for each operating system:
{
"TotalOrderAmount": 46000,
"TransactionAmount": 45500,
"Provider": "ClearSale",
"Currency": "BRL",
"OrderDate": "2023-09-26T08:44:30.1945689",
"BraspagTransactionId": "1cbdd27f-80e4-47a6-9921-59a24989536f",
"Card": {
"Number": "4000021231111111",
"Holder": "Guilherme Silva",
"ExpirationDate": "08/2033",
"Brand": "Visa"
},
"Billing": {
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "21 andar",
"Neighborhood": "Alphaville",
"City": "Barueri",
"State": "SP",
"Country": "BR",
"ZipCode": "06455030"
},
"Shipping": {
"DocumentType": "Cpf",
"DocumentNumber": "99988877711",
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "21 andar",
"Neighborhood": "Alphaville",
"City": "Barueri",
"State": "SP",
"Country": "BR",
"ZipCode": "06455030",
"Email": "nome@email.com.br",
"FirstName": "Nome",
"LastName": "Comprador",
"Phone": "+55 11 5555-1001",
"WorkPhone": "+55 11 5555-1002",
"Mobile": "+55 11 5555-1003",
"ShippingMethod": 0
},
"Customer": {
"MerchantCustomerId": "11111111111",
"DocumentType": "Cpf",
"FirstName": "Bruno",
"LastName": "Silva",
"BirthDate": "1996-11-14",
"Email": "homolog@cielo.com.br",
"Ip": "127.0.0.1",
"Phone": "+55 21 5555-1004",
"Mobile": "+55 21 5555-1005",
"WorkPhone": "+55 21 5555-1006",
"BrowserFingerprint": "MzE5MjAzODg0NA=="
},
"Airline": {
"Passengers": [
{
"FirstName": "Bruno",
"LastName": "Silva",
"PassengerId": "99988877714",
"Legs": [
{
"ArrivalAirport": "CGH",
"DepartureAirport": "SDU",
"DepartureDateTime": "2023-10-09T18:30:00",
"Boarding": "2023-10-09T18:45:00",
"Arriving": "2023-10-09T20:00:00"
}
]
},
{
"FirstName": "Guilherme",
"LastName": "Silva",
"PassengerId": "99988877714",
"Legs": [
{
"ArrivalAirport": "CGH",
"DepartureAirport": "SDU",
"DepartureDateTime": "2023-10-09T18:30:00",
"Boarding": "2023-10-09T18:45:00",
"Arriving": "2023-10-09T20:00:00"
}
]
}
]
},
"PaymentType": "CreditCard",
"NumberOfInstallments": 1
}
Attention: You should only send the
BraspagTransactionId
field if your flow isAuthorizeFirst
and you are using Pagador Braspag. TheBraspagTransactionId
field is the transaction identifier at Pagador. Find out more in Pagador documentation.
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Parameter | Description | Type | Size | Required |
---|---|---|---|---|
TotalOrderAmount |
Total amount of items. | long | - | Yes |
TransactionAmount |
Amount charged for this payment. | long | - | Não |
Provider |
Antifraude Gateway solution provider. In this case, use “ClearSale”. Table 1 - Provider | enum | - | Yes |
Currency |
Currency. More information at ISO 4217 Currency Codes. | string | 3 | Yes |
BraspagTransactionId |
Transaction ID in Braspag Pagador. Note: You can send this field if your fraud analysis flow is AuthorizeFirst, in which authorization happens first. If you do not have integration with Pagador Braspag, you can send the fields Tdi , Nsu , AuthorizationCode and SaleDate instead of the BraspagTransactionId field. |
GUID | No | - |
Customer.BrowserFingerprint |
Unique user session identifier. | string | 128 | Yes |
OrderDate |
Order date (if not sent, we will return the date of the request). | datetime | 0 | No |
NumberOfInstallments |
Number of installments. | int | - | No |
Customer.Ip |
IP of the order shopper. | string | 50 | No |
Customer.DocumentType |
1 = Physical person 2 = Legal entity. |
int | - | Yes |
Customer.MerchantCustomerId |
CPF or CNPJ. | string | 100 | Yes |
Customer.FirstName |
Shopper’s first name. | string | 60 | Yes |
Customer.LastName |
Shopper’s last name. | string | 60 | Yes |
Customer.BirthDate |
Shopper’s birth date. | datetime | 0 | No |
Customer.Email |
Shopper’s email. | string | 150 | Yes |
Billing.Street |
Shopper’s billing address. | string | 200 | Yes |
Billing.Number |
Shopper’s billing address number. | string | 15 | Yes |
Billing.Complement |
Shopper’s billing address complement. | string | 250 | No |
Billing.Neighborhood |
Shopper’s billing address neighborhood. | string | 150 | Yes |
Billing.City |
Shopper’s billing address city. | string | 150 | Yes |
Billing.State |
Shopper’s billing address state. | string | 2 | Yes |
Billing.Country |
Shopper’s billing address country. | string | 10 | Yes |
Billing.ZipCode |
Shopper’s billing address Zip Code. | string | 10 | Yes |
Customer.Phone |
Home telephone - Format +DDI DDD NNNNNNNN Example: +55 11 33333333. It is required to send at least one telephone number. | string | 20 | No |
Customer.WorkPhone |
Business telephone - Format +DDI DDD NNNNNNNN Example: +55 11 33333333. It is required to send at least one telephone number. | string | 20 | No |
Customer.Mobile |
Cell Phone - Format +DDI DDD NNNNNNNNN Example: +55 11 999999999. It is required to send at least one telephone number. | string | 20 | No |
Shipping.DocumentType |
1 = Physical person 2 = Legal entity. |
int | - | Yes |
Shipping.DocumentNumber |
CPF or CNPJ. | string | 100 | Yes |
Shipping.FirstName |
Recipient’s first name. | string | 60 | Yes |
Shipping.LastName |
Recipient’s last name. | string | 60 | Yes |
Shipping.Email |
Recipient’s email. | string | 150 | No |
Shipping.Street |
Shipping address street. | string | 200 | Yes |
Shipping.Number |
Shipping address number. | string | 15 | Yes |
Shipping.Complement |
Shipping address complement. | string | 250 | No |
Shipping.Neighborhood |
Shipping address neighborhood. | string | 150 | Yes |
Shipping.City |
Shipping address city. | string | 150 | Yes |
Shipping.State |
Shipping address state. | string | 2 | Yes |
Shipping.Country |
Shipping address country. | string | 150 | No |
Shipping.ZipCode |
Shipping address zip code. | string | 10 | Yes |
Shipping.Phone |
Home telephone - Format +DDI DDD NNNNNNNN Example: +55 11 33333333. It is required to send at least one telephone number. | string | 20 | No |
Shipping.workPhone |
Business telephone - Format +DDI DDD NNNNNNNN Example: +55 11 33333333. It is required to send at least one telephone number. | string | 20 | No |
Shipping.Mobile |
Cell Phone - Format +DDI DDD NNNNNNNNN Example: +55 11 999999999. It is required to send at least one telephone number. | string | 20 | No |
PaymentType |
Payment Type: CreditCard = 1 DebitCard = 2 |
int | - | Yes |
Card.Number |
Card number. | string | 19 | Yes |
Card.Brand |
Card brand. Find out more at Table 3 - Card.Brand | enum | - | No |
Card.ExpirationDate |
Card expiration date. | string | 50 | No |
Card.Holder |
Name of the card holder. | string | 150 | Yes |
CartItem[].Sku |
Product Sku | string | 50 | No |
CartItem[].ProductName |
Product name. | string | 150 | Yes |
CartItem[].UnitPrice |
Product unit price, in cents. | long | - | No |
CartItem[].Quantity |
Product quantity. | int | 0 | No |
CartItem[].Category |
Product category. Find out more in Table 36 - CartItem{n}.Category. | enum | 0 | Não |
Airline[].DepartureDateTime |
Date of the first flight of the order (in the case of airline tickets). | datetime | 0 | Conditional* |
Airline[].Passengers[].FirstName |
Passenger’s first name. It is required to send the Airline block when the segment is an airline. |
string | 60 | Conditional* |
Airline[].Passengers[].LastName |
Passenger’s last name. It is required to send the Airline block when the segment is an airline. |
string | 60 | Conditional* |
Airline[].Passengers[].PassengerId |
Identifier of the passenger for whom the ticket was issued. | string | 32 | Conditional* |
Airline[].Passengers[].Legs[].DepartureDateTime |
Date of departure. | datetime | 0 | Conditional* |
Airline[].Passengers[].Legs[].DepartureAirport |
Departure airport. | string | 5 | Conditional* |
Airline[].Passengers[].Legs[].ArrivalAirport |
Arrival airport. | string | 5 | Conditional* |
Airline[].Passengers[].Legs[].Boarding |
Boarding date. | datetime | 0 | Conditional* |
Airline[].Passengers[].Legs[].Arriving |
Arriving date. | datetime | 0 | Conditional* |
*É obrigatório enviar o bloco Airline
quando o segmento for companhia aérea.
{
"TransactionId": "79c92335-cbd7-4313-1842-08dbbaaa0d60",
"Status": "Accept",
"ProviderAnalysisResult": {
"ProviderTransactionId": "79C92335-CBD7-4313-1842-08DBBAAA0D60",
"ProviderStatus": "Accept",
"ProviderCode": 1,
"Score": "99.99"
},
"TotalOrderAmount": 46000,
"TransactionAmount": 45500,
"Currency": "BRL",
"Provider": "ClearSale",
"OrderDate": "2023-09-26T08:44:30.1945689",
"BraspagTransactionId": "1cbdd27f-80e4-47a6-9921-59a24989536f",
"Card": {
"Number": "400002******1111",
"Holder": "Guilherme Silva",
"ExpirationDate": "08/2033",
"Cvv": "***",
"Brand": "Visa"
},
"Billing": {
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "21 andar",
"Neighborhood": "Alphaville",
"City": "Barueri",
"State": "SP",
"Country": "BR",
"ZipCode": "06455030"
},
"Shipping": {
"DocumentType": "Cpf",
"DocumentNumber": "99988877714",
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "21 andar",
"Neighborhood": "Alphaville",
"City": "Barueri",
"State": "SP",
"Country": "BR",
"ZipCode": "06455030",
"Email": "nome@email.com",
"FirstName": "Nome",
"LastName": "Comprador",
"Phone": "+55 21 5555-1001",
"WorkPhone": "+55 21 5555-1002",
"Mobile": "+55 21 5555-1003",
"ShippingMethod": "Undefined"
},
"Customer": {
"MerchantCustomerId": "11111111111",
"DocumentType": "Cpf",
"FirstName": "Bruno",
"LastName": "Silva",
"FullName": "Bruno Silva",
"BirthDate": "1996-11-14T00:00:00",
"Email": "nome@email.com.br",
"Ip": "127.0.0.1",
"Phone": "+55 21 5555-1004",
"Mobile": "+55 21 5555-1005",
"WorkPhone": "+55 21 5555-1006",
"BrowserFingerprint": "MzE5MjAzODg0NA=="
},
"Airline": {
"JourneyType": 0,
"Passengers": [
{
"FirstName": "Bruno",
"LastName": "Silva",
"PassengerId": "99988877714",
"Status": "Undefined",
"PassengerType": "Undefined",
"Legs": [
{
"ArrivalAirport": "CGH",
"DepartureAirport": "SDU",
"DepartureDateTime": "2023-10-09T18:30:00",
"Boarding": "2023-10-09T18:45:00",
"Arriving": "2023-10-09T20:00:00"
}
]
},
{
"FirstName": "Guilherme",
"LastName": "Silva",
"PassengerId": "99988877714",
"Status": "Undefined",
"PassengerType": "Undefined",
"Legs": [
{
"ArrivalAirport": "CGH",
"DepartureAirport": "SDU",
"DepartureDateTime": "2023-10-09T18:30:00",
"Boarding": "2023-10-09T18:45:00",
"Arriving": "2023-10-09T20:00:00"
}
]
}
]
},
"PaymentType": "CreditCard",
"NumberOfInstallments": 1
}
"Links": [
{
"Method": "GET",
"Href": "http://risksandbox.braspag.com.br/Analysis/v2/79c92335-cbd7-4313-1842-08dbbaaa0d60",
"Rel": "Self"
}
],
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
201 Created |
Parameters in the body
Parameter | Description | Type |
---|---|---|
TransactionId |
Transaction Id at Antifraude Gateway Braspag | GUID |
Status |
Transaction status at Antifraude Gateway Braspag Table 19 - Status. |
enum |
ProviderAnalysisResult.ProviderTransactionId |
Transaction Id at ClearSale. | string |
ProviderAnalysisResult.ProviderStatus |
Transaction status at ClearSale. Table 20 - ProviderStatus. |
enum |
ProviderAnalysisResult.ProviderCode |
Return code at ClearSale. Table 21 - ProviderAnalysisResult.ProviderCode. |
enum |
ProviderAnalysisResult.Score |
Total score calculated for the order. | number |
{
"Message": "The request is invalid.",
"ModelState": {
"request.Customer.Gender": [
"Error converting value \"M\" to type 'Antifraude.Domain.Enums.GenderType'. Path 'Customer.Gender', line 51, position 17."
],
"FraudAnalysisRequestError": [
"The Card.EciThreeDSecure lenght is gratter than 1",
"The Shipping.Complement lenght is gratter than 14",
"The Shipping.MiddleName lenght is gratter than 1",
"The Customer.MerchantCustomerId lenght is gratter than 16",
"The Customer.MiddleName lenght is gratter than 1"
]
}
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
400 Bad Request |
Parameters in the body
Parameters | Description |
---|---|
Message |
Message stating that the request is invalid. |
ModelState |
Collection that will contain messages with fields that do not conform to the type or domain as specified in the manual. |
FraudAnalysisRequestError |
CCollection that will contain messages with fields that do not conform to the size specified in the manual. |
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
404 Not Found |
To know the status of a transaction, we recommend that you set up Post Notification to receive status change notifications and query by poll to view the current status.
The Notification Post is a webhook that sends a notification to the URL registered by the merchant, in case there is any change in the status of the transaction:
After receiving the status change notification, make a query sending the transaction ID received to get the new transaction status:
Querying a transaction at Cybersource
Querying a transaction at ACI Worldwide
{
"Id":"tttttttt-tttt-tttt-tttt-tttttttttttt"
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Parameters in the body
Parameter | Description | Type |
---|---|---|
Id |
Transaction ID in Braspag Antifraude Gateway | guid |
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Status |
200 OK |
The association of a Pagador Braspag transaction or another authorization solution to an Antifraude Gateway Braspag transaction can be done when the fraud analysis flow is AuthorizeFirst.
You must make this request when you:
- Carry out a fraud analysis using the Braspag Antifraud Gateway
- Carry out the authorization through Pagador Braspag or another authorization solution.
To learn more about the AuthorizeFirst model of fraud analysis, in which the risk analysis takes place after authorization of the transaction, consult the [Pagador Manula]](https://braspag.github.io//en/manual/braspag-pagador#payments-with-fraud-analysis){:target=”_blank”}.
{
"BraspagTransactionId": "a3e08eb2-2144-4e41-85d4-61f1befc7a3b"
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Parameter | Description | Type | Required | Size |
---|---|---|---|---|
BraspagTransactionId |
Transaction ID in Pagador Braspag | guid | yes | - |
The response will always present in the header the Content-Type
with the value “application/json” and the Status
. Below is the possible status for each scenario:
Status | Description |
---|---|
200 OK | The Pagador transaction was correctly associated with the Antifraude Gateway transaction. |
400 Bad Request | The Pagador transaction was not informed in the request. |
404 Not Found | The Antifraude Gateway transaction was not found in the database. |
409 Conflict | The Pagador transaction is already associated with another Antifraude Gateway transaction. |
{
"Tid": "12345678910111216AB8",
"Nsu": "951852",
"AuthorizationCode":"T12345",
"SaleDate": "2016-12-09 10:01:55.662"
}
Parameters in the header
Key | Value |
---|---|
Content-Type |
application/json |
Authorization |
Bearer {access_token} |
MerchantId |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
RequestId |
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn |
Parameters in the body
Parameters | Description | Type | Required | Size |
---|---|---|---|---|
Tid |
Transaction ID at acquirer. | string | Yes | 20 |
Nsu |
Unique sequential number of the transaction at the acquirer. | string | Yes | 10 |
AuthorizationCode |
Transaction authorization code at acquirer. | string | Yes | 10 |
SaleDate |
Transaction authorization date of the transaction at acquirer. | datetime | Yes | - |
The response will always present in the header the Content-Type
with the value “application/json” and the Status
. Below is the possible status for each scenario:
Status | Description |
---|---|
200 OK | The transaction from the other authorization solution (different from Pagador) was correctly associated with the Antifraude Gateway transaction. |
400 Bad Request | One of the contract fields (Tid, Nsu, Authorization code and Sale date) was not informed in the requisition. |
404 Not Found | The Antifraude Gateway transaction was not found in the database. |
409 Conflict | The transaction from the other authorization solution is already associated with another transaction from the Antifraude Gateway. |
Provider | Value |
---|---|
Cybersource | Cybersource |
ACI Wordwide | ReDShield |
Value | Description | Provider |
---|---|---|
None | Payment with one card only. | ACI Wordwide |
CardSplit | Payment with more than one card. | ACI Wordwide |
MixedPaymentMethodSplit | Payment with more than one payment method. | ACI Wordwide |
Value | Provider | Observation |
---|---|---|
Amex | Cybersource, ACI Wordwide | - |
Diners | Cybersource, ACI Wordwide | - |
Discover | Cybersource, ACI Wordwide | - |
JCB | Cybersource, ACI Wordwide | - |
Master | Cybersource, ACI Wordwide | - |
Dankort | Cybersource, ACI Wordwide | - |
Cartebleue | Cybersource, ACI Wordwide | - |
Maestro | Cybersource, ACI Wordwide | - |
Visa | Cybersource, ACI Wordwide | - |
Elo | Cybersource, ACI Wordwide | - |
Hipercard | Cybersource, ACI Wordwide | Will be sent to Cybersource as Private Label |
Aura | Cybersource | Will be sent to Cybersource as Private Label |
Hiper | Cybersource | Will be sent to Cybersource as Private Label |
Naranja | Cybersource | Will be sent to Cybersource as Private Label |
Nevada | Cybersource | Will be sent to Cybersource as Private Label |
Cabal | Cybersource | Will be sent to Cybersource as Private Label |
Credz | Cybersource | Will be sent to Cybersource as Private Label |
Credsystem | Cybersource | Will be sent to Cybersource as Private Label |
Banese | Cybersource | Will be sent to Cybersource as Private Label |
Riachuelo | Cybersource | Will be sent to Cybersource as Private Label |
Carnet | Cybersource | Will be sent to Cybersource as Private Label |
Other | Cybersource | Will be sent to Cybersource as Private Label |
Value | Description | Provider |
---|---|---|
SameDay | Same day delivery | Cybersource |
SameDay | Same day delivery | ACI Worldwide, Cybersource |
NextDay | Next day delivery | ACI Worldwide, Cybersource |
TwoDay | Delivery in two days | ACI Worldwide, Cybersource |
ThreeDay | Delivery in three days | ACI Worldwide, Cybersource |
LowCost | Low cost delivery method | ACI Worldwide, Cybersource |
Pickup | Store pickup | ACI Worldwide, Cybersource |
CarrierDesignatedByCustomer | Delivery method designated by the shopper | ACI Worldwide |
International | International delivery method | ACI Worldwide |
Military | Military delivery method | ACI Worldwide |
Other | Other delivery methods | ACI Worldwide, Cybersource |
None | No delivery method as it is a service or subscription | ACI Worldwide, Cybersource |
Value | Provider |
---|---|
Male | ACI Worldwide |
Female | ACI Worldwide |
Value | Description | Provider |
---|---|---|
New | Identifies when the shopper is new to the store and never made a purchase | ACI Worldwide |
Existing | Identifies when the shopper has used the store and has already made a purchase | ACI Worldwide |
Value | Description | Provider |
---|---|---|
OneWayTrip | One-way trip | Cybersource |
RoundTrip | Round trip | Cybersource |
Value | Description | Provider |
---|---|---|
Adult | Adult | ACI Worldwide, Cybersource |
Child | Child | ACI Worldwide, Cybersource |
Infant | Infant | ACI Worldwide, Cybersource |
Youth | Teenager | ACI Worldwide |
Student | Student | ACI Worldwide |
SeniorCitizen | Senior Citizen | ACI Worldwide |
Military | Military | ACI Worldwide |
Value | Provider |
---|---|
Standard | Cybersource |
Gold | Cybersource |
Platinum | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Product associated with a low amount of chargebacks (default) | Cybersource |
Normal | Product associated with the normal amount of chargebacks | Cybersource |
High | Product associated with a high amount of chargebacks | Cybersource |
Value | Description | Provider |
---|---|---|
Yes | In case of divergence between billing and delivery addresses, assign low risk to the order | Cybersource |
No | In case of divergence between billing and delivery addresses, assign high risk to the order (default) | Cybersource |
Off | Differences between billing and delivery addresses do not affect the score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Low | Low | Cybersource |
Normal | Normal (default) | Cybersource |
High | High | Cybersource |
Off | Will not affect the fraud analysis score | Cybersource |
Value | Description | Provider |
---|---|---|
Consumer | Personal credit card (default) | Cybersource |
Corporate | Corporate credit card | Cybersource |
Debit | Debit card | Cybersource |
CollectDelivery | Charge on delivery | Cybersource |
EletronicCheck | Electronic check | Cybersource |
PaymentP2P | Person-to-person payment | Cybersource |
PrivateLabel | Private credit card payment | Cybersource |
Other | Payments with other methods | Cybersource |
Value | Description | Provider |
---|---|---|
Accept | Transaction accepted after fraud analysis | ACI Worldwide, Cybersource |
Review | Transaction under review after fraud analysis | ACI Worldwide, Cybersource |
Reject | Transaction rejected after fraud analysis | ACI Worldwide, Cybersource |
Pendent | Transaction pending, because when sending it for fraud analysis there was a timeout in the response between Braspag and Cybersource | Cybersource |
Unfinished | Transaction not finalized due to some contract validation reason or internal error A transaction analyzed at Cybersource, in the analysis response the field ProviderAnalysisResult.ProviderStatus is equal to REJECT and the field ProviderAnalysisResult.ProviderCode other than 481, transaction status will be Unfinished |
ACI Worldwide, Cybersource |
ProviderError | Transação com erro no provedor ao ser enviada para análise | ACI Worldwide, Cybersource |
Value | Description | Provider | From-To with the Status field (Status of the transaction in the Braspag Antifraude Gateway) |
---|---|---|---|
APPROVE | Transaction approved at the provider | ACI Worldwide | Accept |
ACCEPT | Transaction accepted at provider | ACI Worldwide, Cybersource | Accept |
PEND | Transaction under review at the provider | ACI Worldwide | Review |
CHALLENGE | Transaction under review at the provider | ACI Worldwide | Review |
REVIEW | Transaction under review at the provider | Cybersource | Review |
CANCEL | Transaction rejected at provider | ACI Worldwide | Reject |
DENY | Transaction rejected at provider | ACI Worldwide | Reject |
REJECT | Transaction rejected at provider | Cybesource | Reject |
ENETLP | Transaction error at provider | ACI Worldwide | ProviderError |
ENORSP | Transaction error at provider | ACI Worldwide | ProviderError |
ERROR | Transaction error at provider | ACI Worldwide, Cybersource | ProviderError |
Value | Description | Provider |
---|---|---|
100 | Successfully performed operation | Cybersource |
101 | Transaction submitted for fraud analysis is missing one or more required fields. Check the ProviderAnalysisResult.Missing field in the response Possible action: Resend the transaction with complete information |
Cybersource |
102 | The transaction sent for fraud analysis has one or more fields with invalid values Check the ProviderAnalysisResult.Invalid field in the response Possible action: Resend the transaction with the correct information |
Cybersource |
150 | Internal error Possible Action: Wait a few minutes and try to resend the transaction |
Cybersource |
151 | The transaction was received, but the server timed out. This error does not include time-out between client and server Possible Action: Wait a few minutes and try to resend the transaction |
Cybersource |
152 | Order was received, but time-out occurred Possible Action: Wait a few minutes and try to resend the transaction |
Cybersource |
202 | The transaction was declined because the card has expired or the expiration date does not match the correct one Possible action: Request another card or payment method |
Cybersource |
231 | The transaction was declined as card is invalid Possible action: Request another card or payment method |
Cybersource |
234 | Problem with store configuration at Cybersource Possible action: Contact support to fix the configuration issue |
Cybersource |
400 | Fraud score exceeds your threshold Possible action: Review the shopper’s transaction |
Cybersource |
480 | The transaction was marked as review by the DM (Decision Manager) | Cybersource |
481 | The transaction was rejected by the DM(Decision Manager) | Cybersource |
Value | Description | Provider |
---|---|---|
COR-BA | Billing address can be normalized | Cybersource |
COR-SA | Delivery address can be normalized | Cybersource |
INTL-BA | Billing address country is outside the US | Cybersource |
INTL-SA | Delivery address country is outside the US | Cybersource |
MIL-USA | US Military Address | Cybersource |
MM-A | Billing and delivery addresses use different street names | Cybersource |
MM-BIN | Card BIN (first six digits of card number) does not match country | Cybersource |
MM-C | Billing and delivery addresses use different cities | Cybersource |
MM-CO | Billing and delivery addresses use different countries | Cybersource |
MM-ST | Billing and shipping addresses use different states | Cybersource |
MM-Z | Billing and delivery addresses use different postal codes | Cybersource |
UNV-ADDR | The address is unverifiable | Cybersource |
Value | Description | Provider |
---|---|---|
A | Excessive change of address. Shopper has changed billing address two or more times in the past six months | Cybersource |
B | Card BIN or risk authorization. Risk factors are related to credit card BIN and/or card authorization checks | Cybersource |
C | High numbers of credit cards. Shopper has used more than six credit card numbers in the last six months | Cybersource |
D | Impact of email address. Shopper uses free email provider or email address is risky | Cybersource |
E | Positive list. The shopper is on your positive list | Cybersource |
F | Negative list. Account number, address, email address or IP address for this purpose appears your negative list | Cybersource |
G | Geolocation inconsistencies. Shopper’s email domain, phone number, billing address, shipping address or IP address is suspicious | Cybersource |
H | Excessive name changes. The shopper changed the name two or more times in the last six months | Cybersource |
I | Internet inconsistencies. IP address and email domain are not consistent with billing address | Cybersource |
N | Meaningless input. Shopper’s name and address fields contain meaningless words or language | Cybersource |
O | Obscenities. Shopper data contains obscene words | Cybersource |
P | Morphing identity. Multiple values of an identity element are linked to a value of a different identity element. For example, multiple phone numbers are linked to a single account number. | Cybersource |
Q | Phone inconsistencies. Shopper’s phone number is suspicious | Cybersource |
R | Risky order. Transaction, shopper and merchant show high risk correlated information | Cybersource |
T | Time coverage. The shopper is trying to buy outside the expected time | Cybersource |
U | Unverifiable address. Billing or delivery address cannot be verified | Cybersource |
V | Card has been used many times in the last 15 minutes | Cybersource |
W | Marked as suspicious. The billing or delivery address is similar to an address previously marked as suspicious | Cybersource |
Y | The address, city, state or country of the billing and delivery addresses do not match | Cybersource |
Z | Invalid value. Since the request contains an unexpected value, a default value has been substituted. Although the transaction can still be processed, examine the order carefully for anomalies | Cybersource |
Value | Description | Provider |
---|---|---|
CN | Private card | Cybersource |
CP | Corporate card | Cybersource |
Value | Description | Provider |
---|---|---|
CON-POSNEG | The order triggered both a positive and negative list match. The result of the positive list match overrides that of the negative list match | Cybersource |
NEG-BA | The billing address is on the negative list | Cybersource |
NEG-BCO | The billing country is on the negative list | Cybersource |
NEG-BIN | The credit card BIN (the first six digits of the number) is on the negative list | Cybersource |
NEG-BINCO | The country in which the credit card was issued is on the negative list | Cybersource |
NEG-BZC | The billing postal code is on the negative list | Cybersource |
NEG-CC | The credit card number is on the negative list | Cybersource |
NEG-EM | The email address is on the negative list | Cybersource |
NEG-EMCO | The country in which the email address is located is on the negative list | Cybersource |
NEG-EMDOM | The email domain (for example, mail.example.com) is on the negative list | Cybersource |
NEG-FP | O device fingerprint está na lista negativa | Cybersource |
NEG-HIST | A transaction was found on the negative list | Cybersource |
NEG-ID | The customer’s account ID is on the negative list | Cybersource |
NEG-IP | The IP address (for example, 10.1.27.63) is on the negative list | Cybersource |
NEG-IP3 | The network IP address (for example, 10.1.27) is on the negative list. A network IP address includes up to 256 IP addresses | Cybersource |
NEG-IPCO | The country in which the IP address is located is on the negative list | Cybersource |
NEG-PEM | A passenger’s email address is on the negative list | Cybersource |
NEG-PH | The phone number is on the negative list | Cybersource |
NEG-PID | A passenger’s account ID is on the negative list | Cybersource |
NEG-PPH | A passenger’s phone number is on the negative list | Cybersource |
NEG-SA | The shipping address is on the negative list | Cybersource |
NEG-SCO | The shipping country is on the negative list | Cybersource |
NEG-SZC | The shipping postal code is on the negative list | Cybersource |
POS-TEMP | The customer is on the temporary positive list | Cybersource |
POS-PERM | The customer is on the permanent positive list | Cybersource |
REV-BA | The billing address is on the review list | Cybersource |
REV-BCO | The billing country is on the review list | Cybersource |
REV-BIN | The credit card BIN (the first six digits of the number) is on the review list | Cybersource |
REV-BINCO | The country in which the credit card was issued is on the review list | Cybersource |
REV-BZC | The billing postal code is on the review list | Cybersource |
REV-CC | The credit card number is on the review list | Cybersource |
REV-EM | The email address is on the review list | Cybersource |
REV-EMCO | The country in which the email address is located is on the review list | Cybersource |
REV-EMDOM | The email domain (for example, mail.example.com) is on the review list | Cybersource |
REV-FP | O device fingerprint está na lista de revisão | Cybersource |
REV-ID | The customer’s document (CPF ou CNPJ) is on the review list | Cybersource |
REV-IP | The IP address (for example, 10.1.27.63) is on the review list | Cybersource |
REV-IP3 | The network IP address (for example, 10.1.27) is on the review list. A network IP address includes up to 256 IP addresses | Cybersource |
REV-IPCO | The country in which the IP address is located is on the review list | Cybersource |
REV-PEM | A passenger’s email address is on the review list | Cybersource |
REV-PH | The phone number is on the review list | Cybersource |
REV-PID | A passenger’s account ID is on the review list | Cybersource |
REV-PPH | A passenger’s phone number is on the review list | Cybersource |
REV-SA | The shipping address is on the review list | Cybersource |
REV-SCO | The shipping country is on the review list | Cybersource |
REV-SZC | The shipping postal code is on the review list | Cybersource |
Value | Description | Provider |
---|---|---|
MORPH-B | The same billing address has been used several times with multiple customer identities | Cybersource |
MORPH-C | The same card number has been used several times with multiple customer identities | Cybersource |
MORPH-E | The same email address has been used several times with multiple customer identities | Cybersource |
MORPH-I | The same IP address has been used several times with multiple customer identities | Cybersource |
MORPH-P | The same phone number has been used several times with multiple customer identities | Cybersource |
MORPH-S | The same shipping address has been used several times with multiple customer identities | Cybersource |
Value | Description | Provider |
---|---|---|
FREE-EM | The customer’s email address is from a free email provider | Cybersource |
INTL-IPCO | The country of the customer’s IP address is outside of the U.S. | Cybersource |
INV-EM | The customer’s email address is invalid | Cybersource |
MM-EMBCO | The domain in the customer’s email address is not consistent with the country in the billing address | Cybersource |
MM-IPBC | The customer’s IP address is not consistent with the city in the billing address | Cybersource |
MM-IPBCO | The customer’s IP address is not consistent with the country in the billing address | Cybersource |
MM-IPBST | The customer’s IP address is not consistent with the state in the billing address. However, this information code may not be returned when the inconsistency is between immediately adjacent states | Cybersource |
MM-IPEM | The customer’s email address is not consistent with the customer’s IP address | Cybersource |
RISK-EM | The customer’s email domain (for example, mail.example.com) is associated with higher risk | Cybersource |
UNV-NID | The customer’s IP address is from an anonymous proxy. These entities completely hide the IP information | Cybersource |
UNV-RISK | The IP address is from a risky source | Cybersource |
UNV-EMBCO | The country of the customer’s email address does not match the country in the billing address | Cybersource |
Value | Description | Provider |
---|---|---|
MM-ACBST | Customer’s phone number not consistent with billing address state | Cybersource |
RISK-AC | Customer’s area code associated with high risk | Cybersource |
RISK-PH | U.S. or Canada phone number incomplete, or one or more parts of the number are risky | Cybersource |
TF-AC | Phone number uses toll-free area code | Cybersource |
UNV-AC | Invalid area code | Cybersource |
UNV-OC | Invalid area code and/or phone prefix | Cybersource |
UNV-PH | Invalid phone number | Cybersource |
Value | Description | Provider |
---|---|---|
BAD-FP | The device is risky | Cybersource |
INTL-BIN | The credit card was issued outside of the U.S. | Cybersource |
MM-TZTLO | The device’s time zone is inconsistent with the country’s time zones | Cybersource |
MUL-EM | The customer has used more than four different email addresses | Cybersource |
NON-BC | The billing city is nonsensical | Cybersource |
NON-FN | The customer’s first name is nonsensical | Cybersource |
NON-LN | The customer’s last name is nonsensical | Cybersource |
OBS-BC | The billing city contains obscenities | Cybersource |
OBS-EM | The email address contains obscenities | Cybersource |
RISK-AVS | The combined AVS test result and normalized billing address are risky, such as when the AVS result indicates an exact match, but the normalized billing address is not deliverable | Cybersource |
RISK-BC | The billing city has repeated characters | Cybersource |
RISK-BIN | In the past, this payment card BIN has shown a high incidence of fraud | Cybersource |
RISK-DEV | Some of the device characteristics are risky | Cybersource |
RISK-FN | The customer’s first and last names contain unlikely letter combinations | Cybersource |
RISK-LN | The customer’s middle or last name contains unlikely letter combinations | Cybersource |
RISK-PIP | The proxy IP address is risky | Cybersource |
RISK-SD | The inconsistency in billing and shipping countries is risky | Cybersource |
RISK-TB | The day and time of the order associated with the billing address is risky | Cybersource |
RISK-TIP | The true IP address is risky | Cybersource |
RISK-TS | The day and time of the order associated with the shipping address is risky | Cybersource |
Value | Description | Provider |
---|---|---|
VEL-ADDR | Different billing and/or shipping states (U.S. and Canada only) have been used several times with the credit card number and/or email address | Cybersource |
VEL-CC | Different credit cards have been used several times with the same name or email address | Cybersource |
VEL-NAME | Different names have been used several times with the credit card number and/or email address | Cybersource |
VELS-CC | The credit cards has been used several times during the short tracking interval | Cybersource |
VELI-CC | The credit cards has been used several times during the medium tracking interval | Cybersource |
VELL-CC | The credit cards has been used several times during the long tracking interval | Cybersource |
VELV-CC | The credit cards has been used several times during the very long tracking interval | Cybersource |
VELS-EM | The customer’s email address has been used several times during the short tracking interval | Cybersource |
VELI-EM | The customer’s email address has been used several times during the medium tracking interval | Cybersource |
VELL-EM | The customer’s email address has been used several times during the long tracking interval | Cybersource |
VELV-EM | The customer’s email address has been used several times during the very long tracking interval | Cybersource |
VELS-FP | The device fingerptint has been used several times during the short tracking interval. | |
VELI-FP | The device fingerptint has been used several times during the medium tracking interval. | |
VELL-FP | The device fingerptint has been used several times during the long tracking interval. | |
VELV-FP | The device fingerptint has been used several times during the very long tracking interval. | |
VELS-IP | The IP address has been used several times during the short tracking interval | Cybersource |
VELI-IP | The IP address has been used several times during the medium tracking interval | Cybersource |
VELL-IP | The IP address has been used several times during the long tracking interval | Cybersource |
VELV-IP | The IP address has been used several times during the very long tracking interval | Cybersource |
VELS-SA | The shipping address has been used several times during the short tracking interval | Cybersource |
VELI-SA | The shipping address has been used several times during the medium tracking interval | Cybersource |
VELL-SA | The shipping address has been used several times during the long tracking interval | Cybersource |
VELV-SA | The shipping address has been used several times during the very long tracking interval | Cybersource |
VELS-TIP | The true IP address has been used several times during the short interval | Cybersource |
VELI-TIP | The true IP address has been used several times during the medium interval | Cybersource |
VELL-TIP | The true IP address has been used several times during the long interval | Cybersource |
Value | Description | Provider |
---|---|---|
Anonymizer | IP addresses that are hidden because the customer is extremely cautious, wants absolute privacy, or is fraudulent | Cybersource |
AOL, AOL dialup, AOL POP and AOL proxy | AOL members. In most cases, the country can be identified, but the state and city cannot | Cybersource |
Cache proxy | Proxy used through either an Internet accelerator or a content distribution service. The customer may be located in a country different from that indicated by the IP address | Cybersource |
Fixed | IP address is near or at the same location as the user | Cybersource |
International proxy | Proxy that contains traffic from multiple countries. The customer may be located in a country different from that indicated by the IP address. In many cases, corporate networks are routing the traffic from international offices through a central point, often the corporate headquarters | Cybersource |
Mobile gateway | Gateway to connect mobile devices to the public Internet. Many mobile operators, especially in Europe, service more than one country and route traffic through centralized network hubs. The customer may be located in a country different from that indicated by the IP address | Cybersource |
POP | Customer dialing into a regional ISP most likely near the IP location but possibly across geographical boundaries | Cybersource |
Regional proxy | Proxy that contains traffic from multiple states within a single country. The customer may be located in a state different from that indicated by the IP address. In many cases, corporate networks are routing the traffic from regional offices through a central point, often the corporate headquarters | Cybersource |
Satellite | Satellite connections. If the uplink and the downlink are registered, the routing method is considered standard because the sender is known. However, if the downlink is not registered, the customer can be anywhere within the beam pattern of the satellite, which may span a continent or more | Cybersource |
SuperPOP | Customer is dialing into a multi-state or multi-national ISP that is not likely near the IP location. The customer may be dialing across geographical boundaries | Cybersource |
No value returned | The routing type is unknown | Cybersource |
Value | Provider |
---|---|
ACCEPT | Cybersource |
ERROR | Cybersource |
REJECT | Cybersource |
REVIEW | Cybersource |
Value | Description | Provider |
---|---|---|
T | The rule is true | Cybersource |
F | The rule is false | Cybersource |
N | The rule can not be evaluated because the data is insufficient | Cybersource |
E | The rule can not be evaluated because an error has occurred | Cybersource |
Relevance level
1 - Relevant
2 - Very Relevant
3 - Extremely Relevant
Depending on the level of relevance of the fields and the possibility of designing the risk strategy according to the needs of your business, when validating test transactions, they will be charged if they are not sent. With this, we request a prior analysis of the documentation and signaling of the fields that will not be possible to be sent.
If you do not have the data to send, please do not send the corresponding field as empty, that is, just do not send it.
ID | Value | Type | Relevance Level | Segment | Required |
---|---|---|---|---|---|
1 | Customer who logged in. Possible values: “{customer_login}” (if the final customer logs in to purchase on the site) / “Guest” (if the final customer makes the purchase as a visitor). Note: Do not submit the field if the sale is made directly by a third party (e.g.: an agent). | string | 2 | All | Yes |
2 | How long (in days) the customer has been your customer. E.g.: 314. | int | 3 | All | No |
3 | Quantity of order installments. | int | 3 | All | No |
4 | Sales channel. Possible values: “Call Center” (phone purchase) / “Web” (web purchase) / “Portal” (purchase through agent) / “Kiosk” (kiosk purchase) / “Mobile” (cell phone or tablet purchases). Note: When “Call Center”, the submission of field 39(call center user name) is required. | string | 3 | All | Yes |
5 | Coupon/discount code in case the customer uses it in the purchase. | string | 1 | All | No |
6 | How long (in days) since customer’s last purchase. E.g.: 55. | int | 3 | All | No |
7 | Seller’s code or name. | string | 1 | All | No |
8 | Number of customer’s attempts to pay one same order, which may have been using different credit cards and/or other payment methods. | int | 2 | All | No |
9 | Identifies if the customer will pick up the product in the store. Possible values: “YES” / “NO”. Note: When “YES”, the submission of field 22(code of pick up store) is required. | string | 3 | Retail or Cosmetics | Yes |
10 | Identifies whether payment will be made by someone not present on the trip or package. Possible values: “YES” / “NO”. | string | 3 | Air or Tourism | No |
11 | Hotel category (star rating). Possible values: “1” (simple) / “2” (budget) / “3” (tourism) / “4” (superior) / “5” (luxury). | int | 3 | Tourism | No |
12 | How long (in days) from purchase date to hotel check-in. E.g.: 123. | int | 3 | Tourism | No |
13 | Number of nights at the hotel. E.g.: 5. | int | 3 | Tourism | No |
14 | Trip or package category. Possible values: “National” / “International” / “National/International”. |
string | 3 | Air or Tourism | No |
15 | Name of airline / car rental /hotel. Note: Name each company name, separated by a “/”. | string | 2 | Air or Tourism | No |
16 | Reservation PNR code. When there is a reservation change for this PNR to an earlier flight date, it is important to apply a new fraud analysis by resubmitting this PNR. | string | 3 | Air | No |
17 | Identifies if the reservation was brought forward. Possible values: “YES” / “NO”. Note: When “YES”, the submission of field 16 (reservation PNR code) is required. | string | 3 | Air | No |
18 | Rented vehicle category. Possible values: “1” (basic) / “2” (sport) / “3” (prime) / “4” (utility) / “5” (armored). | string | 3 | Tourism | No |
19 | Identifies if the package refers to a cruise. Possible values: “YES” / “NO”. | string | 2 | Tourism | No |
20 | Decision of fraud review for the latest purchase. Possible values: “ACCEPT” / “REJECTED”. | string | 3 | All | No |
21 | Shipping cost. E.g.: 10599 = $ 105.99 | long | 1 | Retail or Cosmetics | No |
22 | Code of pick up store. Note: This field must be sent when field 9 is “YES”. | string | 3 | Retail or Cosmetics | No |
23 | Credit card suffix (last 4 digits). | int | 1 | All | No |
24 | How long in days since first customer purchase. E.g.: 150. | int | 3 | All | No |
25 | Gender of the customer. Possible values: “F” (female) / “M” (male). | string | 2 | All | No |
26 | Credit card bin (first 6 digits). | int | 1 | All | No |
27 | Delivery address street type. Possible values: “R” (residential) / “C” (commercial). | string | 2 | All | No |
28 | Average time taken by the customer to make the purchase. | int | 2 | All | No |
29 | Number of retries the customer made to log in. | int | 2 | All | No |
30 | Number of web pages the customer visited within the 30 minutes before the purchase. | int | 2 | All | No |
31 | Number of changes of credit card number the customer made to make the order payment. | int | 2 | All | No |
32 | Identifies whether the email was pasted or typed. Possible values: “Typed” / “Pasted”. | string | 3 | All | No |
33 | Identifies whether the credit card number was pasted or entered. Possible values: “Typed / Pasted”. | string | 3 | All | No |
34 | Identifies if the email has been verified for account activation. Possible values: “YES” / “NO”. | string | 2 | All | No |
35 | Identifies the type of customer. Possible values: “Local” / “Tourist”. | string | 2 | Tourism | No |
36 | Identifies whether a giftcard was used as the payment method. Possible values: “YES” / “NO”. | string | 1 | All | No |
37 | Order delivery method. Possible values: “Sedex” / “Sedex 10” / “1 day” / “2 days” / “Motoboy” / “Same day”. | string | 3 | Retail or Cosmetics | No |
38 | Customer phone number identified via caller ID for a sale made through a “Call Center”. Format: DDIDDNumber - E.g.: 552121114720. | string | 3 | All | No |
39 | Call center username. Note: This field must be sent when field 4 is “Call Center”. | string | 1 | All | No |
40 | Comments added when the order is a gift. | string | 1 | All | No |
41 | Document type. Possible values: “CPF” / “CNPJ” / “Passport”. | string | 2 | All | No |
42 | Customer’s age. | int | 2 | All | No |
43 | Customer’s income range. E.g.: 100000 = $ 1,000.00. | long | 2 | All | No |
44 | Historical quantity of customer purchases. | int | 3 | All | No |
45 | Identifies if the purchase was made by an employee. Possible values: “YES” / “NO”. | string | 2 | All | No |
46 | Name printed on the credit card (bearer). | string | 3 | All | No |
47 | Identifies whether it is a private label card. Possible values: “YES” / “NO”. | string | 2 | All | No |
48 | Number of payment methods used to make the purchase. | int | 2 | All | No |
49 | Average value of the purchases made over the past 6 months. E.g.: 159050 = $ 1,590.99. | long | 3 | All | No |
50 | Current purchase value deviation factor over average of the past 6 months. | 3 | All | No | |
51 | Identifies if you are a VIP client with special risk treatment or positive list. Possible values: “YES” / “NO”. | string | 3 | All | No |
52 | Product category. Possible values: “Animals & Pets” / “Clothing & Accessories” / “Business & Industry” / “Cameras & Optics” / “Electronics” / “Food, Beverage & Cigarettes” / “Furniture” / “Tools” / “Health & Beauty” / “Home & Garden” / “Bags & Luggage” / “Adult” / “Guns & Ammo” / “Office Supplies” / “Religion & Ceremonials” / “Software” / “Sports Equipment” / “Toys & Games” / “Vehicles & Parts” / “Books” / “DVDs & Videos” / “Magazines & Newspapers” / “Music” / “Other Unspecified Categories”. | string | 2 | All | No |
53 | Identifies if there is an SMS phone confirmation routine. Possible values: “YES” / “NO”. | string | 2 | All | No |
54 | 2nd payment method. | string | 2 | All | No |
55 | 3rd payment method. | string | 2 | All | No |
56 | If 2nd payment method is “credit card”, send brand. | string | 1 | All | No |
57 | If 3rd payment method is “credit card”, send brand. | string | 1 | All | No |
58 | If 2nd payment method, inform the amount paid. E.g.: 128599 = $ 1,285.99. | long | 2 | All | No |
59 | If 3rd payment method, inform the amount paid. E.g.: 59089 = R $ 590,89. | long | 2 | All | No |
60 | How long (in days) since last change. E.g.: 57. | int | 3 | All | No |
61 | Identifies if there was any registration information change. | string | 1 | No | |
62 | Number of points redeemed in the latest purchase. | long | 3 | Loyalty | No |
63 | Amount of points left in balance. | long | 2 | Loyalty | No |
64 | Number of days since last points exchange. | long | 2 | Loyalty | No |
65 | Customer identifier in loyalty program. | string | 2 | Loyalty | No |
66 | Number of minutes recharged over the past 30 days. | long | 2 | Digital Goods | No |
67 | Number of top-ups performed over the past 30 days. | long | 2 | Digital Goods | No |
68 | Number of days between departure date and return date. | int | 2 | Air | No |
69 | Number of passengers traveling regardless of age group. | int | 2 | Air | No |
70 | Flight identifier. | string | 1 | Air | No |
71 | Number of infants traveling. | int | 2 | Air | No |
72 | Number of children traveling. | int | 2 | Air | No |
73 | Number of adults traveling. | int | 2 | Air | No |
74 | Identifies a frequent flyer. Possible values: “YES” / “NO”. | string | 2 | Air | No |
75 | Frequent flyer number. | string | 2 | Air | No |
76 | Frequent flyer category. This category may vary according to the airline. | int | 2 | Air | No |
77 | Boarding day. Possible values: “Sunday” / “Monday” / “Tuesday” / “Wednesday” / “Thursday” / “Friday” / “Saturday”. | string | 2 | Air | No |
78 | Airline code. E.g.: “JJ” / “LA” / “AA” / “UA” / “G3” etc. | string | 1 | Air | No |
79 | Class of ticket fare. E.g.: “W” / “Y” / “N” etc. | string | 2 | Air | No |
80 | Passenger’s cell phone number. Format: DDIDDNumber - E.g.: 5521976781114. | string | 2 | Air | No |
81 | Identifies if the credit card holder will travel. Possible values: “YES” / “NO”. | string | 3 | Air | No |
82 | Identifies if the seller will work with manual review. Possible values: “YES” / “NO”. | string | 1 | All | No |
83 | Business segment. E.g.: “Retail”. | string | 2 | All | Yes |
84 | Name of the platform integrated with the Gateway Braspag Anti-fraud API. For direct integrations between the store and Braspag, send the value “PROPRIA”. | string | 3 | All | Yes |
85 to 89 | Free fields defined with the anti-fraud provider, according to the business rules. | - | - | - | No |
90 to 100 | Reserved. | - | - | - | No |
Key | Value | Type | Size | |
---|---|---|---|---|
1 to 3 | Reserved | - | - | |
4 to 8 | Free fields defined with the anti-fraud provider, according to business rules | var | 256 | |
9 to 13 | Reserved | - | - | |
14 | Segment | MCC (Merchant Category Code) of your store | int | - |
15 to 20 | Free fields defined with the anti-fraud provider, according to business rules | var | 30 | |
21 | Reserved | - | - | |
22 | Free field defined with the anti-fraud provider, according to business rules | var | 30 | |
23 | Reserved | - | - | |
24 | Free field defined with the anti-fraud provider, according to business rules | var | 30 | |
25 | Reserved | - | - |
Value | Description | Provider |
---|---|---|
AdultContent | Adult Content | Cybersource |
Coupon | Coupon applied to entire order | Cybersource |
Default | Default value for the product type. When no other value is sent, the category being sent is assumed to be this | Cybersource |
EletronicGood | Electronic product other than software | Cybersource |
EletronicSoftware | Software distributed electronically via download | Cybersource |
GiftCertificate | Gift Certificate | Cybersource |
HandlingOnly | Fee you charge your customer to cover your selling administrative costs. Ex.: Convenience fee / Installation fee | Cybersource |
Service | Service that will be performed for the client | Cybersource |
ShippingAndHandling | Amount of freight and fee you charge your customer to cover your sales administrative costs | Cybersource |
ShippingOnly | Shipping value | Cybersource |
Subscription | Subscription. Eg.: Streaming videos / Subscription to news | Cybersource |