#
Direct OperationEste 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
.
#
EndpointsEndpoints | HTTP Method | Response |
---|---|---|
https://api.ebanx.com.br/ws/direct https://staging.ebanx.com.br/ws/direct | POST | application/json |
#
Parâmetros de RequisiçãoCampo | Tipo | Descriçã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. |
payment | JSON | Objeto 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_code | String fixo 3 | Código da moeda de pagamento, três letras formato: ISO 4217. Moeda suportada: BRL |
payment.amount_total Mandatório | Float | O valor na moeda especificada em (currency_code ). Ex: 100.50 |
payment.merchant_payment_code | String max 128 | ID do pagamento gerado pelo merchant. |
payment.payment_type_code | String 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 | String | Parâ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 | Boolean | Gera 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 | JSON | Objeto 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 | Boolean | Se 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 | JSON | Objeto 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 | JSON | Objeto contendo os itens do pedido |
payment.items.sku Opcional | String | SKU 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 | Float | Preço unitário do item |
payment.items.quantity Opcional | Int | Quantidade 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 | Boolean | Se 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 | JSON | Objeto 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 RespostaCampo | Tipo | Descrição |
---|---|---|
status | String | O status da solicitação (SUCCESS ou ERROR ). |
payment | JSON | Um objeto JSON com as informações do pagamento. |
payment.hash | String max 48, único | O hash de pagamento (identificador único EBANX). |
payment.bin | String max 41, único | O BIN de pagamento (identificador único do cliente EBANX). |
payment.country | String fixo 2, único | Código do país do pagamento. |
payment.merchant_payment_code | String max 40 | ID do pagamento gerado pelo merchant. |
payment.order_number | String 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.status | String 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_date | String fixo 19, UTC | A data e hora da última mudança de status. |
payment.open_date | String fixo 19, UTC | A data e hora da criação do pagamento. |
payment.confirm_date | String fixo 19, UTC | A data e hora da confirmação do pagamento. |
payment.transfer_date | String fixo 19, UTC | A data e hora da liquidação do pagamento. |
payment.amount_br | Float | O valor na moeda local. |
payment.amount_iof | Float | O valor do imposto na moeda local. |
payment.amount_ext | Float | O valor na moeda original. |
payment.currency_rate | Float | A taxa de câmbio usada no pagamento. |
payment.currency_ext | String fixo 3, ISO 4217 | Código de três letras da moeda original. |
payment.due_date | String fixo 10, dd/mm/aaaa | Data de expiração do pagamento (aplicável apenas para alguns métodos). |
payment.instalments | Int 1-12 | Quantidade de parcelas do pagamento, o valor padrão é 1. |
payment.payment_type_code | String max 32 | O código do método de pagamento. Os códigos suportados são: - creditcard - debitcard - boleto |
payment.details | JSON | Objeto JSON com os detalhes do pagamento. |
payment.details.billing_descriptor | String | Mensagem que será exibida no descritivo da fatura do cliente. |
payment.transaction_status | JSON | Um objeto JSON com dos dados da transação do pagamento com cartão de crédito. |
payment.transaction_status.acquirer | String max 16 | O adquirente que processou a transação. |
payment.transaction_status.code | String 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.description | String max 500 | A descrição do código de status que é retornado do adquirente. |
payment.transaction_status.authcode | String max 40 | Código de autenticação da transação no adquirente. |
payment.pre_approved | Boolean | Flag que mostra se um pagamento foi pré-aprovado pelo adquirente do cartão de crédito. |
payment.capture_available | Boolean | Flag 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_url | String 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_url | String variável | A URL do boleto. |
payment.boleto_barcode | String max 47 | O número do código de barras do boleto. |