Ir para o conteúdo

Inserir transação

insertTransaction()


Método responsável por inserir uma transação, utilizado em cenários de teste para validar o fluxo de pagamento.

Métodos

Assinatura Descrição
void insertTransaction(InsertTransactionRequest insertTransactionRequest, PaymentCallback<Void> insertTransactionCallback) Realiza o processo de inserção de uma transação.

Parâmetros

Nome Tipo Obrigatório Descrição
request InsertTransactionRequest Sim Objeto de transferência de dados que conterá as informações da requisição da transação.
callback PaymentCallback Sim Interface que será executada para notificações de sucesso ou erro do processo da transação.

Detalhe dos parâmetros request (InsertTransactionRequest)

Nome Tipo Obrigatório Descrição
acquirerId String Sim Identificador da transação para a adquirente. Este é o identificador que consta no arquivo que a adquirente fornece (EDI). Desta forma, é possível realizar a conciliação do pagamento com a transação integrada.
acquirerPackage String Sim Pacote ou conjunto de informações que descreve a forma de pagamento utilizada pelo adquirente.
acquirerSpecificId String Sim Identificador específico do adquirente, utilizado para diferenciação de transações ou pacotes.
PayStorePaymentRequest.payment PayStorePaymentRequest Sim Detalhes sobre a solicitação de pagamento realizada pelo store, incluindo valores e métodos.
PaymentServiceExecutionRequest.paymentServiceExecutionRequest PaymentServiceExecutionRequest Sim Detalhes específicos sobre a execução do serviço de pagamento, incluindo os dados da transação.
ReversalServiceExecutionRequest.reversalServiceExecutionRequest ReversalServiceExecutionRequest Sim Detalhes sobre a solicitação de estorno de pagamento, incluindo o motivo e os dados da transação original.
authAppVersion String Sim Versão do aplicativo de autenticação utilizado no processo de pagamento ou verificação.
paymentAppVersion String Sim Versão do aplicativo de pagamento utilizado para realizar a transação.

PayStorePaymentRequest

