Skip to main content

Direct Operation#

Este método permite que você crie um pagamento usando EBANX Direct API, nossa solução de Checkout Transparente, onde o cliente finaliza a compra sem ser redirecionado para o site do EBANX.

Para este método, será necessário inserir os parâmetros da solicitação em um objeto JSON e enviá-los como valor do parâmetro chamado request_body.

Endpoints#

EndpointsHTTP MethodResponse
https://api.ebanx.com.br/ws/direct
https://staging.ebanx.com.br/ws/direct
POSTapplication/json

Parâmetros de Requisição#

CampoTipoDescrição
integration_key
Mandatório
String
max 100
Sua chave de integração única e secreta
operation
Mandatório
String
max 7
deve ser request
mode
Mandatório
String
max 4
Atualmente apenas o modo full está disponível.
paymentJSONObjeto JSON com as informações o pagamento.
payment.name
Mandatório
String
max 100
Nome do cliente.
payment.email
Mandatório
String
max 100, email
Endereço de e-mail do cliente.
payment.currency_codeString
fixo 3
Código da moeda de pagamento, três letras formato: ISO 4217. Moeda suportada:
BRL
payment.amount_total
Mandatório
FloatO valor na moeda especificada em (currency_code). Ex: 100.50
payment.merchant_payment_codeString
max 128
ID do pagamento gerado pelo merchant.
payment.payment_type_codeString
max 32
O código do método de pagamento.
Os códigos suportados são:
amex: cartão de crédito American Express.
boleto: Boleto bancário.
diners: cartão de crédito Diners.
discovery: cartão de crédito Discovery.
elo: Cartão de crédito Elo.
hipercard: cartão de crédito Hipercard.
mastercard: cartão de crédito MasterCard.
visa: cartão de crédito Visa.
payment.document
Mandatório
String
max 32
Documento do cliente.
Brasil: requer CPF (CNPJ) ou CNPJ (CNPJ) válido.
Outros países: Documento único de identificação do cliente no país.
payment.document_country
Condicional
String
fixo 2
Mandatório para documentos emitidos fora do Brasil. Sigla do país de emissão do documento (ISO 3166-1 alpha-2).
payment.person_type
Condicional
String
fixo 8
Mandatório para compras com CNPJ. Identificador do tipo de cliente:
business: Corporação, pessoa jurídica.
personal: Pessoa física.
payment.customer_ip
Opcional
String
IPv4 (RFC 791), IPv6 (RFC 2460)
Endereço IP do cliente. Pode ser usado por uma ferramenta antifraude.
payment.zipcode
Mandatório
String
max 8
CEP do cliente no formato: 00000000.
Brasil: obrigatório.
payment.address
Mandatório
String
max 100
Endereço do cliente (nome da rua).
Brasil: obrigatório.
payment.street_number
Mandatório
String
max 30
Número da residência do cliente.
Brasil: obrigatório.
payment.street_complement
Opcional
String
max 100
Campo extra para dados complementares do endereço.
payment.city
Mandatório
String
max 80
Cidade do cliente.
Brasil: obrigatório.
payment.state
Mandatório
String
max 5
Estado/Província do cliente.
Brasil: obrigatório.
payment.country
Mandatório
String
max 2
O código do país, duas letras. Código disponível:
br: Brasil.
payment.phone_number
Mandatório
String
max 15
Número de telefone do cliente.
payment.user_value_1 / payment.user_value_2 / payment.user_value_3 / payment.user_value_4 / payment.user_value_5
Opcional
StringParâmetros opcionais que podem ser usados pelo merchant para associar informações adicionais ao pagamento. Esses parâmetros serão anexados ao response_url quando a transação for concluída.
payment.due_date
Opcional
String
fixo 10, dd/mm/aaaa
A data de vencimento dos recibos de pagamento no formato: . Os boletos podem ter um prazo de validade estendido. A data de vencimento é baseada na hora local do país onde o pagamento é gerado.
payment.create_token
Opcional
BooleanGera um token para pagamentos recorrentes com cartão de crédito. Disponível apenas para merchants que solicitaram pagamento recorrente em seu contrato.
payment.token
Opcional
String
max 128, único
Escolha o token que deseja usar para pagamentos recorrentes com cartão de crédito. Disponível apenas para merchants que solicitaram pagamento recorrente em seu contrato. Use este parâmetro apenas se create_token for true.
OBSERVAÇÃO: OS TOKENS EXPIRAM APÓS 14 MESES DO ÚLTIMO USO.
payment.instalments
Opcional
Int
max 36
O número de parcelas do pagamento (de 1 a 12, dependendo do seu contrato)
payment.card
Mandatório
JSONObjeto que contém as informações do cartão de crédito do cliente.
payment.card.card_number
Mandatório
String
max 19
Número do Cartão de Crédito.
payment.card.card_name
Mandatório
String
max 50
Nome do titular do cartão de crédito.
payment.card.card_due_date
Mandatório
String
fixo 7, mm/aaaa
Data de vencimento do cartão de crédito (“valid thru”).
payment.card.card_cvv
Mandatório
String
max 4
Código de segurança do cartão de crédito.
payment.card.auto_capture
Opcional
BooleanSe for definido como true , o pagamento será capturado automaticamente pelo EBANX; Caso seja definido como false, o pagamento deverá ser capturado pelo merchant usando o método de captura. O valor padrão é true.
payment.card.token
Opcional
String
max 200, único
Se for definido um token criado anteriormente, nenhuma informação do cartão de crédito será necessária. O EBANX identificará o cartão associado ao token e realizará a transação.
payment.card.threeds_eci
Condicional
String
fixo 2
Obrigatório para débito se retornado na autenticação 3DS. ECI (Electronic commerce indicator).
payment.card.threeds_cryptogram
Condicional
String
max 99
Obrigatório para débito se retornado na autenticação 3DS. Criptograma de autenticação do pagamento.
payment.card.threeds_version
Condicional
String
max 2
Obrigatório para débito se retornado na autenticação 3DS. Versão da autenticação.
payment.card.threeds_xid
Condicional
String
max 99
Obrigatório para débito se retornado na autenticação 3DS. ID da autenticação.
payment.card.threeds_trxid
Condicional
String
max 99
Obrigatório para débito se retornado na autenticação 3DS. ID da transação.
payment.note
Opcional
String
max 200
Uma nota sobre o pagamento. O valor deste parâmetro será mostrado junto com os demais detalhes.
payment.sub_account
Mandatório
JSONObjeto que contém o nome da subconta. Obrigatório para pagamentos em que o recurso de subconta está sendo usado.
payment.sub_account.name
Mandatório
String
max 32
Nome da subconta
payment.sub_account.image_url
Mandatório
String
max 200
URL do logotipo da subconta. PS: DEVE ser uma URL HTTPS. Caso contrário, você receberá uma mensagem de erro.
payment.items
Opcional
JSONObjeto contendo os itens do pedido
payment.items.sku
Opcional
StringSKU do item
payment.items.name
Opcional
String
max 100
Nome do item
payment.items.description
Opcional
String
max 200
Descrição do item
payment.items.unit_price
Opcional
FloatPreço unitário do item
payment.items.quantity
Opcional
IntQuantidade de cada item
payment.items.type
Opcional
String
max 50
Tipo do item
payment.eft_code
Opcional
String
max 32
Código do banco do cliente.
payment.notification_url
Opcional
String
max 2000
A URL para enviar notificações do pagamento. Se esse campo for preenchido, o EBANX irá notificar usando esta URL ao invés da configurada.
Exemplo: https://notify.example.com/
payment.redirect_url
Opcional
String
max 2000
A URL para a qual o cliente será redirecionado após o pagamento na Payment Page EBANX. Se este campo for preenchido, o EBANX redirecionará o cliente usando esta URL ao invés da configurada.
Exemplo: https://mywebsite.com/thankyou
bypass_boleto_screen
Opcional
BooleanSe este parâmetro for definido como true, o EBANX não exibirá a página de pagamento concluído e redirecionará o cliente direto para a URL de resposta, onde o estabelecimento deverá fornecer todas as informações do pagamento.
Caso o parâmetro não seja fornecido ou seu valor não seja true, a página de pagamento concluído será exibida.
Isso pode ser usado nos casos em que o merchant fornecerá todas as informações do pagamento em sua página.
payment.responsible
Opcional
JSONObjeto JSON com informações da pessoa física responsável pelo pagamento. Opcional se person_type = business.
payment.responsible.name
Condicional
String
max 100
Mandatório se responsible for definido.. Nome do responsável.
payment.responsible.document
Condicional
String
max 11
Mandatório se responsible for definido.. CPF do responsável.

