EPX

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no Carat por vários meios de pagamento, um desses meios é o EPX.

Interfaces Carat suportadas para integração#

É possível utilizar as seguintes interfaces para a integração com o roteamento EPX:

  • Pré Autorização REST
  • Pagamento REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML
  • Cancelamento no Portal do Lojista

Credenciais necessárias#

A loja deve obter com o EPX as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro no Portal do Lojista do Carat.

ParâmetroDescrição
CUST_NBRNível de hierarquia do banco patrocinador do lojista nos sistemas internos do EPX.
MERCH_NBRNível de hierarquia de liquidação nos sistemas internos do EPX.
DBA_NBRNível de hierarquia de "doing business as" (DBA) nos sistemas internos do EPX.
TERMINAL_NBRNível de hierarquia do terminal nos sistemas internos do EPX.

Parâmetros de serviço de criação de transação#

Requisição#

ParâmetroDescriçãoFormatoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto.< 12 NSim
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 NNão
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.< 40 ANNão
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador.< 30 ANão
additional_dataCampos adicionais
tax_amountÉ um campo de referência que contém o valor do imposto incluído no valor da transação (em centavos).< 12 NNão
tax_exemptIndica se a transação é isenta de impostos. Enviar um dos seguintes valores:
Y - transação é isenta de impostos.
N - transação não é isenta de impostos e necessita do envio do campo tax_amount.
< 1 ANão
tip_amountContém o valor da gorjeta incluída no valor da transação (em centavos).< 12 NNão
additional_data
.extra_param
Parâmetros extras
acquirer_params[]Representa os campos opcionais que o comerciante pode usar para armazenar informações sobre a transação.< 80 ANNão
additional_data
.payer
Dados do comprador
born_dateData de nascimento do comprador, no formato AAAA-MM-DDTHH:MM:SS. Ex.: 1991-01-02T08:30:0019 NNão
nameNome do comprador< 25 ANão
surnameSobrenome do comprador< 25 ANão
identification_numberDocumento de identificação do comprador (CPF/RG).< 20 ANNão
additional_data
.payer
.address
Endereço do comprador
street_nameNome da rua do comprador. Este campo será enviado ao EPX concatenado com `street_number.< 30 ANNão
street_numberNúmero do endereço do comprador.< 30 ANNão
stateEstado do endereço do comprador. Ex.: SP< 2 ANão
zip_codeCEP do endereço do comprador< 9 ANNão
additional_data
.payer
.phones
Telefone do comprador
numberContém o número de telefone do cliente.< 10 NNão
typeCampo utilizado para diferenciar os tipos de telefone:
6 - Celular
2 - Comercial
1 - Residencial
1 NNão

IMPORTANTE: o EPX NÂO recebe informações relativas a parcelamento e financiamento. Com isso, somente transações à vista são suportadas.

Exemplo de requisição da chamada de criação de transação#

curl
--request POST "https://{{url}}/e-sitef-hml/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"2061433036",
"order_id":"02061433035",
"installments":"1",
"installment_type":"4",
"authorizer_id":"1",
"amount":"10000",
"additional_data":{
"payer":{
"address":{
"zip_code":"12345678",
"street_number":"123",
"street_name":"John Street",
"city":"San Francisco",
"state":"CA"
},
"phones":[
{
"number":"12345678901",
"type":"6"
}
]
}
}
}
--verbose

Parâmetros de serviço de efetivação do pagamento e pré-autorização#

Requisição#

ParâmetroDescriçãoFormatoObrigatório
cardDados do cartão
numberNúmero do cartão do comprador< 19 NSim
barcode_dataContém os dados do código de barras. Este campo deve ser enviado com o campo acquirer.input_type com valor A e suporta os formatos não criptografados PAN ou TLV Visa. Mais detalhes aqui.< 100 ANNão
idContém o código que representa a forma de identificação do portador do cartão. Pode receber os seguintes valores:
0 - Portador presente
1 - Portador não presente
M - Portador presente, cartão ilegível
< 1 ANNão
security_codeCódigo de segurança do cartão.< 4 NNão
expiry_dateData de vencimento do cartão no formato MMAA.4 NNão
issue_numberNúmero de emissão do cartão de crédito.< 3 NNão
issue_dateData de emissão do cartão de crédito no formato MMAA.< 4 ANão
card.cryptoDados da criptografia do cartão
typeIdentifica a encriptação utilizada:
0 - Usar o campo acquirer.input_type para identificar o formato
1 - Formato MagTek V2
2 Formato 3DES (genérica)
1 NNão
card.cryptoDados de EMV do cartão
dataContém as tags EMV, em transações processadas por meio de chip EMV.<510 ANNão
track_1 ou track_2Contém os dados da tarja magnética do cartão de crédito ou débito. track_1 deve ser usado ao processar uma transação com cartão de crédito, e track_2 deve ser usado se a track_1 estiver indisponível ou ao processar uma transação de débito ou EBT.<256 ANNão
acquirerDados da adquirente
aciIdentifica características específicas da transação. Pode receber os seguintes valores:
R - Transação é recorrente
P - Transação é uma parcela
1 ANNão
input_typeModo de entrada do cartão. Pode receber os seguintes valores:
X - Digitado
A - Código de barras
H - Trilha 1
D - Trilha 2
1 ASim
cash_back_amountValor referente ao reembolso (em centavos).<12 NNão
reference_numberNúmero da conta de luz, telefone ou aluguel sendo paga nesta transação.<25 ANNão
operator_codeContém o nome de usuário da pessoa que está enviando a transação.<25 ANão
soft_descriptor_2Campo usado para substituir a seção de cidade/estado do Merchant Descriptor na fatura do portador do cartão.<40 ANão
terminalDados do terminal
chip_conditionsCampo usado para indicar o motivo da transação de fallback EMV :
0 - Não aplicável a transações de fallback. Para transações de VSDC deve ser 0
1 - A transação foi iniciada a partir de uma tarja magnética com um service code iniciado em 2 ou 6 e a última leitura no terminal VSDC foi uma leitura de chip bem-sucedida ou não foi uma transação de chip.
2 - A transação foi iniciada em um terminal compatível com chip de uma tarja magnética que contém service code 2 ou 6, e a transação anterior iniciada por esse terminal foi uma leitura de chip malsucedida.
1 NNão
authenticationDados de autenticação
authentication.pinDados do pin de autenticação
valuePIN Criptografado. Obrigatório quando for digitada a senha online do portador do cartão.< 64 ANNão
authentication.pin.cryptoDados da criptografia do pin de autenticação
ksnKSN da criptografia do PIN. Obrigatório quando for digitada a senha online do portador do cartão.< 20 ANNão

Detalhes do campo barcode_data#

PosiçãoTamanhoFormatoDescrição
1-33NTipo:
- 000 = PAN - Sem criptografia
- 001 = Visa - TLV - Sem criptografia
4-NVariávelANSDados de código de barra

Exemplo de requisição da chamada de pagamento#

curl
--request POST "https://{{url}}/e-sitef-hml/api/v1/payments/1234567890abcdefghijklmnopqrstuvw
xyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"4111111111111111",
"expiry_date":"1222"
},
"acquirer":{
"input_type":"X"
}
}
--verbose

Parâmetros de resposta#

ParâmetroDescriçãoFormato
balanceSaldo disponível após pagamentos com vouchers (em centavos).< 12 N
avs_resultContém a resposta do Address Verification System para a transação solicitada.1 A
authorization_numberNúmero de autorização.< 6 AN
cvv2_responseContém a resposta CVV2 para a transação solicitada.1 A
emv_dataDados EMV.< 510 AN
tidIdentificação da transação no EPX.< 20 AN
authorizer_response_codeCódigo de resposta do EPX.< 3 AN
authorizer_response_messageMensagem de resposta do EPX.< 80 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:0316 AN

Exemplo de resposta da chamada de pagamento#

{
"code":"0",
"message":"OK. Transaction successful.",
"payment":{
"authorizer_code":"00",
"authorizer_message":"EXACT MATCH",
"status":"CON",
"nit":"77866520f106682a128d0e2f8ef4c92517c043fa98e3a77a1ffd37ae884ebc47",
"order_id":"02061433035",
"customer_receipt":"===== RECEIPT= ====",
"merchant_receipt":"===== RECEIPT= ====",
"authorizer_id":"1",
"acquirer_id":"0",
"acquirer_name":"EPX",
"authorizer_date":"02/01/2019T18:15",
"authorization_number":"053130",
"merchant_usn":"2061433036",
"esitef_usn":"190102021262100",
"tid":"09KGH48QH799RU2QY3V",
"amount":"10000",
"payment_type":"C",
"authorizer_merchant_id":"700010",
"avs_result":"Y",
"payment_date":"02/01/2019T18:15"
}
}