Nome Tipo Descrição
uuid String Identificador único da transação.
nsu long Número sequencial único da transação.
value BigDecimal Valor da transação.
cashback BigDecimal Valor do cashback aplicado na transação.
paymentDate Date Data da transação.
paymentDateStatus Integer Status da data de pagamento.
paymentStatus Integer Status do pagamento.
resolutionType Integer Tipo de resolução da transação.
maskedPan String Número do cartão mascarado.
panLast4Digits String Últimos 4 dígitos do número do cartão.
requiredPanSequenceNumber boolean Indica se o número de sequência do cartão é necessário.
panSequenceNumber Integer Número da sequência do cartão.
aid String Identificador da aplicação.
cardHolder String Nome do titular do cartão.
cardExpirationDate Date Data de expiração do cartão.
captureType Integer Tipo de captura da transação.
cardType String Tipo de cartão (por exemplo, crédito, débito).
appLabel String Rótulo da aplicação.
cryptoPan String Número do cartão criptografado.
issuerScriptResults String Resultados do script do emissor.
finalRequiredData String Dados finais obrigatórios.
cardRequiredData String Dados obrigatórios do cartão.
paymentMerchantReceipt String Comprovante de pagamento do comerciante.
paymentClientReceipt String Comprovante de pagamento do cliente.
installmentQuantity Integer Quantidade de parcelas.
requiredPassword boolean Indica se a senha é necessária para a transação.
requiredSignature boolean Indica se a assinatura é necessária para a transação.
currencySymbol String Símbolo da moeda usada na transação.
merchantSpecificId String Identificador específico do comerciante.
terminalSpecificId String Identificador específico do terminal.
productType Integer Tipo do produto envolvido na transação.
ksn String Número de sequência do terminal.
reverseMerchantReceipt String Comprovante de reversão do comerciante.
reverseClientReceipt String Comprovante de reversão do cliente.
canUndoReverse boolean Indica se a reversão pode ser desfeita.
cardBrandName String Nome da bandeira do cartão (ex: Visa, MasterCard).
externalAppId String Identificador da aplicação externa.
externalAppVersion String Versão da aplicação externa.
externalAppTransactionId String ID da transação na aplicação externa.
ticketNumber Long Número do cupom da transação.
batchNumber Long Número do lote da transação.
pinCaptureType Integer Tipo de captura do PIN.
authCode String Código de autorização da transação.
reverseAuthCode String Código de autorização da reversão.
validityPreAuthorization String Validade da pré-autorização.
terminalAcquirerSpecificId String Identificador específico do adquirente no terminal.
softDescriptor String Descrição do produto ou serviço.
transactionType String Tipo da transação (ex: venda, cancelamento).
transactionDesc String Descrição da transação.
plainTextPan String Número do cartão em texto simples.
cardBrandId Long ID da marca do cartão.
paymentAppVersionCode Integer Código da versão do aplicativo de pagamento.
planId String ID do plano associado à transação.
productShortName String Nome abreviado do produto.
accountTypeId String Tipo de conta associada à transação.
reversable Boolean Indica se a transação é reversível.
acquirerResponseCode String Código de resposta do adquirente.
merchantCode String Código do comerciante.
batchId Long ID do lote.
devolution Boolean Indica se a transação é uma devolução.
allowVeps Boolean Indica se é permitido o VEPS (Virtual Electronic Payment System).
vepsContactLimit String Limite de contato VEPS.
lastUpdate Date Data da última atualização.
acquirerNsu String NSU do adquirente.
cardHolderNameExtended String Nome completo do titular do cartão.
doc String Documento do titular do cartão.
originalAcquirerNsu String NSU original do adquirente.
acquirerResponseDate Date Data da resposta do adquirente.
acquirerResponseMessage String Mensagem de resposta do adquirente.
acquirerResponseSuccessMessage String Mensagem de sucesso do adquirente.
acquirerReverseResponseCode String Código de resposta da reversão do adquirente.
acquirerReverseResponseDate Date Data da resposta de reversão do adquirente.
additionalValueType Integer Tipo de valor adicional da transação.
authorizedOriginalValue BigDecimal Valor original autorizado da transação.
balance String Saldo após a transação.
cashbackValue BigDecimal Valor do cashback associado à transação.
correlationId String ID de correlação da transação.
cvv String Código de segurança do cartão.
cvvLegibleType String Tipo legível do CVV.
dni String Documento Nacional de Identidade.
finalApplicationCryptogram String Criptograma final da aplicação.
hasCardData Boolean Indica se os dados do cartão estão presentes.
initializeAfterPayment Boolean Indica se o sistema deve ser inicializado após o pagamento.
installmenPlanDescription String Descrição do plano de parcelas.
issuerName String Nome do emissor do cartão.
maskFirst6Digits Boolean Indica se os primeiros 6 dígitos do cartão devem ser mascarados.
merchantPhoneNumber String Número de telefone do comerciante.
notes String Notas adicionais relacionadas à transação.
originalAC String Código de autorização original.
originalAID String AID original da transação.
originalAuto String Código original do terminal de automação.
originalDate String Data original da transação.
originalHour String Hora original da transação.
originalTerm String Terminal original de onde a transação foi realizada.
originalTicketNumber String Número do ticket original.
originalValue String Valor original da transação.
pan String Número completo do cartão (PAN).
payerDataName String Nome do pagador.
paymentPrintedReceipt Boolean Indica se o recibo de pagamento foi impresso.
paymentUuid String UUID do pagamento.
printMessage String Mensagem a ser exibida na impressão do recibo.
printParcialPan Boolean Indica se o PAN parcial deve ser impresso no recibo.
qrDiscountedValue BigDecimal Valor com desconto em transações via QR code.
qrId Long ID do QR code gerado para a transação.
qrOriginalValue BigDecimal Valor original da transação via QR code, antes do desconto.
rawAdditionalMessage String Mensagem adicional bruta fornecida pela transação.
receiptDisplayMessage String Mensagem a ser exibida no recibo.
receiptPrintMessage String Mensagem a ser impressa no recibo.
requestedTokenizeCard Boolean Indica se o cartão foi solicitado para tokenização.
restored Boolean Indica se a transação foi restaurada.
reversalBatchId Long ID do lote de reversão.
reversalPrintedReceipt Boolean Indica se o recibo da reversão foi impresso.
reversalSignature String Assinatura da reversão da transação.
reverseAcquirerNsu String NSU de reversão do adquirente.
saleCode String Código de venda associado à transação.
signature String Assinatura digital ou física associada à transação.
statisticAPNSIM String Informação estatística sobre o SIM no APN (Rede de Acesso à Pacote).
statisticBatteryPercentage String Percentual de bateria no dispositivo durante a transação.
statisticCommunicationType String Tipo de comunicação usada na transação (ex: Wi-Fi, 4G, etc.).
statisticLatitude String Latitude no momento da transação.
statisticLongitude String Longitude no momento da transação.
statisticOperatorSIM String Operadora do SIM card usado no dispositivo durante a transação.
statisticSIMSerialNumber String Número de série do SIM card utilizado.
statisticStrengthSIM String Força do sinal do SIM card.
statisticStrengthWireless String Força do sinal sem fio no momento da transação.
track1 String Dados da faixa 1 do cartão (usado em transações de cartões magnéticos).
track2 String Dados da faixa 2 do cartão (usado em transações de cartões magnéticos).
version Long Versão da transação ou do sistema.
trxType Integer Tipo de transação (por exemplo, compra, estorno, etc.).

