Pular para o conteúdo principal

APIs

Interface Paykit

A interface Paykit define os métodos que cada adquirente deve implementar para realizar transações de pagamento.

Métodos

MétodoDescriçãoParâmetrosRetorno
activateAtiva o SDK com os parâmetros fornecidos. Executar apenas 1 (uma) vez ou quando o terminal é realocado para outra loja.activationParametersActivationResult
creditRealiza uma transação de crédito.creditParametersPaymentResult
debitRealiza uma transação de débito.debitParametersPaymentResult
voucherProcessa um pagamento por meio de voucher.voucherParametersPaymentResult
pixProcessa um pagamento via PIX.paymentParametersPaymentResult
wallet*Processa um pagamento utilizando carteira digital.paymentParametersPaymentResult
qrCode*Processa um pagamento utilizando QR Code.paymentParametersPaymentResult
fleet*Realiza uma transação com cartão frotas.fleetParametersPaymentResult
cancelCancela uma transação.cancelParameterCancelResult
preAuthorize*Realiza uma transação de pré-autorização.creditParametersPaymentResult
capturePreAuthorization*Captura o valor de uma pré-autorização.pendingPreParametersPaymentResult
cancelPreAuthorization*Cancela uma transação de pré-autorização.pendingPreParametersCancelResult
confirmPendingTransaction*Confirma uma transação. Chamar manualmente quando autoConfirm = false.pendingTransactionParametersBoolean
undoPendingTransaction*Desfaz uma transação. Chamar manualmente quando autoConfirm = false.pendingTransactionParametersBoolean
printLastReceiptImprime o último recibo.receiptTypePrintResult
printReceipt*Imprime recibo específico.printReceiptParametersPrintResult
printImprime uma imagem bitmap.bitmapPrintResult
retrieveSdkInfoRecupera informações sobre o SDK.-Map<String, String>
startPaymentExecuta o fluxo genérico de pagamentos do SDK.paymentParametersPaymentResult
getLastTransaction*Recupera informações da última transação.-TransactionQueryResult
getTransaction*Recupera informações de uma transação.transactionParametersTransactionQueryResult
executeAdminOperation*Abre menu com operações administrativas.operationAdminOperationResult
nota

*Alguns provedores/adquirentes não possuem essas operações.

Exemplo de uso básico

import com.linx.paykit.core.Paykit
import com.linx.paykit.core.PaykitFactory
import com.linx.paykit.common.builder.Parameters
import com.linx.paykit.common.parameter.PaykitId

class MainActivity : AppCompatActivity() {
private lateinit var paykit: Paykit

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// Inicializa o SDK
paykit = PaykitFactory().build(
Parameters(
this,
"Nome da Aplicação",
PaykitId("SEU_PAYKIT_ID")
)
)
}
}

Ativação do Terminal

Parâmetros de Ativação

CampoTipoDescrição
storeCnpjStringDocumento da loja que está sendo feita a ativação
tefTefActivationParametersParâmetros de ativação para o provedor TEF
pagSeguroPagSeguroActivationParametersParâmetros de ativação para o provedor PagSeguro
sitefSitefActivationParametersParâmetros de ativação para o provedor SiTef
tipoServidorTipoServidorTipo servidor TEF que está sendo utilizado na ativação (LinxTef ou SiTef). Define o comportamento do provedor TEF se é Linx TEF ou SiTef.
isSubAcquirerBooleanAtivação da loja está sendo modelo de subadquirência ou não
subAcquirerSubAcquirerParametersParâmetros de subadquirência
val activationParams = ActivationParameters(
storeCnpj = "123456789"
tef = TefActivationParameters(
production = false,
token = "XXXX" // Token de ativação do TEF fornecido no processo de integração.
)
)