As requisições retornarão um objeto JSON com os dados do pagamento. Os parâmetros de resposta variam de acordo com o método de pagamento escolhido:

Parametros de Resposta#

CampoTipoDescrição
statusStringO status da solicitação (SUCCESS ou ERROR).
paymentJSONUm objeto JSON com as informações do pagamento.
payment.hashString
max 48, único
O hash de pagamento (identificador único EBANX).
payment.binString
max 41, único
O BIN de pagamento (identificador único do cliente EBANX).
payment.countryString
fixo 2, único
Código do país do pagamento.
payment.merchant_payment_codeString
max 40
ID do pagamento gerado pelo merchant.
payment.order_numberString
max 40
O número identificador do pedido definido pelo merchant. Você pode ter vários pagamentos com o mesmo número de pedido.
payment.statusString
fixo 2
O status do pagamento.
Os seguintes status estão disponíveis:
OP: o cliente ainda não preencheu os detalhes de pagamento no Checkout EBANX. Poderá ser alterado para CA ou PE.
PE: o pagamento está pendente de confirmação. Poderá ser alterado para CA ou CO.
CO: o pagamento está confirmado (pago).
CA: o pagamento está cancelado.
payment.status_dateString
fixo 19, UTC
A data e hora da última mudança de status.
payment.open_dateString
fixo 19, UTC
A data e hora da criação do pagamento.
payment.confirm_dateString
fixo 19, UTC
A data e hora da confirmação do pagamento.
payment.transfer_dateString
fixo 19, UTC
A data e hora da liquidação do pagamento.
payment.amount_brFloatO valor na moeda local.
payment.amount_iofFloatO valor do imposto na moeda local.
payment.amount_extFloatO valor na moeda original.
payment.currency_rateFloatA taxa de câmbio usada no pagamento.
payment.currency_extString
fixo 3, ISO 4217
Código de três letras da moeda original.
payment.due_dateString
fixo 10, dd/mm/aaaa
Data de expiração do pagamento (aplicável apenas para alguns métodos).
payment.instalmentsInt
1-12
Quantidade de parcelas do pagamento, o valor padrão é 1.
payment.payment_type_codeString
max 32
O código do método de pagamento. Os códigos suportados são:
- creditcard
- debitcard
- boleto
payment.detailsJSONObjeto JSON com os detalhes do pagamento.
payment.details.billing_descriptorStringMensagem que será exibida no descritivo da fatura do cliente.
payment.transaction_statusJSONUm objeto JSON com dos dados da transação do pagamento com cartão de crédito.
payment.transaction_status.acquirerString
max 16
O adquirente que processou a transação.
payment.transaction_status.codeString
max 7
O código de status da transação:
OK: o valor da transação foi aprovado.
NOK: O adquirente não aprovou a transação. O cliente deve entrar em contato com o emissor para verificar se há algum problema com seu cartão de crédito.
RETRY: Algo deu errado com o processo. Você pode tentar novamente usando os mesmos dados. Recomendamos que sejam feitas mais 3 tentativas em diferentes momentos (a segunda tentativa 2 horas após a primeira, etc).
Você pode ver sobre esses status aqui
payment.transaction_status.descriptionString
max 500
A descrição do código de status que é retornado do adquirente.
payment.transaction_status.authcodeString
max 40
Código de autenticação da transação no adquirente.
payment.pre_approvedBooleanFlag que mostra se um pagamento foi pré-aprovado pelo adquirente do cartão de crédito.
payment.capture_availableBooleanFlag que mostra se um pagamento está pronto para ser capturado. Aplica-se apenas a cartões de crédito quando auto_capture está definido como false.
Algumas observações sobre este atributo:
Um pagamento só pode ser capturado se o valor do pre_approved for true, o que significa que o pagamento foi pré-aprovado pelo adquirente do cartão de crédito. Antes da captura, um pagamento autorizado tem o status PE (pendente). Após a captura, o status muda para CO (confirmado).
Um pagamento só pode ser capturado se o status for PE (pendente)
* Os pagamentos devem ser capturados em 4 (quatro) dias, caso contrário, são cancelados automaticamente.
NOTA: Pode ser alterado em até 5 (cinco) dias.
payment.redirect_urlString
variável
A URL para onde o cliente deve ser redirecionado. Aplica-se a alguns métodos de pagamento usando a API Direta.
payment.boleto_urlString
variável
A URL do boleto.
payment.boleto_barcodeString
max 47
O número do código de barras do boleto.
Last updated on by Paulo Eduardo Bueno