PaymentServiceExecutionRequest

Nome Tipo Descrição
serviceStatus Integer Status do serviço.
serviceStatusDetail Integer Detalhamento do status do serviço.
serviceAcquirerStatus Integer Status do serviço no adquirente.
startDate Date Data de início do serviço ou transação.
finishDate Date Data de finalização do serviço ou transação.
clientRequestDate Date Data do pedido do cliente.
serviceType String Tipo de serviço (por exemplo, compra, estorno, etc.).
responseCode String Código de resposta do serviço ou transação.
responseMessage String Mensagem de resposta do serviço ou transação.
responseDate Date Data da resposta do serviço ou transação.
acquirerNsu String NSU (Número Sequencial Único) fornecido pelo adquirente.
processingCode String Código de processamento da transação.
mti Integer MTI (Message Type Indicator) da transação, que indica o tipo de mensagem.
authCode String Código de autorização da transação.
chipSerialNumber String Número de série do chip do cartão.
chipNameProvider String Nome do fornecedor do chip do cartão.
phastTransactionProviderId String ID do provedor da transação PHAST (sistema de pagamentos).
phastTransactionServiceSpecificId String ID específico do serviço da transação PHAST.
connectionType String Tipo de conexão usada na transação (ex: Wi-Fi, 4G, etc.).
statisticAPNSIM String Informação estatística sobre o SIM no APN (Rede de Acesso à Pacote).
statisticBatteryPercentage String Percentual de bateria no dispositivo durante a transação.
statisticCommunicationType String Tipo de comunicação usada na transação (ex: Wi-Fi, 4G, etc.).
statisticLatitude String Latitude no momento da transação.
statisticLongitude String Longitude no momento da transação.
statisticOperatorSIM String Operadora do SIM card usado no dispositivo durante a transação.
statisticStrengthSIM String Força do sinal do SIM card durante a transação.
statisticStrengthWireless String Força do sinal sem fio no momento da transação.
acquirerNsuAuthApi String NSU de autorização obtido via API do adquirente.
correlationId String ID de correlação entre a transação e outros sistemas envolvidos.
initializationType String Tipo de inicialização do processo de pagamento ou transação.
lastTryDay Date Data da última tentativa de processamento.
numberAttemptsDay Integer Número de tentativas realizadas no dia.
numberAttemptsTotal Integer Número total de tentativas realizadas.
paymentAppVersion String Versão do aplicativo de pagamento usado na transação.
paymentNotify Boolean Indica se a notificação de pagamento foi enviada ou não.
sdkResponseCode String Código de resposta do SDK para a transação.
sdkResponseMessage String Mensagem de resposta do SDK para a transação.
synced Boolean Indica se os dados foram sincronizados.
syncedAdditionalInfo Boolean Indica se as informações adicionais foram sincronizadas.
totalDays Integer Número total de dias envolvidos na transação ou serviço.
version Long Versão do sistema ou transação.

ReversalServiceExecutionRequest