paykit.activate(activationParams, object : Callback<ActivationResult> {
override fun execute(result: ActivationResult?) {
if (result?.success == true) {
// Terminal ativado com sucesso
Log.i("Activation", "Terminal ativado")
} else {
// Erro na ativação
Log.e("Activation", "Erro: ${result?.message}")
}
}
})

Resultado da Ativação

CampoTipoDescrição
processorPaymentProcessor?Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
dateTimeDate?Representa data e hora da transação.
successBooleanIndica se a ativação foi bem-sucedida
messageStringMensagem de retorno (sucesso ou erro)
rawDataStringNúmero de série do terminal

Pagamento

Parâmetros de Pagamento

O objeto PaymentParameters, utilizado em transações de pagamento. Algumas transações possuem parâmetro específicos: CreditParameters, DebitParameters, VoucherParameters ou FleetParameters. Veja sua respectiva documentação em cada transação.

CampoTipoDescrição
amountBigDecimalO valor total da transação.
installmentsInt?O número de parcelas para pagamento. Este campo é opcional de acordo com o tipo e modalidade do pagamento.
cpfString?CPF do cliente, se aplicável. Este campo é opcional.
billOfSaleString?Documento de venda associado à transação. Este campo é opcional.
dateTimeOfSaleDate?Data e hora em que a venda foi realizada. Este campo é opcional.
externalIdString?Identificador externo para a transação. Este campo é opcional.
itemsList<OrderItem>?Lista dos items de venda, relacionados a transação a ser realizada. Este campo é opcional.
autoPrintReceiptBooleanImprime automaticamente o comprovante do lojista quando o processador da transação é o TEF.
printMerchantReceiptBooleanImprime (ou não) o recibo do lojista. Utilizar apenas em totens de auto atendimento.
autoConfirmBoolean?Envia a confirmação automaticamente. Só utilizada quando o processador da transação é o TEF
postCreditDaysInt?Prazo para a primeira parcela, em dias. Este campo é opcional.
creditTypeCreditTransactionType?Modalidade da transação de crédito.
autoConfirmBoolean?Envia a confirmação automaticamente. Só utilizada quando o processador da transação é o TEF
val paymentParams = PaymentParameters(
amount = BigDecimal("10.00"),
externalId = "ORDER_123456"
)

paykit.pix(paymentParams, object : Callback<PaymentResult> {
override fun execute(result: PaymentResult) {
if (result?.status == TransactionStatus.APPROVED) {
Log.i("Payment", "Pagamento aprovado: ${result.id}")
} else {
Log.e("Payment", "Pagamento negado: ${result?.message}")
}
}
})

Tipos de Pagamento

TipoDescrição
CREDITPagamento com cartão de crédito
DEBITPagamento com cartão de débito
VOUCHERPagamento com cartão benefício
PIXPagamento via Pix
WALLETPagamento com carteira digital
FLEETPagamento com cartão frotas
QR_CODEPagamento com QR Code

Resultado do Pagamento

CampoTipoDescrição
idString?Identificador único da transação.
externalIdString?Identificador externo para a transação.
processorPaymentProcessor?Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
statusTransactionStatusStatus da transação (PENDING, APPROVED, CANCELLED, PARTIALLY_CANCELLED, ERROR, DECLINED).
amountBigDecimal?Representa o valor da transação original.
messageString?Mensagem de sucesso ou erro, caso aplicável.
dateTimeDate?Representa data e hora da transação.
nsuInfoNsuInfo?Representa dados de NSU do retorno transacional do provedor de pagamentos.
transactionInfoTransactionInfo?Representa dados de retorno transacional do provedor de pagamentos.
rawDataMap<String, String>?Retorno estilo chave/valor recebido do provedor de pagamentos.
paymentTypePaymentType?Tipo da transação de pagamento (Crédito, Débito, Voucher, Pix, etc.).
transactionTypeTransactionType?Modalidade da transação de crédito, débito, ou voucher, quando disponível.

Cancelamento

Parâmetros de Cancelamento

