Facilitadores

Permite que os parceiros da ELO se identifiquem como facilitadores, associando os dados de seu usuário Merchant a um Payment Service Provider (PSP, ou facilitador). Tornando mais seguras e rastreáveis as transações efetuadas por um Merchant.

Como funciona

Primeiros passos

  1. Leia Introdução ao GraphQL, com exemplos reais da nossa API.
  2. Crie um usuário no portal do desenvolvedor.
  3. Cadastre sua primeira aplicação.
  4. Utilize o dashboard para acessar suas configurações de acesso.
  5. Para explorar rapidamente as APIs aqui na página de documentação, use o console de GraphQL, na seção de referências. Nele, você pode ver as consultas de exemplo, executá-las e alterá-las.

Primeiros passos na plataforma de Desenvolvedores Elo

Jaydson GomesDesenvolvedor Evangelista

A associação de usuários Merchant ao PSP (Payment Service Provider, ou facilitador) torna possível a Elo e aos facilitadores identificar facilitadores e seus merchants associados.

Para acessar os recursos e informações disponibilizadas na Plataforma de APIs ELO é necessário antes que você cadastre e faça login com um usuário do tipo Merchant, após efetuar o login você receberá um access_token que deve ser utilizado nas chamadas para se identificar.

Os detalhes para cadastrar o usuário podem ser vistos na seção cadastro do portador.

Para realizar a associação é necessário utilizar a mutation associatePSPMerchant demonstrada abaixo: As requisições HTTPS devem possuir em seus cabeçalhos os dados necessários para o acesso ao serviço, neste caso o client_id e access_token:

mutation {
  associatePSPMerchant(
    input: {
      clientMutationId: "123456",
      legalId: "312312321321312",
      name: "Teste PSP",
      legalName: "Teste PSP",
      bankAccount: {
        type: SAVINGS,
        bankId: 104,
        branch: "1234",
        account: "1122334"
      },
      zip: "989832983293829",
      type: PHYSICAL,
      mcc: 5555,
      pvCode: "777",
      paymentTerm: {
        installments: 3,
        credit: 30,
        debit: 30
      }
    }
  )
  {
    clientMutationId,
    legalId
  }
}

Exemplo de Query PSP:

query {
  psp {
    id,
    name,
    legalName,
    description,
    legalIds{
      cnpj{
        number
      }
      cpf{
        number
      }
    }
    url
    merchants {
      edges {
        node {
          merchant {
            id
            name
          }
          mcc
          pvCode
          paymentTerm {
            installments
            credit
            debit
          }
          type
        }
      }
    }
  }
}

Para desassociar os dados de um PSP de um Merchant utilize a mutation a seguir fornecendo client_id e access_token:

mutation {
  dissociatePSPMerchant(
    input: {
      clientMutationId: "3333",
      pspId: 123,
      legalId: "3332221114"
    }
  )
  {
    clientMutationId,
    legalId
  }
}

Para buscar dados do PSP utilize a consulta a seguir fornecendo client_id e access_token:

query{
  psp {
    id,
    name,
    legalName,
    description,
    legalIds{
      cnpj{
        number
      }
      cpf{
        number
      }
    }
    url
    merchants{
      edges{
        node{
          merchant{
            id
            name
          }
          mcc
          pvCode
          paymentTerm{
            installments
            credit
            debit
          }
          type
        }
      }
    }
  }
}



Argumentos:






Argumentos:

input: AssociatePSPMerchantInput obrigatório



Argumentos:

input: DissociatePSPMerchantInput obrigatório






Campos:

cnpj

:

String


Campos:

min

:

Int

max

:

Int


Campos:

nameContains

:

String

legalIds

:

lista de CompanyLegalIdsInput obrigatório

includeCategories

:

lista de MerchantCategoryRangeInput obrigatório

excludeCategories

:

lista de MerchantCategoryRangeInput obrigatório


Campos:

filter

:

String


Campos:

startTimestamp

:

DateTime

endTimestamp

:

DateTime

includeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

excludeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

captureId

:

ID

usageId

:

ID


Campos:

type

:

BankAccountType obrigatório

bankId

:

Int obrigatório

branch

:

String obrigatório

account

:

String obrigatório


Campos:

installments

:

Int

credit

:

Int

debit

:

Int


Campos:

clientMutationId

:

String

legalId

:

String obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

bankAccount

:

BankAccountInput obrigatório

zip

:

String

mcc

:

Int obrigatório

pvCode

:

String

paymentTerm

:

PaymentTermInput


Campos:

clientMutationId

:

String

pspId

:

Int obrigatório

legalId

:

String obrigatório





Campos:

number

:

String obrigatório


Campos:

number

:

String obrigatório


Campos:

cnpj

:

CNPJ

cpf

:

CPF


Campos:

hasPreviousPage

:

Boolean obrigatório

hasNextPage

:

Boolean obrigatório

startCursor

:

String

endCursor

:

String


Campos:

id

:

ID obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

legalIds

:

PSPAssociateLegalIds obrigatório

url

:

String

merchants

(


first:

Int

after:

String

last:

Int

before:

String

)

:

PSPMerchantAssociationsConnection


Campos:

id

:

ID obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

legalIds

:

CompanyLegalIds obrigatório

contacts

:

lista obrigatória de CompanyContact obrigatório

addresses

:

lista obrigatória de Address obrigatório

url

:

String

categories

:

lista obrigatória de MerchantCategory obrigatório

transactionFees

:

lista de MerchantTransactionFees obrigatório

cardTransactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardTransactionsConnection


Campos:

bankId

:

Int

branch

:

String

account

:

String


Campos:

installments

:

Int

credit

:

Int

debit

:

Int


Campos:

psp

:

PSP obrigatório

legalIds

:

PSPAssociateLegalIds obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

merchant

:

Merchant

bankAccount

:

BankAccount

zip

:

String

mcc

:

Int

pvCode

:

String

paymentTerm

:

PaymentTerm


Campos:

cursor

:

String obrigatório


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

url

:

String obrigatório

width

:

Int obrigatório

height

:

Int obrigatório

mimeType

:

String obrigatório


Campos:

cnpj

:

CNPJ


Campos:

type

:

CompanyContactType obrigatório

context

:

String

value

:

String obrigatório


Campos:

context

:

String

country

:

String obrigatório

city

:

String obrigatório

state

(


abbrev:

Boolean

)

:

String

zip

:

String

district

:

String

kind

:

String

number

:

Int

place

:

String obrigatório

complement

:

String

reference

:

String

instructions

:

String

lon

:

Float

lat

:

Float


Campos:

id

:

ID obrigatório

name

:

String obrigatório

code

:

Int obrigatório


Campos:

min

:

Int obrigatório

max

:

Int obrigatório


Campos:

cardUsage

:

CardUsage obrigatório

expiry

:

DateTime

installments

:

Int obrigatório

totalCost

:

Float obrigatório

processingCost

:

Float obrigatório

installmentsCost

:

Float obrigatório

marketingCost

:

Float obrigatório

acquiringServiceCost

:

Float obrigatório


Campos:

cardUsage

:

CardUsage obrigatório

installmentsRange

:

IntRange

lastModified

:

DateTime obrigatório

expiry

:

DateTime

marketingFee

:

Float obrigatório

marketingFeeCeilValue

:

Float

acquiringServiceFee

:

Float obrigatório

acquiringServiceFeeCeilValue

:

Float

processingCost

:

Float obrigatório

additionalInstallmentCost

:

Float

calc

(


transactionValue:

Float obrigatório

installments:

Int

)

:

MerchantTransactionFeesCalc obrigatório


Campos:

cursor

:

String obrigatório

node

:

Merchant


Campos:

pageInfo

:

PageInfo obrigatório

edges

:

lista de MerchantsEdge

totalCount

:

Int


Campos:

id

:

ID obrigatório

iso

:

Int obrigatório

name

(


language:

String

)

:

String obrigatório

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

transactionFees

:

lista de MerchantTransactionFees obrigatório

merchants

(


first:

Int

after:

String

last:

Int

before:

String

)

:

MerchantsConnection


Campos:

id

:

ID obrigatório

name

:

String obrigatório

code

:

Int obrigatório


Campos:

number

:

String obrigatório

panSizeRange

:

IntRange obrigatório

funding

:

CardFunding obrigatório

product

:

CardProduct obrigatório

country

:

String obrigatório

isInternational

:

Boolean obrigatório

regexp

:

String obrigatório

isCompany

:

Boolean obrigatório

isToken

:

Boolean obrigatório

brand

:

CardBrand obrigatório

allowedCaptures

:

lista obrigatória de CardCapture obrigatório

usages

:

lista obrigatória de CardUsage obrigatório

network

:

CardNetwork obrigatório

issuer

:

CardIssuer obrigatório

metadata

:

CardMetadata obrigatório

services

:

lista obrigatória de CardHolderService obrigatório

creditSettlementBankNumber

:

Int

debitSettlementBankNumber

:

Int


Campos:

currency

:

String

balance

:

String


Campos:

id

:

ID obrigatório

capture

:

CardCapture obrigatório

usage

:

CardUsage

bin

:

BIN

merchant

:

Merchant

currency

:

String obrigatório

value

:

String obrigatório

installments

:

Int obrigatório

timestamp

:

DateTime obrigatório

approvalCode

:

String

prePaid

:

PrePaid


Campos:

cursor

:

String obrigatório


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

clientMutationId

:

String

legalId

:

String


Campos:

clientMutationId

:

String

legalId

:

String





Valores possíveis:


PHYSICAL


JURIDICAL





Valores possíveis:


PHONE


EMAIL


IM


OTHER





Valores possíveis:


APPROVED


REJECTED


RETURNED


REFUNDED


CHARGEBACK





Valores possíveis:


CHECKING


SAVINGS


PAYMENT


DEPOSIT