Nome Tipo Descrição
serviceStatus Integer Status do serviço.
serviceStatusDetail Integer Detalhamento do status do serviço.
serviceAcquirerStatus Integer Status do serviço no adquirente.
startDate Date Data de início do serviço ou transação.
finishDate Date Data de finalização do serviço ou transação.
clientRequestDate Date Data do pedido do cliente.
serviceType String Tipo de serviço (por exemplo, compra, estorno, etc.).
responseCode String Código de resposta do serviço ou transação.
responseMessage String Mensagem de resposta do serviço ou transação.
responseDate Date Data da resposta do serviço ou transação.
acquirerNsu String NSU (Número Sequencial Único) fornecido pelo adquirente.
originalDate Date Data original da transação.
originalNsu String NSU original fornecido pela adquirente.
maskedPan String PAN (número do cartão) mascarado.
panLast4Digits String Últimos 4 dígitos do PAN (número do cartão).
aid String AID (Application Identifier) do cartão.
cardHolder String Nome do titular do cartão.
authCode String Código de autorização da transação.
captureType Integer Tipo de captura da transação (ex: captura total, captura parcial, etc.).
appLabel String Rótulo do aplicativo utilizado.
nsu Long NSU (Número Sequencial Único) gerado para a transação.
authAppVersion String Versão do aplicativo de autorização utilizado.
paymentAppVersion String Versão do aplicativo de pagamento utilizado.
requiredPassword Boolean Indica se a senha é necessária para a transação.
chipSerialNumber String Número de série do chip do cartão.
batchNumber Long Número do lote relacionado à transação.
synced Boolean Indica se os dados foram sincronizados.
chipNameProvider String Nome do fornecedor do chip do cartão.
connectionType String Tipo de conexão utilizada na transação (ex: Wi-Fi, 4G, etc.).
correlationId String ID de correlação entre a transação e outros sistemas envolvidos.
initializationType String Tipo de inicialização do processo de pagamento ou transação.
lastTryDay Date Data da última tentativa de processamento.
numberAttemptsDay Integer Número de tentativas realizadas no dia.
numberAttemptsTotal Integer Número total de tentativas realizadas.
sdkResponseCode String Código de resposta do SDK para a transação.
sdkResponseMessage String Mensagem de resposta do SDK para a transação.
statisticAPNSIM String Informação estatística sobre o SIM no APN (Rede de Acesso à Pacote).
statisticBatteryPercentage String Percentual de bateria no dispositivo durante a transação.
statisticCommunicationType String Tipo de comunicação utilizada na transação (ex: Wi-Fi, 4G, etc.).
statisticLatitude String Latitude no momento da transação.
statisticLongitude String Longitude no momento da transação.
statisticOperatorSIM String Operadora do SIM card usado no dispositivo durante a transação.
statisticStrengthSIM String Força do sinal do SIM card durante a transação.
statisticStrengthWireless String Força do sinal sem fio no momento da transação.
syncedAdditionalInfo Boolean Indica se informações adicionais foram sincronizadas.
ticketNumber Long Número do ticket relacionado à transação.
totalDays Integer Número total de dias envolvidos na transação ou serviço.
version Long Versão do sistema ou transação.

callback (PaymentCallback)

Nome Tipo Obrigatório Descrição
onSuccess Método para notificação em caso de sucesso.
onError Método para notificação em caso de falha.
ErrorData.paymentsResponseCode String Sim Código de resposta para o erro que ocorreu. Vide Códigos de Resposta
ErrorData.acquirerResponseCode String Não Código de resposta para o erro ocorrido retornado pela adquirente. Observe que apenas este erro será retornado se a transação não for autorizada pela adquirente.
ErrorData.responseMessage String Sim Mensagem descritiva da causa da não autorização. Se a transação foi negada pela adquirente, conterá a mensagem retornada pela adquirente.
ErrorData.acquirerAdditionalMessage String Não Mensagem enviada no campo 63 de resposta EPS, para ser impressa ou exibida no final do fluxo transacional. O aplicativo de pagamentos permanece responsável por exibir na tela ou verificar o conteúdo presente neste campo, mas também deve enviar o valor recebido para a aplicação integrada para que ela possa aplicar suas regras de negócios baseadas no conteúdo deste campo.

Exemplo

public class MyActivity extends Activity implements PaymentClient.PaymentCallback {

  private PaymentClient paymentClient;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_payment);

    paymentClient = new PaymentClientImpl();
  }

  @Override
  protected void onResume() {
    super.onResume();
    paymentClient.bind(this);
  }

  @Override
  protected void onDestroy() {
    try {
      paymentClient.unbind(this);
    } catch (Exception e) {
      Log.e(TAG, e.getMessage());
    }
    super.onDestroy();
  }

  public void doExecute() {

    InsertTransactionRequest insertTransactionRequest = new InsertTransactionRequest();
    //setar informações obrigatórias do request

    try {
      paymentClient.insertTransaction(insertTransactionRequest, this);
    } catch (ClientException e) {
      Log.e(TAG, "Error", e);
    }
  }

  @Override
  public void onError(ErrorData errorData) {
    Log.e(TAG, "Error: " + errorData.getResponseMessage());
  }

  @Override
  public void onSuccess(Object o) {
    Log.i(TAG, "Success!");
  }
}