O objeto CancelParameter, utilizado em transações de cancelamento.

CampoTipoDescrição
paymentIdStringIdentificador da transação de pagamento que será cancelada.
externalIdString?Identificador da automação comercial para a transação. Utilizado para posterior conciliação. Este campo é opcional.
amountBigDecimal?O valor total da transação de pagamento que será cancelada. Este campo é opcional.
originalPaymentTypePaymentType?Modalidade (débito, crédito, voucher, Pix, etc.) da transação de pagamento. Este campo é opcional.
originalTransactionDateDate?Data em que a transação de pagamento foi realizada. Este campo é opcional.
cancelAmountBigDecimal?O valor que será cancelado da transação para cancelamento parcial. Este campo é opcional.
autoPrintReceiptBooleanImprime automaticamente o comprovante do lojista quando o provedor de pagamento é o TEF.
printMerchantReceiptBooleanImprime (ou não) o recibo do lojista. Utilizar apenas em totens de auto atendimento.
autoConfirmBoolean?Envia a confirmação automaticamente. Só utilizada quando o provedor de pagamento é o TEF. Este campo é opcional.
val cancelParams = CancelPaymentParameters(
transactionId = "123456", // NSU da transação
amount = BigDecimal("10.00") // Valor a ser cancelado
)

paykit.cancelPayment(cancelParams, object : Callback<CancelPaymentResult> {
override fun execute(result: CancelPaymentResult?) {
if (result?.success == true) {
Log.i("Cancel", "Cancelamento aprovado")
} else {
Log.e("Cancel", "Erro no cancelamento: ${result?.message}")
}
}
})

Resultado do cancelamento

CampoTipoDescrição
idString?Identificador único da transação.
externalIdString?Identificador externo para a transação.
processorPaymentProcessor?Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
statusTransactionStatusStatus da transação (PENDING, APPROVED, CANCELLED, PARTIALLY_CANCELLED, ERROR, DECLINED).
amountBigDecimal?Representa o valor da transação original.
originalIdString?Identificador da transação original.
canceledAmountBigDecimalRepresenta o valor da transação de cancelamento. Diferente de amount quando o cancelamento é parcial.
messageString?Mensagem de sucesso ou erro, caso aplicável.
dateTimeDate?Representa data e hora da transação.
nsuInfoNsuInfo?Representa dados de NSU do retorno transacional do provedor de pagamentos.
transactionInfoTransactionInfo?Representa dados de retorno transacional do provedor de pagamentos.
rawDataMap<String, String>?Retorno estilo chave/valor recebido do provedor de pagamentos.
paymentTypePaymentType?Tipo da transação de pagamento (Crédito, Débito, Voucher, Pix, etc.).
transactionTypeTransactionType?Modalidade da transação de crédito, débito, ou voucher, quando disponível.

Operações Administrativas

Tipos de Operações

OperaçãoDescrição
SHOW_MENUMostra menu com funções administrativas
GET_GIFT_CARD_BALANCEConsulta saldo de cartão presente
REFUND_GIFT_CARD_AMOUNTResgate de cartão presente
BILL_PAYMENTPagamento de contas

Exemplo

paykit.executeAdminOperation(AdminOperation.SHOW_MENU, object : Callback<AdminOperationResult> {
override fun execute(result: AdminOperationResult?) {
if (result?.success == true) {
Log.i("Admin", "Operação realizada com sucesso")
}
}
})

Resultado da operação administrativa

CampoTipoDescrição
successBoolean?Indica se a operaçao foi bem-sucedida.
statusSitefErrorCode?Status da operação.
operationAdminOperation?Operação administrativa que foi realizada.
processorPaymentProcessor?Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
dateTimeDate?Representa data e hora da transação.
messageString?Mensagem de sucesso ou erro, caso aplicável.
rawDataMap<String, String>?Retorno estilo chave/valor recebido do provedor de pagamentos.

Este conteúdo foi útil para você?